summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjlam <jlam>2004-09-08 10:22:01 +0000
committerjlam <jlam>2004-09-08 10:22:01 +0000
commit88696241a4515111e1c4257575033b0336bef22a (patch)
tree7f538064e8d597b12ef9b7d5f4db3bc4b5596bbb /lang
parent3b940016013e08f2ec6670a7d2de2c920e30cc99 (diff)
downloadpkgsrc-88696241a4515111e1c4257575033b0336bef22a.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"