summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-09-08 10:22:01 +0000
committerjlam <jlam@pkgsrc.org>2004-09-08 10:22:01 +0000
commit13760a9c4a5dc252b9e5c12ba2fb759ea42cd7c2 (patch)
tree7f538064e8d597b12ef9b7d5f4db3bc4b5596bbb /lang
parent18de3fd8990b3b540a45f6bba5a56100e3f98a4d (diff)
downloadpkgsrc-13760a9c4a5dc252b9e5c12ba2fb759ea42cd7c2.tar.gz
GCC generates and uses its own libtool to build shared libraries, and
the resulting shared library names don't necessarily match the NetBSD names. Instead of hardcoding the shared library names in the PLISTs, only list the libtool archives in the PLISTs and dynamically determine the shared library names at post-install time and insert them into the PLIST. This fixes PLIST errors on non-NetBSD platforms. All of the magic is done in pkgsrc/lang/gcc3/language.mk. This should probably be generalized into something that could be used by all packages that use libtool.
Diffstat (limited to 'lang')
-rw-r--r--lang/gcc3-c++/PLIST7
-rw-r--r--lang/gcc3-f77/PLIST6
-rw-r--r--lang/gcc3-java/PLIST14
-rw-r--r--lang/gcc3-objc/PLIST6
-rw-r--r--lang/gcc3/language.mk22
5 files changed, 25 insertions, 30 deletions
diff --git a/lang/gcc3-c++/PLIST b/lang/gcc3-c++/PLIST
index db1fed7833a..327504974e4 100644
--- a/lang/gcc3-c++/PLIST
+++ b/lang/gcc3-c++/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2004/07/02 15:40:01 drochner Exp $
+@comment $NetBSD: PLIST,v 1.5 2004/09/08 10:22:01 jlam Exp $
${GCC_SUBPREFIX}/bin/c++
${GCC_SUBPREFIX}/bin/g++
${GCC_SUBPREFIX}/bin/${GCC_PLATFORM}-c++
@@ -190,12 +190,7 @@ ${GCC_SUBPREFIX}/include/c++/${PKGVERSION}/utility
${GCC_SUBPREFIX}/include/c++/${PKGVERSION}/valarray
${GCC_SUBPREFIX}/include/c++/${PKGVERSION}/vector
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/cc1plus
-${GCC_SUBPREFIX}/lib/libstdc++.a
${GCC_SUBPREFIX}/lib/libstdc++.la
-${GCC_SUBPREFIX}/lib/libstdc++.so
-${GCC_SUBPREFIX}/lib/libstdc++.so.5
-${GCC_SUBPREFIX}/lib/libstdc++.so.5.6
-${GCC_SUBPREFIX}/lib/libsupc++.a
${GCC_SUBPREFIX}/lib/libsupc++.la
${GCC_SUBPREFIX}/man/man1/g++.1
${GCC_SUBPREFIX}/mk/c++.mk
diff --git a/lang/gcc3-f77/PLIST b/lang/gcc3-f77/PLIST
index 1da9b6fdcc0..04ac3cb85c4 100644
--- a/lang/gcc3-f77/PLIST
+++ b/lang/gcc3-f77/PLIST
@@ -1,13 +1,9 @@
-@comment $NetBSD: PLIST,v 1.3 2003/07/08 16:07:04 drochner Exp $
+@comment $NetBSD: PLIST,v 1.4 2004/09/08 10:22:01 jlam Exp $
${GCC_SUBPREFIX}/bin/g77
${GCC_SUBPREFIX}/info/g77.info
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/f771
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/g2c.h
${GCC_SUBPREFIX}/lib/libfrtbegin.a
-${GCC_SUBPREFIX}/lib/libg2c.a
${GCC_SUBPREFIX}/lib/libg2c.la
-${GCC_SUBPREFIX}/lib/libg2c.so
-${GCC_SUBPREFIX}/lib/libg2c.so.0
-${GCC_SUBPREFIX}/lib/libg2c.so.0.0
${GCC_SUBPREFIX}/man/man1/g77.1
${GCC_SUBPREFIX}/mk/f77.mk
diff --git a/lang/gcc3-java/PLIST b/lang/gcc3-java/PLIST
index 2e19e5e85d0..df083020fe1 100644
--- a/lang/gcc3-java/PLIST
+++ b/lang/gcc3-java/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2003/07/08 16:07:04 drochner Exp $
+@comment $NetBSD: PLIST,v 1.4 2004/09/08 10:22:01 jlam Exp $
${GCC_SUBPREFIX}/bin/addr2name.awk
${GCC_SUBPREFIX}/bin/gcj
${GCC_SUBPREFIX}/bin/gcjh
@@ -1688,21 +1688,9 @@ ${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/gcjh
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/gcj/libgcj-config.h
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/jc1
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/jvgenmain
-${GCC_SUBPREFIX}/lib/lib-org-w3c-dom.a
${GCC_SUBPREFIX}/lib/lib-org-w3c-dom.la
-${GCC_SUBPREFIX}/lib/lib-org-w3c-dom.so
-${GCC_SUBPREFIX}/lib/lib-org-w3c-dom.so.0
-${GCC_SUBPREFIX}/lib/lib-org-w3c-dom.so.0.0
-${GCC_SUBPREFIX}/lib/lib-org-xml-sax.a
${GCC_SUBPREFIX}/lib/lib-org-xml-sax.la
-${GCC_SUBPREFIX}/lib/lib-org-xml-sax.so
-${GCC_SUBPREFIX}/lib/lib-org-xml-sax.so.0
-${GCC_SUBPREFIX}/lib/lib-org-xml-sax.so.0.0
-${GCC_SUBPREFIX}/lib/libgcj.a
${GCC_SUBPREFIX}/lib/libgcj.la
-${GCC_SUBPREFIX}/lib/libgcj.so
-${GCC_SUBPREFIX}/lib/libgcj.so.4
-${GCC_SUBPREFIX}/lib/libgcj.so.4.0
${GCC_SUBPREFIX}/lib/libgcj.spec
${GCC_SUBPREFIX}/lib/security/classpath.security
${GCC_SUBPREFIX}/lib/security/libgcj.security
diff --git a/lang/gcc3-objc/PLIST b/lang/gcc3-objc/PLIST
index 06c4d6a7bb5..5b1d3d8a9b1 100644
--- a/lang/gcc3-objc/PLIST
+++ b/lang/gcc3-objc/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2003/07/08 15:05:03 drochner Exp $
+@comment $NetBSD: PLIST,v 1.3 2004/09/08 10:22:01 jlam Exp $
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/cc1obj
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/NXConstStr.h
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/Object.h
@@ -11,9 +11,5 @@ ${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/objc.h
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/sarray.h
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/thr.h
${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/typedstream.h
-${GCC_SUBPREFIX}/lib/libobjc.a
${GCC_SUBPREFIX}/lib/libobjc.la
-${GCC_SUBPREFIX}/lib/libobjc.so
-${GCC_SUBPREFIX}/lib/libobjc.so.1
-${GCC_SUBPREFIX}/lib/libobjc.so.1.0
@dirrm ${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc
diff --git a/lang/gcc3/language.mk b/lang/gcc3/language.mk
index 1a124272fff..3b86a64b132 100644
--- a/lang/gcc3/language.mk
+++ b/lang/gcc3/language.mk
@@ -1,4 +1,4 @@
-# $NetBSD: language.mk,v 1.1 2004/04/10 15:47:08 seb Exp $
+# $NetBSD: language.mk,v 1.2 2004/09/08 10:22:01 jlam Exp $
BUILDLINK_DEPENDS.gcc3-c+= gcc3${GCC3_PKGMODIF}-c-${GCC_VERSION}{,nb*}
BUILDLINK_DEPMETHOD.gcc3-c+= full
@@ -11,4 +11,24 @@ pre-build:
${LN} -s ${GCC_PREFIX}/lib/libiberty.a ${WRKSRC}/libiberty
${LN} -s ${GCC_PREFIX}/bin/gcc ${WRKSRC}/gcc/xgcc
+.if exists(${PKGDIR}/PLIST)
+GCC_PLIST_AWK_SCRIPT= '
+GCC_PLIST_AWK_SCRIPT+= ${_PLIST_AWK_SUBST}
+GCC_PLIST_AWK_SCRIPT+= \
+ /\.la$$/ { \
+ lafile = "${PREFIX}/" $$0; \
+ dir = $$0; \
+ sub("/[^/]*\.la$$", "", dir); \
+ system("( . " lafile "; for lib in $$library_names $$old_library; do ${ECHO} " dir "/$$lib; done; ${ECHO} " $$0 " ) | ${SORT} -u"); \
+ next; \
+ }
+GCC_PLIST_AWK_SCRIPT+= { print $$0; }
+GCC_PLIST_AWK_SCRIPT+= '
+PLIST_SRC= ${WRKDIR}/.PLIST_SRC
+
+post-install: gcc-plist
+gcc-plist:
+ @${CAT} ${PKGDIR}/PLIST | ${AWK} ${GCC_PLIST_AWK_SCRIPT} > ${PLIST_SRC}
+.endif
+
.include "../../lang/gcc3-c/buildlink3.mk"