summaryrefslogtreecommitdiff
path: root/devel/android-tools-adb
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2015-10-13 18:03:26 +0000
committerJan Beich <jbeich@FreeBSD.org>2015-10-13 18:03:26 +0000
commit6a1cb428a494fec8d0d52f9c2840ed053706b9e9 (patch)
treee82fa887e8e06daa0355115a2b317898558e2871 /devel/android-tools-adb
parentdevel/android-tools-adb: explicitly include stdint.h for intptr_t (diff)
devel/android-tools-*: slightly improve standalone build
- Try to derive {ADB,FASTBOOT}_REVISION from git(1) - Use pkg-config for libcrypto/libpcre/libusb (e.g. if they aren't in base) - Convert PORTDOCS into FILES (bsd.port.mk vs. bsd.prog.mk) - Partially convert to new testing framework - Put -lpthread last as enforced by base r274849 but prevent := assignment from mucking $ escaping in $() - |make clean| to clean files built by test target - Move up bsd.prog.mk in order to use ${PROG} and ${OBJS} defined in it
Diffstat (limited to 'devel/android-tools-adb')
-rw-r--r--devel/android-tools-adb/Makefile15
-rw-r--r--devel/android-tools-adb/files/Makefile29
2 files changed, 33 insertions, 11 deletions
diff --git a/devel/android-tools-adb/Makefile b/devel/android-tools-adb/Makefile
index 783ee88e2925..419385a7bb18 100644
--- a/devel/android-tools-adb/Makefile
+++ b/devel/android-tools-adb/Makefile
@@ -36,25 +36,28 @@ USES= compiler:c++11-lib uidfix
USE_OPENSSL= yes
BUILD_WRKSRC= ${WRKSRC}/adb
INSTALL_WRKSRC= ${BUILD_WRKSRC}
+TEST_WRKSRC= ${BUILD_WRKSRC}
MAKEFILE= ${FILESDIR}/Makefile
-MAKE_ENV= BINDIR="${PREFIX}/bin" FILESDIR="${FILESDIR}"
+MAKE_ENV= BINDIR="${PREFIX}/bin" EXTRADIR="${FILESDIR}" \
+ FILESDIR="${DOCSDIR}" REVISION="${GH_REVISION}"
ALL_TARGET= all
-CPPFLAGS+= -DADB_REVISION='\"${GH_REVISION}-android\"'
+TEST_TARGET= test
PLIST_FILES= bin/adb \
%%BASH%%etc/bash_completion.d/adb
-PORTDOCS= *.txt *.TXT
+PORTDOCS= *
OPTIONS_DEFINE+=BASH DOCS TEST
OPTIONS_SUB= yes
BASH_VARS= LICENSE+=MIT LICENSE_COMB=multi # debian/copyright
+DOCS_MAKE_ARGS_OFF= FILES="" FILESDIR=""
+
TEST_BUILD_DEPENDS= googletest>=1.6.0:${PORTSDIR}/devel/googletest
TEST_ALL_TARGET= adb_test
-pre-install-TEST-on:
- ${BUILD_WRKSRC}/adb_test
+pre-install-TEST-on: do-test
post-patch:
# XXX C++ exception with description "regex_error" thrown in the test body.
@@ -73,8 +76,6 @@ post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/${PLIST_FILES:M%%BASH%%*:C/%%.*%%//:H}
${INSTALL_DATA} ${_DISTDIR}/${DISTFILES:M*\:bashcomp:C/:.*//} \
${STAGEDIR}${PREFIX}/${PLIST_FILES:M%%BASH%%*:C/%%.*%%//}
- (cd ${INSTALL_WRKSRC} && ${COPYTREE_SHARE} \
- "${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
update-revision:
# https://developer.github.com/v3/repos/commits/#get-a-single-commit
diff --git a/devel/android-tools-adb/files/Makefile b/devel/android-tools-adb/files/Makefile
index 292beacb4ff1..62f339bc4b55 100644
--- a/devel/android-tools-adb/files/Makefile
+++ b/devel/android-tools-adb/files/Makefile
@@ -3,6 +3,9 @@
PROG_CXX=adb
NO_MAN=
BINDIR?=/usr/bin
+FILESDIR?=${DOCDIR}/${PROG}
+
+FILES= *.[Tt][Xx][Tt]
SRCS+= adb.cpp
SRCS+= adb_auth.cpp
@@ -26,7 +29,7 @@ TEST_SRCS+= adb_io_test.cpp
TEST_SRCS+= adb_utils_test.cpp
TEST_SRCS+= transport_test.cpp
-.PATH: ${FILESDIR}
+.PATH: ${EXTRADIR}
SRCS+= get_my_path_freebsd.cpp
SRCS+= usb_libusb.cpp
@@ -58,6 +61,9 @@ SRCS+= fake_log_device.c
SRCS+= logd_write.c
CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1
+REVISION?= $$(${GIT} rev-parse --short=12 HEAD 2>/dev/null || echo unknown)
+
+CPPFLAGS+= -DADB_REVISION="\"${REVISION}-android\""
CPPFLAGS+= -DADB_HOST=1
CPPFLAGS+= -DHAVE_FORKEXEC=1
CPPFLAGS+= -DHAVE_SYMLINKS
@@ -68,6 +74,8 @@ CPPFLAGS+= -I${.CURDIR}
CPPFLAGS+= -I${.CURDIR}/../include
CPPFLAGS+= -I${.CURDIR}/../base/include
CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}}
+CPPFLAGS+= $$(${PKG_CONFIG} libcrypto --cflags 2>/dev/null)
+CPPFLAGS+= $$(${PKG_CONFIG} libusb-1.0 --cflags 2>/dev/null)
CXXFLAGS+= -std=gnu++11
.ifndef COMPILE.c
@@ -80,13 +88,26 @@ TEST_CPPFLAGS+= $$(${GTEST_CONFIG} --cppflags)
CPPFLAGS.${f}+= ${TEST_CPPFLAGS}
.endfor
-LDADD+= -lcrypto -lpthread -lusb -lz
+LDADD+= $$(${PKG_CONFIG} libcrypto --libs 2>/dev/null || echo -lcrypto)
+LDADD+= $$(${PKG_CONFIG} libusb-1.0 --libs 2>/dev/null || echo -lusb)
+LDADD+= -lz \-lpthread
DPADD+= ${LIBCRYPTO} ${LIBPTHREAD} ${LIBUSB} ${LIBZ}
TEST_LDADD+= $$(${GTEST_CONFIG} --libs --ldflags)
+TEST_OBJS+= ${TEST_SRCS:R:S/$/.o/}
+CLEANFILES+= ${PROG}_test ${TEST_OBJS}
+
+GIT?= git
GTEST_CONFIG?= gtest-config
+PKG_CONFIG?= pkg-config
-adb_test: ${SRCS:R:S/$/.o/:Nadb_main.o:Ncommandline.o} ${TEST_SRCS:R:S/$/.o/}
- ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD}
+beforeinstall:
+ ${INSTALL} -d ${DESTDIR}${FILESDIR}
.include <bsd.prog.mk>
+
+test: ${PROG}_test
+ @for f in ${.ALLSRC}; do ./$$f; done
+
+${PROG}_test: ${OBJS:Nadb_main.o:Ncommandline.o} ${TEST_OBJS}
+ ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD}