[BACK]Return to features.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / mk / features

File: [cvs.NetBSD.org] / pkgsrc / mk / features / features.mk (download)

Revision 1.6, Mon Jan 14 23:06:26 2008 UTC (16 years, 3 months ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2, pkgsrc-2010Q1-base, pkgsrc-2010Q1, pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2, pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, pkgsrc-2008Q1-base, pkgsrc-2008Q1, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.5: +2 -2 lines

Make setenv(3) a libnbcompat-provided feature.

# $NetBSD: features.mk,v 1.6 2008/01/14 23:06:26 tnn Exp $
#
# This file is included by bsd.pkg.mk.
#
# Variables defined by this file:
#
# FEATURE_CPPFLAGS
# FEATURE_LDFLAGS
# FEATURE_LIBS
#	Preprocessor and linker flags needed to build and to link against
#	the headers and libraries that supply the features missing from
#	the system.
#

.if defined(MISSING_FEATURES)
#
#	Handle "inet6" feature specially -- "inet6" could be in
#	MISSING_FEATURES even though it's not requested in USE_FEATURES
#	so check that it appears in both before failing the package
#	build.
#
.  if !empty(USE_FEATURES:Minet6)
.    if !empty(MISSING_FEATURES:Minet6)
PKG_FAIL_REASON+=	"${PKGNAME} requires IPv6 support"
.    endif
.  endif

FEATURE_CPPFLAGS=	# empty
FEATURE_LDFLAGS=	# empty
FEATURE_LIBS=		# empty

CPPFLAGS+=		${FEATURE_CPPFLAGS}
LDFLAGS+=		${FEATURE_LDFLAGS}
LIBS+=			${FEATURE_LIBS}

# libnbcompat provides many of the current features.
#
_FEATURE_USE_NBCOMPAT?=	no
.  for f in asprintf err fts_close fts_open fts_read fts_set getopt_long glob nbcompat regcomp setenv snprintf utimes vsnprintf warn
.    if !empty(MISSING_FEATURES:M${f})
_FEATURE_USE_NBCOMPAT=	yes
.    endif
.  endfor

.  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:Mregcomp)
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