diff options
author | jlam <jlam> | 2002-08-07 06:10:32 +0000 |
---|---|---|
committer | jlam <jlam> | 2002-08-07 06:10:32 +0000 |
commit | 67cf798c55c9c044112908daa6c14599fd3165a5 (patch) | |
tree | 6a4bcdaefbca611c5858b32f72cc017cc3ad3a52 /devel | |
parent | 0ee731f839c318bb9b323851bd98eb3015ab9782 (diff) | |
download | pkgsrc-67cf798c55c9c044112908daa6c14599fd3165a5.tar.gz |
Create new variables INCOMPAT_ZLIB, INCOMPAT_BZIP2, INCOMPAT_READLINE,
INCOMPAT_GETTEXT that are analogous to INCOMPAT_ICONV and contain lists of
shell wildcards intended to match against ${MACHINE_PLATFORM}. These
variables are used to note those platforms that have the named packages in
the base system but are incompatible in some way from the pkgsrc version
of the same package. Change INCOMPAT_CURSES to have the same sematics as
above. These variables allow much greater precision in specifying which
platforms have broken (for the purposes of pkgsrc) versions of software in
the base system that must be ignored.
The buildlink.mk files for these packages define private _INCOMPAT_*
versions of these variables, and they contain the default lists of
platforms that are known to have incompatible software bits.
This addresses pkg/17775 submitted by Julien T. Letessier
<julien.letessier at sun dot com>.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/gettext-lib/buildlink.mk | 42 | ||||
-rw-r--r-- | devel/ncurses/buildlink.mk | 65 | ||||
-rw-r--r-- | devel/readline/buildlink.mk | 62 | ||||
-rw-r--r-- | devel/zlib/buildlink.mk | 20 |
4 files changed, 105 insertions, 84 deletions
diff --git a/devel/gettext-lib/buildlink.mk b/devel/gettext-lib/buildlink.mk index 2ad97f2e98b..b2ac03255ac 100644 --- a/devel/gettext-lib/buildlink.mk +++ b/devel/gettext-lib/buildlink.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink.mk,v 1.13 2002/02/21 12:08:32 wiz Exp $ +# $NetBSD: buildlink.mk,v 1.14 2002/08/07 06:10:33 jlam Exp $ # # This Makefile fragment is included by packages that use gettext. # @@ -21,10 +21,23 @@ BUILDLINK_DEPENDS.gettext?= gettext-lib>=0.10.35nb1 .if defined(USE_GNU_GETTEXT) _NEED_GNU_GETTEXT= YES -.elif exists(/usr/include/libintl.h) -_NEED_GNU_GETTEXT= NO .else +. if exists(/usr/include/libintl.h) +_NEED_GNU_GETTEXT= NO +. else +_NEED_GNU_GETTEXT= YES +. endif +# +# Solaris has broken (for the purposes of pkgsrc) version of zlib and +# gettext. +# +_INCOMPAT_GETTEXT= SunOS-*-* +INCOMPAT_GETTEXT?= # empty +. for _pattern_ in ${_INCOMPAT_GETTEXT} ${INCOMPAT_GETTEXT} +. if !empty(MACHINE_PLATFORM:M${_pattern_}) _NEED_GNU_GETTEXT= YES +. endif +. endfor .endif .if ${_NEED_GNU_GETTEXT} == "YES" @@ -41,26 +54,23 @@ BUILDLINK_FILES.gettext+= lib/libintl.* BUILDLINK_TARGETS.gettext= gettext-buildlink BUILDLINK_TARGETS+= ${BUILDLINK_TARGETS.gettext} -.include "../../mk/bsd.prefs.mk" - -.if ${OPSYS} != "Linux" -.if defined(GNU_CONFIGURE) -# # Add -lintl to LIBS in CONFIGURE_ENV to work around broken gettext.m4: # gettext.m4 does not add -lintl where it should, and the resulting # configure script fails to detect if libintl.a is the genuine GNU gettext # or not. # -INTLLIBS= -L${BUILDLINK_DIR}/lib +_BLNK_INTLLIBS= # empty .if ${_NEED_GNU_GETTEXT} == "YES" -.if ${_USE_RPATH} == "yes" -INTLLIBS+= -Wl,-R${BUILDLINK_PREFIX.gettext}/lib -.endif -.endif -INTLLIBS+= -lintl -LIBS+= ${INTLLIBS} -CONFIGURE_ENV+= INTLLIBS="${INTLLIBS}" +_BLNK_INTLLIBS+= -L${BUILDLINK_DIR}/lib +. if ${_USE_RPATH} == "yes" +_BLNK_INTLLIBS+= -Wl,-R${BUILDLINK_PREFIX.gettext}/lib +. endif .endif +_BLNK_INTLLIBS+= -lintl +.if defined(GNU_CONFIGURE) +INTLLIBS= ${_BLNK_INTLLIBS} +LIBS+= ${INTLLIBS} +CONFIGURE_ENV+= INTLLIBS="${INTLLIBS}" .endif pre-configure: ${BUILDLINK_TARGETS.gettext} diff --git a/devel/ncurses/buildlink.mk b/devel/ncurses/buildlink.mk index 9617e3e8bb7..80325b14729 100644 --- a/devel/ncurses/buildlink.mk +++ b/devel/ncurses/buildlink.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink.mk,v 1.18 2002/01/31 14:50:37 jlam Exp $ +# $NetBSD: buildlink.mk,v 1.19 2002/08/07 06:10:33 jlam Exp $ # # This Makefile fragment is included by packages that use ncurses. # @@ -24,26 +24,31 @@ BUILDLINK_DEPENDS.ncurses?= ncurses>=5.0 .if defined(USE_NCURSES) _NEED_NCURSES= YES .else -.include "../../mk/bsd.prefs.mk" _NEED_NCURSES= NO -.if ${OPSYS} == "NetBSD" -_INCOMPAT_CURSES= 0.* 1.[0123]* 1.4.* 1.4[A-X] ${INCOMPAT_CURSES} -.for PATTERN in ${_INCOMPAT_CURSES} -.if ${OS_VERSION:M${PATTERN}} != "" -_NEED_NCURSES= YES -.endif -.endfor -.else -.if ${OPSYS} != "SunOS" +# +# These versions of NetBSD didn't have a curses library that was capable of +# replacing ncurses. +# +_INCOMPAT_CURSES= NetBSD-0.*-* NetBSD-1.[0123]*-* +_INCOMPAT_CURSES+= NetBSD-1.4.*-* NetBSD-1.4[A-X]-* +INCOMPAT_CURSES?= # empty +. for _pattern_ in ${_INCOMPAT_CURSES} ${INCOMPAT_CURSES} +. if !empty(MACHINE_PLATFORM:M${_pattern_}) _NEED_NCURSES= YES -.endif -.endif +. endif +. endfor .endif .if ${_NEED_NCURSES} == "YES" EVAL_PREFIX+= BUILDLINK_PREFIX.ncurses=ncurses BUILDLINK_PREFIX.ncurses_DEFAULT= ${LOCALBASE} -BUILDLINK_FILES.ncurses= include/cursesapp.h +DEPENDS+= ${BUILDLINK_DEPENDS.ncurses}:../../devel/ncurses +.else +BUILDLINK_PREFIX.ncurses= /usr +.endif + +BUILDLINK_FILES.ncurses+= include/curses.h +BUILDLINK_FILES.ncurses+= include/cursesapp.h BUILDLINK_FILES.ncurses+= include/cursesf.h BUILDLINK_FILES.ncurses+= include/cursesm.h BUILDLINK_FILES.ncurses+= include/cursesp.h @@ -63,30 +68,20 @@ BUILDLINK_FILES.ncurses+= lib/libmenu.* BUILDLINK_FILES.ncurses+= lib/libncurses++.* BUILDLINK_FILES.ncurses+= lib/libncurses.* BUILDLINK_FILES.ncurses+= lib/libpanel.* -DEPENDS+= ${BUILDLINK_DEPENDS.ncurses}:../../devel/ncurses -.else -BUILDLINK_PREFIX.ncurses= /usr -BUILDLINK_FILES.ncurses= include/curses.h -BUILDLINK_FILES.ncurses+= include/eti.h -BUILDLINK_FILES.ncurses+= include/form.h -BUILDLINK_FILES.ncurses+= include/menu.h -BUILDLINK_FILES.ncurses+= include/termcap.h -BUILDLINK_FILES.ncurses+= include/unctrl.h + +.if ${_NEED_NCURSES} == "NO" +_BLNK_LIBNCURSES_LIST!= ${ECHO} /usr/lib/libncurses.* +. if ${_BLNK_LIBNCURSES_LIST} == "/usr/lib/libncurses.*" BUILDLINK_FILES.ncurses+= lib/libcurses.* -BUILDLINK_FILES.ncurses+= lib/libform.* -BUILDLINK_FILES.ncurses+= lib/libmenu.* BUILDLINK_TRANSFORM.ncurses= -e "s|libcurses\.|libncurses.|g" BUILDLINK_TRANSFORM.ncurses+= -e "s|/curses.h|/ncurses.h|g" REPLACE_LIBNAMES_SED+= -e "s|-lncurses|-lcurses|g" +. endif .endif BUILDLINK_TARGETS.ncurses+= ncurses-buildlink -.if defined(USE_BUILDLINK_ONLY) BUILDLINK_TARGETS.ncurses+= ncurses-curses-h -.endif -.if ${_NEED_NCURSES} == "NO" BUILDLINK_TARGETS.ncurses+= ncurses-extra-includes-buildlink -.endif BUILDLINK_TARGETS+= ${BUILDLINK_TARGETS.ncurses} pre-configure: ${BUILDLINK_TARGETS.ncurses} @@ -94,17 +89,21 @@ ncurses-buildlink: _BUILDLINK_USE ncurses-extra-includes-buildlink: ${_PKG_SILENT}${_PKG_DEBUG} \ - ${ECHO_BUILDLINK_MSG} "Touching extra ncurses headers in ${BUILDLINK_DIR}."; \ extra_includes=" \ include/term.h \ "; \ for file in $${extra_includes}; do \ - ${TOUCH} ${TOUCH_FLAGS} ${BUILDLINK_DIR}/$${file}; \ + if [ ! -f ${BUILDLINK_DIR}/$${file} ]; then \ + ${ECHO_BUILDLINK_MSG} "Touching extra ncurses header ($${file}) in ${BUILDLINK_DIR}."; \ + ${TOUCH} ${TOUCH_FLAGS} ${BUILDLINK_DIR}/$${file}; \ + fi; \ done ncurses-curses-h: ${_PKG_SILENT}${_PKG_DEBUG} \ - ${ECHO_BUILDLINK_MSG} "Linking curses.h to ncurses.h in ${BUILDLINK_DIR}."; \ - ${LN} -s ${BUILDLINK_PREFIX.ncurses}/include/ncurses.h ${BUILDLINK_DIR}/include/curses.h + if [ ! -f ${BUILDLINK_DIR}/include/curses.h ]; then \ + ${ECHO_BUILDLINK_MSG} "Linking curses.h to ncurses.h in ${BUILDLINK_DIR}."; \ + ${LN} -s ${BUILDLINK_PREFIX.ncurses}/include/ncurses.h ${BUILDLINK_DIR}/include/curses.h; \ + fi .endif # NCURSES_BUILDLINK_MK diff --git a/devel/readline/buildlink.mk b/devel/readline/buildlink.mk index 48b58008081..6f63ca64f38 100644 --- a/devel/readline/buildlink.mk +++ b/devel/readline/buildlink.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink.mk,v 1.17 2002/04/02 14:28:28 abs Exp $ +# $NetBSD: buildlink.mk,v 1.18 2002/08/07 06:10:34 jlam Exp $ # # This Makefile fragment is included by packages that use readline(). # @@ -24,62 +24,60 @@ BUILDLINK_DEPENDS.readline?= readline>=2.2 .if defined(USE_GNU_READLINE) _NEED_GNU_READLINE= YES -.elif exists(/usr/include/readline.h) || \ +.else +. if exists(/usr/include/readline.h) || \ exists(/usr/include/readline/readline.h) _NEED_GNU_READLINE= NO -.else +. else +_NEED_GNU_READLINE= YES +. endif +_INCOMPAT_READLINE?= # should be set from defs.${OPSYS}.mk +INCOMPAT_READLINE?= # empty +. for _pattern_ in ${_INCOMPAT_READLINE} ${INCOMPAT_READLINE} +. if !empty(MACHINE_PLATFORM:M${_pattern_}) _NEED_GNU_READLINE= YES +. endif +. endfor .endif .if ${_NEED_GNU_READLINE} == "YES" -DEPENDS+= ${BUILDLINK_DEPENDS.readline}:../../devel/readline -EVAL_PREFIX+= BUILDLINK_PREFIX.readline=readline +DEPENDS+= ${BUILDLINK_DEPENDS.readline}:../../devel/readline +EVAL_PREFIX+= BUILDLINK_PREFIX.readline=readline BUILDLINK_PREFIX.readline_DEFAULT= ${LOCALBASE} -BUILDLINK_FILES.readline= include/readline/* -BUILDLINK_FILES.readline+= lib/libreadline.* +.else +BUILDLINK_PREFIX.readline= /usr +.endif +BUILDLINK_PREFIX.history= ${BUILDLINK_PREFIX.readline} -BUILDLINK_PREFIX.history= ${BUILDLINK_PREFIX.readline} -BUILDLINK_FILES.history+= lib/libhistory.* -.elif ${OPSYS} == "Linux" -BUILDLINK_PREFIX.readline= /usr -BUILDLINK_FILES.readline= include/readline/* +BUILDLINK_FILES.readline= include/readline.h +BUILDLINK_FILES.readline+= include/readline/* BUILDLINK_FILES.readline+= lib/libreadline.* -BUILDLINK_PREFIX.history= /usr +BUILDLINK_FILES.history= include/history.h BUILDLINK_FILES.history+= lib/libhistory.* -.elif exists(/usr/include/readline.h) -BUILDLINK_PREFIX.readline= /usr -BUILDLINK_FILES.readline= include/readline.h + +.if ${_NEED_GNU_READLINE} == "NO" +_BLNK_LIBEDIT_LIST!= ${ECHO} /usr/lib/libedit.* +. if ${_BLNK_LIBEDIT_LIST} != "/usr/lib/libedit.*" BUILDLINK_FILES.readline+= lib/libedit.* BUILDLINK_TRANSFORM.readline= -e "s|/readline.h|/readline/readline.h|g" BUILDLINK_TRANSFORM.readline+= -e "s|libedit|libreadline|g" REPLACE_LIBNAMES_SED+= -e "s|-lreadline|-ledit|g" -BUILDLINK_PREFIX.history= /usr -BUILDLINK_FILES.history= include/history.h BUILDLINK_FILES.history+= lib/libedit.* BUILDLINK_TRANSFORM.history= -e "s|/history.h|/readline/history.h|g" BUILDLINK_TRANSFORM.history+= -e "s|libedit|libhistory|g" REPLACE_LIBNAMES_SED+= -e "s|-lhistory|-ledit|g" -.else # exists(/usr/include/readline/readline.h) -BUILDLINK_PREFIX.readline= /usr -BUILDLINK_FILES.readline= include/readline/* -BUILDLINK_FILES.readline+= lib/libedit.* -BUILDLINK_TRANSFORM.readline= -e "s|libedit|libreadline|g" -REPLACE_LIBNAMES_SED+= -e "s|-lreadline|-ledit|g" - -BUILDLINK_PREFIX.history= /usr -BUILDLINK_FILES.history+= lib/libedit.* -BUILDLINK_TRANSFORM.history= -e "s|libedit|libhistory|g" -REPLACE_LIBNAMES_SED+= -e "s|-lhistory|-ledit|g" +. endif .endif -BUILDLINK_TARGETS.readline= # empty -BUILDLINK_TARGETS.readline+= readline-buildlink -BUILDLINK_TARGETS.readline+= history-buildlink +BUILDLINK_TARGETS.readline= readline-buildlink +BUILDLINK_TARGETS.history= history-buildlink BUILDLINK_TARGETS+= ${BUILDLINK_TARGETS.readline} +BUILDLINK_TARGETS+= ${BUILDLINK_TARGETS.history} pre-configure: ${BUILDLINK_TARGETS.readline} +pre-configure: ${BUILDLINK_TARGETS.history} readline-buildlink: _BUILDLINK_USE history-buildlink: _BUILDLINK_USE diff --git a/devel/zlib/buildlink.mk b/devel/zlib/buildlink.mk index 60aa9b2b022..49f55011b4b 100644 --- a/devel/zlib/buildlink.mk +++ b/devel/zlib/buildlink.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink.mk,v 1.7 2001/07/27 13:33:26 jlam Exp $ +# $NetBSD: buildlink.mk,v 1.8 2002/08/07 06:10:34 jlam Exp $ # # This Makefile fragment is included by packages that use zlib. # @@ -19,10 +19,24 @@ ZLIB_BUILDLINK_MK= # defined BUILDLINK_DEPENDS.zlib?= zlib>=1.1.3 -.if exists(/usr/include/zlib.h) -_NEED_ZLIB= NO +.if defined(USE_ZLIB) +_NEED_ZLIB= YES .else +. if exists(/usr/include/zlib.h) +_NEED_ZLIB= NO +. else +_NEED_ZLIB= YES +. endif +# +# Solaris has a broken (for the purposes of pkgsrc) version of zlib. +# +_INCOMPAT_ZLIB= SunOS-*-* +INCOMPAT_ZLIB?= # empty +. for _pattern_ in ${_INCOMPAT_ZLIB} ${INCOMPAT_ZLIB} +. if !empty(MACHINE_PLATFORM:M${_pattern_}) _NEED_ZLIB= YES +. endif +. endfor .endif .if ${_NEED_ZLIB} == "YES" |