Changeset View
Changeset View
Standalone View
Standalone View
head/devel/abi-compliance-checker/Makefile
# Created by: bf <bf@FreeBSD.org> | # Created by: bf <bf@FreeBSD.org> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= abi-compliance-checker | PORTNAME= abi-compliance-checker | ||||
PORTVERSION= 1.99 | DISTVERSION= 2.0b1 | ||||
PORTREVISION= 1 | |||||
CATEGORIES= devel perl5 | CATEGORIES= devel perl5 | ||||
MASTER_SITES= LOCAL/bf/${PORTNAME} | |||||
MAINTAINER= ports@FreeBSD.org | MAINTAINER= ports@FreeBSD.org | ||||
COMMENT= Checks binary compatibility of two versions of a C/C++ shared library | COMMENT= Checks binary compatibility of two versions of a C/C++ shared library | ||||
LICENSE= LGPL20 GPLv2 | LICENSE= LGPL20 GPLv2 | ||||
LICENSE_COMB= dual | LICENSE_COMB= dual | ||||
USES= perl5 shebangfix | RUN_DEPENDS= exctags:devel/ctags | ||||
SHEBANG_FILES= *.pl | RUN_DEPENDS+= eu-readelf:devel/elfutils | ||||
USE_GITHUB= yes | |||||
GH_ACCOUNT= lvc | |||||
.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING) | OPTIONS_DEFINE= DOCS PORTS_BINUTILS | ||||
BUILD_DEPENDS?= exctags:devel/ctags | PORTS_BINUTILS_DESC= Use binutils from ports | ||||
.else | |||||
USES= gmake perl5 shebangfix | |||||
USE_PERL5= run | USE_PERL5= run | ||||
.endif | |||||
RUN_DEPENDS?= exctags:devel/ctags | |||||
USE_GCC= any | |||||
NO_BUILD= yes | USE_GITHUB= nodefault | ||||
PLIST_FILES= bin/${PORTNAME}.pl | GH_ACCOUNT= lvc | ||||
GH_PROJECT= vtable-dumper:vdumper abi-dumper:adumper \ | |||||
abi-compliance-checker:checker | |||||
GH_TAGNAME= 0e04246:vdumper 46aae79:adumper a6554a1:checker | |||||
OPTIONS_DEFINE= DOCS | PLIST_FILES= bin/${PORTNAME}.pl bin/abi-dumper.pl bin/vtable-dumper | ||||
SHEBANG_FILES= checker/*.pl adumper/*.pl | |||||
PORTDATA= * | |||||
PORTDOCS= * | |||||
CTAGS?= exctags | |||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
.if ${PORT_OPTIONS:MPORTS_BINUTILS} | |||||
RUN_DEPENDS+= readelf:devel/binutils | |||||
CPPFILT?= ${PREFIX}/bin/c++filt | |||||
READELF?= ${PREFIX}/bin/readelf | |||||
OBJDUMP?= ${PREFIX}/bin/objdump | |||||
.else | |||||
CPPFILT?= /usr/bin/c++filt | CPPFILT?= /usr/bin/c++filt | ||||
CTAGS?= exctags | .endif | ||||
GZ?= /usr/bin/gzip | |||||
READELF?= /usr/bin/readelf | |||||
.if ${ARCH} == "sparc64" | .if ${ARCH} == "sparc64" | ||||
PICFLAG?= -fPIC | PICFLAG?= -fPIC | ||||
.else | .else | ||||
PICFLAG?= -fpic | PICFLAG?= -fpic | ||||
.endif | .endif | ||||
PORTDATA= * | post-extract: | ||||
@${MKDIR} ${WRKSRC} | |||||
@${MV} ${WRKSRC_vdumper} ${WRKSRC}/vdumper | |||||
@${MV} ${WRKSRC_adumper} ${WRKSRC}/adumper | |||||
@${MV} ${WRKSRC_checker} ${WRKSRC}/checker | |||||
PORTDOCS= * | do-build: | ||||
cd ${WRKSRC}/vdumper && \ | |||||
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS} | |||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} \ | @${REINPLACE_CMD} \ | ||||
-e "\|get_CmdPath(\"c++filt\")|s|\"c++filt\"|\"${CPPFILT}\"|" \ | -e "\|get_CmdPath(\"c++filt\")|s|\"c++filt\"|\"${CPPFILT}\"|" \ | ||||
-e "\|get_CmdPath(\"ectags\")|s|\"ectags\"|\"${CTAGS}\"|" \ | -e "\|get_CmdPath(\"ectags\")|s|\"ectags\"|\"${CTAGS}\"|" \ | ||||
-e "\|get_CmdPath(\"gcc\")|s|\"gcc\"|\"${CC}\"|" \ | -e "\|get_CmdPath(\"gcc\")|s|\"gcc\"|\"${CC}\"|" \ | ||||
-e "\|get_CmdPath(\"objdump\")|s|\"objdump\"|\"${OBJDUMP}\"|" \ | -e "\|get_CmdPath(\"objdump\")|s|\"objdump\"|\"${OBJDUMP}\"|" \ | ||||
-e "\|get_CmdPath(\"readelf\")|s|\"readelf\"|\"${READELF}\"|" \ | -e "\|get_CmdPath(\"readelf\")|s|\"readelf\"|\"${READELF}\"|" \ | ||||
-e "\|my \$$GzipCmd =|s|=.*|= \"${GZ}\";|" \ | -e "\|my \$$GzipCmd =|s|=.*|= \"${GZIP_CMD}\";|" \ | ||||
-e "\|my \$$TarCmd =|s|=.*|= \"${TAR}\";|" \ | -e "\|my \$$TarCmd =|s|=.*|= \"${TAR}\";|" \ | ||||
-e "\|TarCmd -xv.*>|{h; s| >.*|\");|; x; s|-xv|-t|; G;}" \ | -e "\|TarCmd -xv.*>|{h; s| >.*|\");|; x; s|-xv|-t|; G;}" \ | ||||
-e "s|ACC_MODULES_INSTALL_PATH|${DATADIR}|" \ | -e "s|ACC_MODULES_INSTALL_PATH|${DATADIR}|" \ | ||||
${WRKSRC}/${PORTNAME}.pl | ${WRKSRC}/checker/${PORTNAME}.pl | ||||
@${SED} -i "" -e "\|BuildCmd|s|GCC_PATH.\"|& ${PICFLAG}|" \ | @${SED} -i "" -e "\|BuildCmd|s|GCC_PATH.\"|& ${PICFLAG}|" \ | ||||
${WRKSRC}/modules/Internals/RegTests.pm | ${WRKSRC}/checker/modules/Internals/RegTests.pm | ||||
do-install: | do-install: | ||||
@${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME}.pl ${STAGEDIR}${PREFIX}/bin | ${INSTALL_PROGRAM} ${WRKSRC}/vdumper/vtable-dumper \ | ||||
${STAGEDIR}${PREFIX}/bin | |||||
${INSTALL_SCRIPT} ${WRKSRC}/adumper/abi-dumper.pl \ | |||||
${STAGEDIR}${PREFIX}/bin | |||||
${INSTALL_SCRIPT} ${WRKSRC}/checker/${PORTNAME}.pl \ | |||||
${STAGEDIR}${PREFIX}/bin | |||||
@${MKDIR} ${STAGEDIR}${DOCSDIR} | @${MKDIR} ${STAGEDIR}${DOCSDIR} | ||||
@(cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}) | (cd ${WRKSRC}/checker/doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}) | ||||
@${MKDIR} ${STAGEDIR}${DATADIR} | @${MKDIR} ${STAGEDIR}${DATADIR} | ||||
@(cd ${WRKSRC} && ${COPYTREE_SHARE} \ | (cd ${WRKSRC}/checker && ${COPYTREE_SHARE} \ | ||||
"modules/Internals modules/*.xml modules/Targets/unix" ${STAGEDIR}${DATADIR}) | "modules/Internals modules/*.xml" ${STAGEDIR}${DATADIR}) | ||||
.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING) | |||||
check regression-test test: build | |||||
cd ${WRKSRC}; \ | |||||
${PERL} ./${PORTNAME}.pl -test; \ | |||||
${PERL} ./${PORTNAME}.pl -test-dump | |||||
.endif | |||||
.include <bsd.port.mk> | .include <bsd.port.mk> |