diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2015-10-13 18:03:26 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2015-10-13 18:03:26 +0000 |
commit | 6a1cb428a494fec8d0d52f9c2840ed053706b9e9 (patch) | |
tree | e82fa887e8e06daa0355115a2b317898558e2871 /devel/android-tools-adb | |
parent | devel/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/Makefile | 15 | ||||
-rw-r--r-- | devel/android-tools-adb/files/Makefile | 29 |
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} |