smake/star: Honor CPPFLAGS, CFLAGS and LDFLAGS

This fixes the "missing RELRO" error.
This commit is contained in:
Michael Baeuerle 2018-10-02 18:15:33 +02:00
parent 14511ae624
commit 34cf7a4a90
5 changed files with 19 additions and 13 deletions

View File

@ -14,6 +14,9 @@ MAKE_JOBS_SAFE= no
MAKE_FLAGS+= GMAKE_NOWARN=true
USE_TOOLS+= gmake
MAKE_FLAGS+= DESTDIR=${DESTDIR:Q} INS_BASE=${PREFIX:Q} DEFMANBASE=. MANDIR=${PKGMANDIR:Q}
# Honor CPPFLAGS, CFLAGS and LDFLAGS
MAKE_FLAGS+= CPPOPTX=${CPPFLAGS:Q} COPTX=${CFLAGS:Q} LDOPTX=${LDFLAGS:Q}
.include "../../mk/bsd.prefs.mk"
@ -21,7 +24,7 @@ USE_TOOLS+= gmake
.include "../../wip/smake/Makefile.common"
SUBST_CLASSES+= man
SUBST_STAGE.man= post-patch
SUBST_STAGE.man= pre-configure
SUBST_FILES.man= smake/smake.1
SUBST_SED.man= -e "s,/opt/schily/share/lib/smake/defaults.smk,${PREFIX}/share/lib/smake/defaults.smk,g"
SUBST_MESSAGE.man= Fix path for default rules in manpage.
@ -35,8 +38,6 @@ do-build:
# Documentation is in ${WRKSRC}/README.compile
do-install:
cd ${WRKSRC}/smake && ${MAKE_PROGRAM} ${MAKE_FLAGS} \
INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR} \
DESTDIR=${DESTDIR} install
cd ${WRKSRC}/smake && ${MAKE_PROGRAM} ${MAKE_FLAGS} install
.include "../../mk/bsd.pkg.mk"

View File

@ -24,7 +24,7 @@ pre-configure:
printf "Create OS rules...\n"
cd ${WRKSRC}/RULES && . ${WRKSRC}/RULES/MKLINKS
printf "Create pkgsrc OS rules...\n"
cd ${WRKSRC}/RULES && unset r ; \
cd ${WRKSRC}/RULES && unset r ; \
for i in arm mipsel x86_64 sparc64 powerpc ; \
do \
r="$$r i386-netbsd-gcc.rul@$$i-netbsd-gcc.rul" ; \
@ -45,17 +45,17 @@ pre-configure:
existing=`printf "%s\\n" $$i | ${SED} -e 's/@.*//'` ; \
target=`printf "%s\\n" $$i | ${SED} -e 's/.*@//'` ; \
printf "%s " "$$target"; \
if ! ${TEST} -e "$$existing" ; \
then \
if ${TEST} -e "$$existing" ; then : ; \
else \
printf "(Link target %s not present)\n" \
"$$existing"; \
continue ; \
fi; \
if ! ${TEST} -e "$$target" ; \
if ${TEST} -e "$$target" ; \
then \
printf "(already present)\n" ; \
else \
${LN} -s "$$existing" "$$target" ; \
printf "(created)\n" ; \
else \
printf "(already present)\n" ; \
fi; \
done

View File

@ -7,6 +7,7 @@
[X] Test with clang compiler
[X] Add smake as tool for use with USE_TOOLS
=> Idea rejected, use it via TOOL_DEPENDS.
[X] Honor CPPFLAGS, CFLAGS and LDFLAGS
[ ] Test with Intel compiler
[ ] Test commercial UNIX compilers

View File

@ -16,7 +16,9 @@ MAKE_JOBS_SAFE= no
USE_TOOLS+= tbl
TOOL_DEPENDS+= smake-[0-9]*:../../wip/smake
SMAKE= MAKEFLAGS= smake
MAKE_FLAGS+= DESTDIR=${DESTDIR} INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR}
MAKE_FLAGS+= DESTDIR=${DESTDIR:Q} INS_BASE=${PREFIX:Q} DEFMANBASE=. MANDIR=${PKGMANDIR:Q}
# Honor CPPFLAGS, CFLAGS and LDFLAGS
MAKE_FLAGS+= CPPOPTX=${CPPFLAGS:Q} COPTX=${CFLAGS:Q} LDOPTX=${LDFLAGS:Q}
# The default location is /etc/default/star
# We patch the documentation appropriately. Additionally, we also provide a
@ -33,7 +35,7 @@ CONF_FILES= ${PREFIX}/share/examples/star/star ${STAR_CONF}
AUTO_MKDIRS= yes
SUBST_CLASSES+= fix
SUBST_STAGE.fix= post-patch
SUBST_STAGE.fix= pre-configure
SUBST_FILES.fix+= star/star.1
SUBST_FILES.fix+= star/star.dfl
SUBST_FILES.fix+= star/defaults.c
@ -58,7 +60,8 @@ do-build:
# Process tables in manpage
post-build:
cd ${WRKSRC} && if ! ${TEST} -f star/pkgsrc_tbl.done; then \
cd ${WRKSRC} && if ${TEST} -f star/pkgsrc_tbl.done; then :; \
else \
${TBL} star/spax.1 >star/spax.1.tmp && \
${MV} -f star/spax.1.tmp star/spax.1 && \
${TBL} star/star.4 >star/star.4.tmp && \

View File

@ -1,3 +1,4 @@
[X] Compilation works
[X] Installation rule and PLIST
[X] Use defaults file from ${PKG_SYSCONFDIR} and modify documentation
[X] Honor CPPFLAGS, CFLAGS and LDFLAGS