summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorjlam <jlam>2002-08-07 06:10:32 +0000
committerjlam <jlam>2002-08-07 06:10:32 +0000
commit67cf798c55c9c044112908daa6c14599fd3165a5 (patch)
tree6a4bcdaefbca611c5858b32f72cc017cc3ad3a52 /devel
parent0ee731f839c318bb9b323851bd98eb3015ab9782 (diff)
downloadpkgsrc-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.mk42
-rw-r--r--devel/ncurses/buildlink.mk65
-rw-r--r--devel/readline/buildlink.mk62
-rw-r--r--devel/zlib/buildlink.mk20
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"