diff options
author | jlam <jlam> | 2007-09-08 04:54:12 +0000 |
---|---|---|
committer | jlam <jlam> | 2007-09-08 04:54:12 +0000 |
commit | 03e85936ae1175791a88078f5610eddf6c630a81 (patch) | |
tree | aa4842164792ad49bbb729515d2946e0b3239a1c /mk | |
parent | 46c0e09c75a7204bc5bd79d7cd8cf24c284052a6 (diff) | |
download | pkgsrc-03e85936ae1175791a88078f5610eddf6c630a81.tar.gz |
* Teach the features framework about the fts_* family of functions.
* Teach the features framework how to create a replacement header file
from the <nbcompat/*> equivalent for fts.h, glob.h and regex.h.
Diffstat (limited to 'mk')
-rw-r--r-- | mk/features/features-vars.mk | 10 | ||||
-rw-r--r-- | mk/features/features.mk | 45 |
2 files changed, 50 insertions, 5 deletions
diff --git a/mk/features/features-vars.mk b/mk/features/features-vars.mk index bed2d0b7fac..30d72688be0 100644 --- a/mk/features/features-vars.mk +++ b/mk/features/features-vars.mk @@ -1,4 +1,4 @@ -# $NetBSD: features-vars.mk,v 1.1 2007/09/07 21:55:46 jlam Exp $ +# $NetBSD: features-vars.mk,v 1.2 2007/09/08 04:54:12 jlam Exp $ # # This file is include by bsd.prefs.mk. # @@ -37,6 +37,14 @@ MISSING_FEATURES+= ${_feature_} . endif .endfor +.for _feature_ in fts_close fts_open fts_read fts_set +. if defined(USE_FEATURES) && !empty(USE_FEATURES:M${_feature_}) +. if !exists(/usr/include/fts.h) +MISSING_FEATURES+= ${_feature_} +. endif +. endif +.endfor + .if defined(USE_FEATURES) && !empty(USE_FEATURES:Mgetopt_long) . if !exists(/usr/include/getopt.h) MISSING_FEATURES+= getopt_long diff --git a/mk/features/features.mk b/mk/features/features.mk index 37f8795dad1..de65a25f9d4 100644 --- a/mk/features/features.mk +++ b/mk/features/features.mk @@ -1,4 +1,4 @@ -# $NetBSD: features.mk,v 1.1 2007/09/07 21:55:47 jlam Exp $ +# $NetBSD: features.mk,v 1.2 2007/09/08 04:54:12 jlam Exp $ # # This file is included by bsd.pkg.mk. # @@ -29,7 +29,16 @@ FEATURE_CPPFLAGS= # empty FEATURE_LDFLAGS= # empty FEATURE_LIBS= # empty +CPPFLAGS+= ${FEATURE_CPPFLAGS} +LDFLAGS+= ${FEATURE_LDFLAGS} +LIBS+= ${FEATURE_LIBS} + +_FEATURE_USE_NBCOMPAT?= no . if !empty(MISSING_FEATURES:Merr) || \ + !empty(MISSING_FEATURES:Mfts_close) || \ + !empty(MISSING_FEATURES:Mfts_open) || \ + !empty(MISSING_FEATURES:Mfts_read) || \ + !empty(MISSING_FEATURES:Mfts_set) || \ !empty(MISSING_FEATURES:Mgetopt_long) || \ !empty(MISSING_FEATURES:Mglob) || \ !empty(MISSING_FEATURES:Mnbcompat) || \ @@ -38,13 +47,41 @@ FEATURE_LIBS= # empty !empty(MISSING_FEATURES:Mutimes) || \ !empty(MISSING_FEATURES:Mvsnprintf) || \ !empty(MISSING_FEATURES:Mwarn) -_FEATURE_NEED_NBCOMPAT= yes +_FEATURE_USE_NBCOMPAT= yes . endif -_FEATURE_NEED_NBCOMPAT?= no -. if ${_FEATURE_NEED_NBCOMPAT} == "yes" +. if ${_FEATURE_USE_NBCOMPAT} == "yes" . include "${PKGSRCDIR}/pkgtools/libnbcompat/inplace.mk" +FEATURE_CPPFLAGS+= ${CPPFLAGS.nbcompat} +FEATURE_LDFLAGS+= ${LDFLAGS.nbcompat} FEATURE_LIBS+= ${LDADD.nbcompat} . endif +. if (${_FEATURE_USE_NBCOMPAT} == "yes") && \ + (!empty(MISSING_FEATURES:Mfts_close) || \ + !empty(MISSING_FEATURES:Mfts_open) || \ + !empty(MISSING_FEATURES:Mfts_read) || \ + !empty(MISSING_FEATURES:Mfts_set)) +BUILDLINK_TARGETS+= features-fts-h +. endif +. if (${_FEATURE_USE_NBCOMPAT} == "yes") && !empty(MISSING_FEATURES:Mglob) +BUILDLINK_TARGETS+= features-glob-h +. endif +. if (${_FEATURE_USE_NBCOMPAT} == "yes") && !empty(MISSING_FEATURES:Mregex) +BUILDLINK_TARGETS+= features-regex-h +. endif + +. for _file_ in fts.h glob.h regex.h +.PHONY: features-${_file_:S/./-/} +features-${_file_:S/./-/}: + ${RUN}set -e; \ + nbcompat_header=${LIBNBCOMPAT_SRCDIR:Q}/nbcompat/${_file_:Q}; \ + header=${BUILDLINK_DIR:Q}/include/${_file_:Q}; \ + if ${TEST} ! -f "$$header" -a -f "$$nbcompat_header"; then \ + ${ECHO_BUILDLINK_MSG} "Creating $$header."; \ + ${MKDIR} `${DIRNAME} "$$header"`; \ + ${LN} -s "$$nbcompat_header" "$$header"; \ + fi +. endfor + .endif # MISSING_FEATURES |