summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam>2004-02-01 14:05:46 +0000
committerjlam <jlam>2004-02-01 14:05:46 +0000
commit7e4a907b3d5cc6e0f41f86602dc24403b1591163 (patch)
tree52008c433094c4f9359d1abdf86534eb4b05a283
parent4e3056603bdd5fc642e87b7c693eb7935a3d10ba (diff)
downloadpkgsrc-7e4a907b3d5cc6e0f41f86602dc24403b1591163.tar.gz
bl3ify the gcc3-* packages. Also provide buildlink[23].mk files for use
by bsd.compiler.mk. Note that in the buildlink3.mk files, the dependency is always added regardless of the BUILDLINK_DEPTH. This is because these buildlink3.mk files may be included by bsd.prefs.mk, which is often included other buildlink3.mk files, and we need to ensure that regardless of the depth, we are using the correct compiler.
-rw-r--r--lang/gcc3-ada/DESCR15
-rw-r--r--lang/gcc3-ada/Makefile70
-rw-r--r--lang/gcc3-c++/DESCR15
-rw-r--r--lang/gcc3-c++/Makefile23
-rw-r--r--lang/gcc3-c++/buildlink2.mk45
-rw-r--r--lang/gcc3-c++/buildlink3.mk25
-rw-r--r--lang/gcc3-c/DESCR15
-rw-r--r--lang/gcc3-c/Makefile15
-rw-r--r--lang/gcc3-c/Makefile.common39
-rw-r--r--lang/gcc3-c/buildaddon.mk23
-rw-r--r--lang/gcc3-c/buildlink2.mk40
-rw-r--r--lang/gcc3-c/buildlink3.mk25
-rw-r--r--lang/gcc3-c/language.mk12
-rw-r--r--lang/gcc3-f77/DESCR15
-rw-r--r--lang/gcc3-f77/Makefile28
-rw-r--r--lang/gcc3-f77/buildlink2.mk35
-rw-r--r--lang/gcc3-f77/buildlink3.mk25
-rw-r--r--lang/gcc3-java/DESCR15
-rw-r--r--lang/gcc3-java/Makefile33
-rw-r--r--lang/gcc3-java/buildlink2.mk35
-rw-r--r--lang/gcc3-java/buildlink3.mk25
-rw-r--r--lang/gcc3-objc/DESCR15
-rw-r--r--lang/gcc3-objc/Makefile17
-rw-r--r--lang/gcc3-objc/buildlink2.mk35
-rw-r--r--lang/gcc3-objc/buildlink3.mk25
25 files changed, 446 insertions, 219 deletions
diff --git a/lang/gcc3-ada/DESCR b/lang/gcc3-ada/DESCR
index bef410282ba..725cd6e821d 100644
--- a/lang/gcc3-ada/DESCR
+++ b/lang/gcc3-ada/DESCR
@@ -1,14 +1,3 @@
-This directory contains the GNU Compiler Collection (GCC) version 3.3.
-It includes all of the support for compiling C, C++, Objective C, Fortran,
-Java, and Chill.
+The GNU Compiler Collection (GCC) version 3.x.
-The GNU Compiler Collection is free software. See the file COPYING for copying
-permission.
-
-See the file gcc.texi (together with other files that it includes) for
-installation and porting information. The file INSTALL contains a
-copy of the installation information, as plain ASCII.
-
-See the Bugs chapter of the GCC Manual for how to report bugs
-usefully. An online readable version of the manual is in the files
-gcc.info*.
+This package includes support for compiling the Ada language.
diff --git a/lang/gcc3-ada/Makefile b/lang/gcc3-ada/Makefile
index 85661eacdfc..cd899da6a6b 100644
--- a/lang/gcc3-ada/Makefile
+++ b/lang/gcc3-ada/Makefile
@@ -1,37 +1,38 @@
-# $NetBSD: Makefile,v 1.8 2003/12/08 18:33:53 drochner Exp $
-#
+# $NetBSD: Makefile,v 1.9 2004/02/01 14:05:46 jlam Exp $
-PKGNAME= gcc3${GCC3_PKGMODIF}-ada-${GCC_VERSION}
-COMMENT= GNU Compiler Collection, version 3, Ada compiler
+PKGNAME= gcc3${GCC3_PKGMODIF}-ada-${GCC_VERSION}
+COMMENT= GNU Compiler Collection, v3 - Ada compiler
INFO_FILES= gnat_ug_unx.info gnat_ug_vms.info gnat_ug_vxw.info
INFO_FILES+= gnat_ug_wnt.info gnat_rm.info gnat-style.info
-.include "../../lang/gcc3-c/buildaddon.mk"
+.include "../gcc3-c/language.mk"
-PTHREAD_OPTS+= require native
+PTHREAD_OPTS+= require native
CONFIGURE_ARGS+= --enable-languages="ada"
CONFIGURE_ARGS+= --enable-threads=yes
#
-# Bootstrap section. Define something to make the pkg usable.
+# Bootstrap section. Define something to make the package usable.
+#
+# To make things more interesting, we need an existing GCC with Ada
+# support to build Ada support.
#
-# To make things more interesting, we need a gcc with ada support to build
-# ada support.
# A gcc tree with compiler driver and gnatbind should be in ADA_BOOT_PATH.
-#ADA_BOOT_PATH= /path/to/adagcc
-# Use this if a special compiler driver is needed to compile ada programs
-# (as seen in linux installations).
+#
+#ADA_BOOT_PATH= /path/to/adagcc
+#
+# Use this if a special compiler driver is needed to compile Ada programs
+# (as seen in Linux installations).
+#
#GNATGCC_ADA_DRIVER= gnatgcc
.if defined(ADA_BOOT_PATH)
-
-.if defined(GNATGCC_ADA_DRIVER)
+. if defined(GNATGCC_ADA_DRIVER)
ADA_BOOT_ADAC= ${ADA_BOOT_PATH}/bin/${GNATGCC_ADA_DRIVER}
-.else
+. else
ADA_BOOT_ADAC= ${ADA_BOOT_PATH}/bin/gcc
-.endif
-
+. endif
ADA_BOOT_GNATBIND= ${ADA_BOOT_PATH}/bin/gnatbind
EXTRA_ENV+= ADAC=${ADA_BOOT_ADAC:Q}
@@ -40,8 +41,7 @@ MAKE_ENV+= ${EXTRA_ENV}
.else # !ADA_BOOT_PATH
-# XXX No known system has ada in the main tree.
-ONLY_FOR_PLATFORM= sorry_need_ada_compiler
+PKG_SKIP_REASON= "Sorry, need an Ada compiler"
.endif # ADA_BOOT_PATH
@@ -50,28 +50,28 @@ ONLY_FOR_PLATFORM= sorry_need_ada_compiler
#
post-patch:
- (cd files; \
- ${CP} adasignal.c ${WRKSRC}/gcc/ada; \
- ${CP} ada_lwp_self.c ${WRKSRC}/gcc/ada; \
- for i in *.adb *.ads ; do \
- ${CP} $$i ${WRKSRC}/gcc/ada; \
- done )
+ cd ${FILESDIR}; \
+ ${CP} adasignal.c ${WRKSRC}/gcc/ada; \
+ ${CP} ada_lwp_self.c ${WRKSRC}/gcc/ada; \
+ for i in *.adb *.ads ; do \
+ ${CP} $$i ${WRKSRC}/gcc/ada; \
+ done
post-buildlink:
${LN} -sf ${ADA_BOOT_GNATBIND} ${BUILDLINK_DIR}/bin
post-configure:
${TEST} -f ${WRKSRC}/gcc/ada/Makefile \
- || ${FALSE} # no ada bootstrap found by configure
- (cd ${WRKSRC}/gcc/ada && ${TOUCH} treeprs.ads [es]info.h nmake.ad[bs])
+ || ${FALSE} # no ada bootstrap found by configure
+ cd ${WRKSRC}/gcc/ada && ${TOUCH} treeprs.ads [es]info.h nmake.ad[bs]
do-build:
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} ada)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} ada
# XXX avoid some VPATH related lossage
- (cd ${WRKSRC}/gcc/ada && ${MV} targtyps.o targtyps.o.sav)
- (cd ${WRKSRC}/gcc/ada && ${RM} -f *.o *.ali)
- (cd ${WRKSRC}/gcc/ada && ${MV} targtyps.o.sav targtyps.o)
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} gnatlib_and_tools)
+ cd ${WRKSRC}/gcc/ada && ${MV} targtyps.o targtyps.o.sav
+ cd ${WRKSRC}/gcc/ada && ${RM} -f *.o *.ali
+ cd ${WRKSRC}/gcc/ada && ${MV} targtyps.o.sav targtyps.o
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} gnatlib_and_tools
post-build:
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc3.mk > ${WRKDIR}/gcc3.mk
@@ -79,12 +79,12 @@ post-build:
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/gcc/gnat1 ${GCC_ARCHDIR}
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- ada.install-common ada.install-info install-gnatlib)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ ada.install-common ada.install-info install-gnatlib
${RM} -f ${GCC_ARCHDIR}/adalib/lib*.so
post-install:
${INSTALL_DATA} ${WRKDIR}/gcc3.mk ${GCC_PREFIX}/mk/ada.mk
-.include "../../mk/pthread.buildlink2.mk"
+.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/gcc3-c++/DESCR b/lang/gcc3-c++/DESCR
index bef410282ba..38b2055393c 100644
--- a/lang/gcc3-c++/DESCR
+++ b/lang/gcc3-c++/DESCR
@@ -1,14 +1,3 @@
-This directory contains the GNU Compiler Collection (GCC) version 3.3.
-It includes all of the support for compiling C, C++, Objective C, Fortran,
-Java, and Chill.
+The GNU Compiler Collection (GCC) version 3.x.
-The GNU Compiler Collection is free software. See the file COPYING for copying
-permission.
-
-See the file gcc.texi (together with other files that it includes) for
-installation and porting information. The file INSTALL contains a
-copy of the installation information, as plain ASCII.
-
-See the Bugs chapter of the GCC Manual for how to report bugs
-usefully. An online readable version of the manual is in the files
-gcc.info*.
+This package includes support for compiling the C++ language.
diff --git a/lang/gcc3-c++/Makefile b/lang/gcc3-c++/Makefile
index 8fac4decc5c..34a1102c51a 100644
--- a/lang/gcc3-c++/Makefile
+++ b/lang/gcc3-c++/Makefile
@@ -1,27 +1,26 @@
-# $NetBSD: Makefile,v 1.7 2003/08/11 14:16:02 drochner Exp $
-#
+# $NetBSD: Makefile,v 1.8 2004/02/01 14:05:47 jlam Exp $
-PKGNAME= gcc3${GCC3_PKGMODIF}-c++-${GCC_VERSION}
-COMMENT= GNU Compiler Collection, version 3, c++ compiler
+PKGNAME= gcc3${GCC3_PKGMODIF}-c++-${GCC_VERSION}
+COMMENT= GNU Compiler Collection, v3 - C++ compiler
-.include "../gcc3-c/buildaddon.mk"
+.include "../gcc3-c/language.mk"
CONFIGURE_ARGS+= --enable-languages="c++"
do-build:
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} c++)
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} g++)
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} all-target-libstdc++-v3)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} c++
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} g++
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} all-target-libstdc++-v3
post-build:
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc3.mk > ${WRKDIR}/gcc3.mk
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/gcc/cc1plus ${GCC_ARCHDIR}
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- c++.install-common c++.install-man)
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- install-target-libstdc++-v3)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ c++.install-common c++.install-man
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ install-target-libstdc++-v3
post-install:
${INSTALL_DATA} ${WRKDIR}/gcc3.mk ${GCC_PREFIX}/mk/c++.mk
diff --git a/lang/gcc3-c++/buildlink2.mk b/lang/gcc3-c++/buildlink2.mk
new file mode 100644
index 00000000000..6887c3ff64d
--- /dev/null
+++ b/lang/gcc3-c++/buildlink2.mk
@@ -0,0 +1,45 @@
+# $NetBSD: buildlink2.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+.if !defined(GCC3CXX_BUILDLINK2_MK)
+GCC3CXX_BUILDLINK2_MK= # defined
+
+.include "../../mk/bsd.prefs.mk"
+
+.if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+.endif
+BUILDLINK_PACKAGES+= gcc3cxx
+BUILDLINK_DEPENDS.gcc3cxx?= gcc3${GCC3_PKGMODIF}-c++>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3cxx?= ../../lang/gcc3-c++
+
+# Packages that link against gcc shared libraries need a full
+# dependency.
+#
+.if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3cxx+= full
+.else
+BUILDLINK_DEPMETHOD.gcc3cxx?= build
+.endif
+
+BUILDLINK_PREFIX.gcc3cxx= ${LOCALBASE}
+BUILDLINK_WRAPPER_ENV+= \
+ COMPILER_PATH="${BUILDLINK_DIR}/bin"; export COMPILER_PATH
+
+BUILDLINK_FILES.gcc3cxx= ${_GCC_SUBPREFIX}include/c++/*/*
+BUILDLINK_FILES.gcc3cxx+= ${_GCC_SUBPREFIX}include/c++/*/*/*
+BUILDLINK_FILES.gcc3cxx+= ${_GCC_SUBPREFIX}include/c++/*/*/*/*
+BUILDLINK_FILES.gcc3cxx+= ${_GCC_SUBPREFIX}lib/libstdc++.*
+BUILDLINK_FILES.gcc3cxx+= ${_GCC_SUBPREFIX}lib/libsupc++.*
+
+BUILDLINK_TARGETS+= gcc3cxx-buildlink
+BUILDLINK_TARGETS+= libstdc++-buildlink-la
+
+gcc3cxx-buildlink: _BUILDLINK_USE
+
+libstdc++-buildlink-la:
+ ${_PKG_SILENT}${_PKG_DEBUG} \
+ lafile="${BUILDLINK_DIR}/lib/libstdc++.la"; \
+ libpattern="/usr/lib/libstdc++.*"; \
+ ${BUILDLINK_FAKE_LA}
+
+.endif # GCC3CXX_BUILDLINK2_MK
diff --git a/lang/gcc3-c++/buildlink3.mk b/lang/gcc3-c++/buildlink3.mk
new file mode 100644
index 00000000000..82ec44fd243
--- /dev/null
+++ b/lang/gcc3-c++/buildlink3.mk
@@ -0,0 +1,25 @@
+# $NetBSD: buildlink3.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+GCC3CXX_BUILDLINK3_MK:= ${GCC3CXX_BUILDLINK3_MK}+
+
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(GCC3CXX_BUILDLINK3_MK:M+)
+. if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+. endif
+BUILDLINK_PACKAGES+= gcc3cxx
+BUILDLINK_DEPENDS+= gcc3cxx
+BUILDLINK_DEPENDS.gcc3cxx+= gcc3${GCC3_PKGMODIF}-c++>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3cxx?= ../../lang/gcc3-c++
+
+# Packages that link against shared libraries need a full dependency.
+. if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3cxx+= full
+. else
+BUILDLINK_DEPMETHOD.gcc3cxx?= build
+. endif
+.endif # GCC3CXX_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/lang/gcc3-c/DESCR b/lang/gcc3-c/DESCR
index bef410282ba..e4ee87edaaf 100644
--- a/lang/gcc3-c/DESCR
+++ b/lang/gcc3-c/DESCR
@@ -1,14 +1,3 @@
-This directory contains the GNU Compiler Collection (GCC) version 3.3.
-It includes all of the support for compiling C, C++, Objective C, Fortran,
-Java, and Chill.
+The GNU Compiler Collection (GCC) version 3.x.
-The GNU Compiler Collection is free software. See the file COPYING for copying
-permission.
-
-See the file gcc.texi (together with other files that it includes) for
-installation and porting information. The file INSTALL contains a
-copy of the installation information, as plain ASCII.
-
-See the Bugs chapter of the GCC Manual for how to report bugs
-usefully. An online readable version of the manual is in the files
-gcc.info*.
+This package includes support for compiling the C language.
diff --git a/lang/gcc3-c/Makefile b/lang/gcc3-c/Makefile
index 400723ca9ef..794cc639caf 100644
--- a/lang/gcc3-c/Makefile
+++ b/lang/gcc3-c/Makefile
@@ -1,16 +1,19 @@
-# $NetBSD: Makefile,v 1.7 2003/08/11 14:16:00 drochner Exp $
-#
+# $NetBSD: Makefile,v 1.8 2004/02/01 14:05:46 jlam Exp $
-PKGNAME= gcc3${GCC3_PKGMODIF}-c-${GCC_VERSION}
-COMMENT= GNU Compiler Collection, version 3, C compiler
+PKGNAME= gcc3${GCC3_PKGMODIF}-c-${GCC_VERSION}
+COMMENT= GNU Compiler Collection, v3 - C compiler
INFO_FILES= cpp.info gcc.info gccint.info cppinternals.info
.include "Makefile.common"
-# the "gcc" frontend knows all languages (by patch)
+# The "gcc" frontend knows all languages (by patch)
CONFIGURE_ARGS+= --enable-languages=c
-PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC
+PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC
+
+.if empty(CC_VERSION:Mgcc-*)
+ALL_TARGET= bootstrap
+.endif
post-build:
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc3.mk > ${WRKDIR}/gcc3.mk
diff --git a/lang/gcc3-c/Makefile.common b/lang/gcc3-c/Makefile.common
index e3c5b0e4945..d1c110f6fcf 100644
--- a/lang/gcc3-c/Makefile.common
+++ b/lang/gcc3-c/Makefile.common
@@ -1,5 +1,4 @@
-# $NetBSD: Makefile.common,v 1.8 2004/01/24 13:51:14 grant Exp $
-#
+# $NetBSD: Makefile.common,v 1.9 2004/02/01 14:05:47 jlam Exp $
GCC_VERSION= 3.3.2
DISTNAME= gcc-${GCC_VERSION}
@@ -12,15 +11,15 @@ HOMEPAGE= http://www.gnu.org/software/gcc/gcc.html
NOT_FOR_PLATFORM= Darwin-*-*
-USE_BUILDLINK2= YES
-USE_PKGINSTALL= YES
+USE_BUILDLINK3= yes
+USE_PKGINSTALL= yes
USE_GNU_TOOLS+= make
-HAS_CONFIGURE= YES
+HAS_CONFIGURE= yes
.include "../../mk/bsd.prefs.mk"
# Make location overridable, to allow ping-pong bootstraps.
-GCC3_DEFAULT_SUBPREFIX= gcc3
+GCC3_DEFAULT_SUBPREFIX= gcc3
GCC3_INSTALLTO_SUBPREFIX?= ${GCC3_DEFAULT_SUBPREFIX}
.if ${GCC3_INSTALLTO_SUBPREFIX} != ${GCC3_DEFAULT_SUBPREFIX}
GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
@@ -43,9 +42,7 @@ INFO_DIR= ${GCC_SUBPREFIX}/info
.if ${OPSYS} == "NetBSD" && exists(/usr/include/pthread.h)
GCC_PLATFORM= ${MACHINE_GNU_ARCH}--netbsdelf2.0
PTHREAD_OPTS+= require native
-.include "../../mk/pthread.buildlink2.mk"
-CPPFLAGS+= -I${BUILDLINK_DIR}/include
-CFLAGS+= -I${BUILDLINK_DIR}/include
+. include "../../mk/pthread.buildlink3.mk"
.else
GCC_PLATFORM= ${MACHINE_GNU_PLATFORM}
.endif
@@ -53,31 +50,23 @@ CONFIGURE_ARGS+= --host=${GCC_PLATFORM}
PLIST_SUBST+= GCC_PLATFORM=${GCC_PLATFORM}
.if ${OPSYS} == "NetBSD" && !defined(USE_BINUTILS)
-AS_VERSION!= ${AS} --version | ${AWK} '{ \
- split($$3, v, /[.]/); \
- printf "%02d%02d%02d%02d\n",v[1],v[2],v[3],v[4]; \
- exit; \
- }'
-USE_BINUTILS!= ${TEST} ${AS_VERSION} -lt 02130201 && echo YES || echo NO
+AS_VERSION!= ${AS} --version | ${AWK} '{ \
+ split($$3, v, /[.]/); \
+ printf "%02d%02d%02d%02d\n",v[1],v[2],v[3],v[4]; \
+ exit; \
+ }'
+USE_BINUTILS!= ${TEST} ${AS_VERSION} -lt 02130201 && echo YES || echo NO
.endif
-.if defined(USE_BINUTILS) && ${USE_BINUTILS} == "YES"
+.if defined(USE_BINUTILS) && !empty(USE_BINUTILS:M[yY][eE][sS])
DEPENDS= binutils>=2.13.2.1:../../devel/binutils
CONFIGURE_ARGS+= --with-as=${PREFIX}/${MACHINE_GNU_PLATFORM}/bin/as
-#. include "../../devel/binutils/buildlink2.mk"
.endif
-.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Linux"
+.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Linux" || ${OPSYS} == "SunOS"
CONFIGURE_ARGS+= --enable-shared
.else
-. if ${OPSYS} == "SunOS"
-CONFIGURE_ARGS+= --enable-shared
-. else
CONFIGURE_ARGS+= --disable-shared
-. endif
-. if ${CC:M*gcc*} == ""
-ALL_TARGET= bootstrap
-. endif
.endif
GCC_ARCHSUBDIR= ${GCC_SUBPREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${GCC_VERSION}
diff --git a/lang/gcc3-c/buildaddon.mk b/lang/gcc3-c/buildaddon.mk
deleted file mode 100644
index 8c170334b4e..00000000000
--- a/lang/gcc3-c/buildaddon.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# $NetBSD: buildaddon.mk,v 1.6 2003/12/03 11:28:55 drochner Exp $
-
-.include "../../lang/gcc3-c/Makefile.common"
-
-pre-build:
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} tconfig.h)
- ${LN} -sf ${GCC_PREFIX}/lib/libiberty.a ${WRKSRC}/libiberty
- ${LN} -sf ${GCC_PREFIX}/bin/gcc ${WRKSRC}/gcc/xgcc
-
-BUILDLINK_DEPENDS.gcc3c?= gcc3${GCC3_PKGMODIF}-c-3.3.2
-BUILDLINK_PKGSRCDIR.gcc3c?= ../../lang/gcc3-c
-
-BUILDLINK_PREFIX.gcc3c= ${LOCALBASE}
-
-BUILDLINK_PACKAGES+= gcc3c
-
-BUILDLINK_FILES.gcc3c+= ${GCC_ARCHSUBDIR}/libgcc.a
-BUILDLINK_FILES.gcc3c+= ${GCC_ARCHSUBDIR}/libgcc_eh.a
-BUILDLINK_FILES.gcc3c+= ${GCC_SUBPREFIX}/lib/libgcc_s.*
-
-BUILDLINK_TARGETS+= gcc3c-buildlink
-
-gcc3c-buildlink: _BUILDLINK_USE
diff --git a/lang/gcc3-c/buildlink2.mk b/lang/gcc3-c/buildlink2.mk
new file mode 100644
index 00000000000..04f018e2a73
--- /dev/null
+++ b/lang/gcc3-c/buildlink2.mk
@@ -0,0 +1,40 @@
+# $NetBSD: buildlink2.mk,v 1.3 2004/02/01 14:05:47 jlam Exp $
+
+.if !defined(GCC3C_BUILDLINK2_MK)
+GCC3C_BUILDLINK2_MK= # defined
+
+.include "../../mk/bsd.prefs.mk"
+
+.if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+.endif
+BUILDLINK_PACKAGES+= gcc3c
+BUILDLINK_DEPENDS.gcc3c?= gcc3${GCC3_PKGMODIF}-c>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3c?= ../../lang/gcc3-c
+
+# Packages that link against gcc shared libraries need a full
+# dependency.
+#
+.if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3c+= full
+.else
+BUILDLINK_DEPMETHOD.gcc3c?= build
+.endif
+
+BUILDLINK_PREFIX.gcc3c= ${LOCALBASE}
+BUILDLINK_WRAPPER_ENV+= \
+ COMPILER_PATH="${BUILDLINK_DIR}/bin"; export COMPILER_PATH
+
+BUILDLINK_FILES.gcc3c= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/*/*/*/*
+BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/*/*/*
+BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/*/*
+BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/*
+BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/lib*.*
+BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/specs
+BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}/lib/libgcc_s.*
+
+BUILDLINK_TARGETS+= gcc3c-buildlink
+
+gcc3c-buildlink: _BUILDLINK_USE
+
+.endif # GCC3C_BUILDLINK2_MK
diff --git a/lang/gcc3-c/buildlink3.mk b/lang/gcc3-c/buildlink3.mk
new file mode 100644
index 00000000000..7fceca06919
--- /dev/null
+++ b/lang/gcc3-c/buildlink3.mk
@@ -0,0 +1,25 @@
+# $NetBSD: buildlink3.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+GCC3C_BUILDLINK3_MK:= ${GCC3C_BUILDLINK3_MK}+
+
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(GCC3C_BUILDLINK3_MK:M+)
+. if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+. endif
+BUILDLINK_PACKAGES+= gcc3c
+BUILDLINK_DEPENDS+= gcc3c
+BUILDLINK_DEPENDS.gcc3c+= gcc3${GCC3_PKGMODIF}-c>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3c?= ../../lang/gcc3-c
+
+# Packages that link against shared libraries need a full dependency.
+. if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3c+= full
+. else
+BUILDLINK_DEPMETHOD.gcc3c?= build
+. endif
+.endif # GCC3C_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/lang/gcc3-c/language.mk b/lang/gcc3-c/language.mk
new file mode 100644
index 00000000000..bdaf0391dfd
--- /dev/null
+++ b/lang/gcc3-c/language.mk
@@ -0,0 +1,12 @@
+# $NetBSD: language.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+GCC_REQD+= ${GCC_VERSION}
+
+.include "../../lang/gcc3-c/Makefile.common"
+
+BUILDLINK_DEPMETHOD.gcc3c+= full
+
+pre-build:
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} tconfig.h
+ ${LN} -sf ${GCC_PREFIX}/lib/libiberty.a ${WRKSRC}/libiberty
+ ${LN} -sf ${GCC_PREFIX}/bin/gcc ${WRKSRC}/gcc/xgcc
diff --git a/lang/gcc3-f77/DESCR b/lang/gcc3-f77/DESCR
index bef410282ba..d80eb6dd987 100644
--- a/lang/gcc3-f77/DESCR
+++ b/lang/gcc3-f77/DESCR
@@ -1,14 +1,3 @@
-This directory contains the GNU Compiler Collection (GCC) version 3.3.
-It includes all of the support for compiling C, C++, Objective C, Fortran,
-Java, and Chill.
+The GNU Compiler Collection (GCC) version 3.x.
-The GNU Compiler Collection is free software. See the file COPYING for copying
-permission.
-
-See the file gcc.texi (together with other files that it includes) for
-installation and porting information. The file INSTALL contains a
-copy of the installation information, as plain ASCII.
-
-See the Bugs chapter of the GCC Manual for how to report bugs
-usefully. An online readable version of the manual is in the files
-gcc.info*.
+This package includes support for compiling the Fortran language.
diff --git a/lang/gcc3-f77/Makefile b/lang/gcc3-f77/Makefile
index d57a16ec647..bcfea74e96b 100644
--- a/lang/gcc3-f77/Makefile
+++ b/lang/gcc3-f77/Makefile
@@ -1,33 +1,31 @@
-# $NetBSD: Makefile,v 1.6 2003/08/11 14:16:04 drochner Exp $
-#
+# $NetBSD: Makefile,v 1.7 2004/02/01 14:05:47 jlam Exp $
-PKGNAME= gcc3${GCC3_PKGMODIF}-f77-${GCC_VERSION}
-COMMENT= GNU Compiler Collection, version 3, f77 compiler
+PKGNAME= gcc3${GCC3_PKGMODIF}-f77-${GCC_VERSION}
+COMMENT= GNU Compiler Collection, v3 - F77 compiler
-INFO_FILES= g77.info
+INFO_FILES= g77.info
-.include "../gcc3-c/buildaddon.mk"
+.include "../gcc3-c/language.mk"
CONFIGURE_ARGS+= --enable-languages="f77"
do-build:
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} f77)
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} g77)
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} all-target-libf2c)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} f77
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} g77
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} all-target-libf2c
post-build:
@${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc3.mk > ${WRKDIR}/gcc3.mk
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/gcc/f771 ${GCC_ARCHDIR}
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- f77.install-common f77.install-info f77.install-man)
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- install-target-libf2c)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ f77.install-common f77.install-info f77.install-man
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ install-target-libf2c
post-install:
- ${INSTALL_DATA} ${WRKDIR}/gcc3.mk \
- ${GCC_PREFIX}/mk/f77.mk
+ ${INSTALL_DATA} ${WRKDIR}/gcc3.mk ${GCC_PREFIX}/mk/f77.mk
# ${LN} -f ${GCC_PREFIX}/bin/g77 ${GCC_PREFIX}/bin/f77
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/gcc3-f77/buildlink2.mk b/lang/gcc3-f77/buildlink2.mk
new file mode 100644
index 00000000000..73555caa244
--- /dev/null
+++ b/lang/gcc3-f77/buildlink2.mk
@@ -0,0 +1,35 @@
+# $NetBSD: buildlink2.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+.if !defined(GCC3F77_BUILDLINK2_MK)
+GCC3F77_BUILDLINK2_MK= # defined
+
+.include "../../mk/bsd.prefs.mk"
+
+.if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+.endif
+BUILDLINK_PACKAGES+= gcc3f77
+BUILDLINK_DEPENDS.gcc3f77?= gcc3${GCC3_PKGMODIF}-f77>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3f77?= ../../lang/gcc3-f77
+
+# Packages that link against gcc shared libraries need a full
+# dependency.
+#
+.if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3f77+= full
+.else
+BUILDLINK_DEPMETHOD.gcc3f77?= build
+.endif
+
+BUILDLINK_PREFIX.gcc3f77= ${LOCALBASE}
+BUILDLINK_WRAPPER_ENV+= \
+ COMPILER_PATH="${BUILDLINK_DIR}/bin"; export COMPILER_PATH
+
+BUILDLINK_FILES.gcc3f77= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/g2c.h
+BUILDLINK_FILES.gcc3f77+= ${_GCC_SUBPREFIX}lib/libg2c.*
+
+BUILDLINK_TARGETS+= gcc3f77-buildlink
+
+gcc3f77-buildlink: _BUILDLINK_USE
+
+.endif # GCC3F77_BUILDLINK2_MK
diff --git a/lang/gcc3-f77/buildlink3.mk b/lang/gcc3-f77/buildlink3.mk
new file mode 100644
index 00000000000..cb0fb898fe0
--- /dev/null
+++ b/lang/gcc3-f77/buildlink3.mk
@@ -0,0 +1,25 @@
+# $NetBSD: buildlink3.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+GCC3F77_BUILDLINK3_MK:= ${GCC3F77_BUILDLINK3_MK}+
+
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(GCC3F77_BUILDLINK3_MK:M+)
+. if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+. endif
+BUILDLINK_PACKAGES+= gcc3f77
+BUILDLINK_DEPENDS+= gcc3f77
+BUILDLINK_DEPENDS.gcc3f77+= gcc3${GCC3_PKGMODIF}-f77>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3f77?= ../../lang/gcc3-f77
+
+# Packages that link against shared libraries need a full dependency.
+. if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3f77+= full
+. else
+BUILDLINK_DEPMETHOD.gcc3f77?= build
+. endif
+.endif # GCC3F77_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/lang/gcc3-java/DESCR b/lang/gcc3-java/DESCR
index bef410282ba..b55c929570e 100644
--- a/lang/gcc3-java/DESCR
+++ b/lang/gcc3-java/DESCR
@@ -1,14 +1,3 @@
-This directory contains the GNU Compiler Collection (GCC) version 3.3.
-It includes all of the support for compiling C, C++, Objective C, Fortran,
-Java, and Chill.
+The GNU Compiler Collection (GCC) version 3.x.
-The GNU Compiler Collection is free software. See the file COPYING for copying
-permission.
-
-See the file gcc.texi (together with other files that it includes) for
-installation and porting information. The file INSTALL contains a
-copy of the installation information, as plain ASCII.
-
-See the Bugs chapter of the GCC Manual for how to report bugs
-usefully. An online readable version of the manual is in the files
-gcc.info*.
+This package includes support for compiling the Java language.
diff --git a/lang/gcc3-java/Makefile b/lang/gcc3-java/Makefile
index a58a5250c74..a8bd5684af0 100644
--- a/lang/gcc3-java/Makefile
+++ b/lang/gcc3-java/Makefile
@@ -1,34 +1,35 @@
-# $NetBSD: Makefile,v 1.8 2003/12/03 11:28:55 drochner Exp $
-#
+# $NetBSD: Makefile,v 1.9 2004/02/01 14:05:47 jlam Exp $
-PKGNAME= gcc3${GCC3_PKGMODIF}-java-${GCC_VERSION}
-COMMENT= GNU Compiler Collection, version 3, Java compiler
+PKGNAME= gcc3${GCC3_PKGMODIF}-java-${GCC_VERSION}
+COMMENT= GNU Compiler Collection, v3 - Java compiler
-INFO_FILES= gcj.info
+INFO_FILES= gcj.info
-.include "../../lang/gcc3-c/buildaddon.mk"
+.include "../gcc3-c/language.mk"
-BUILD_DEPENDS+= gcc3${GCC3_PKGMODIF}-c++-3.3.2:../../lang/gcc3-c++
+BUILD_DEPENDS+= gcc3${GCC3_PKGMODIF}-c++>=3.3.2:../../lang/gcc3-c++
CONFIGURE_ARGS+= --enable-languages="java"
CONFIGURE_ARGS+= --with-system-zlib
+
# done manually in do-build
#UNLIMIT_RESOURCES= datasize
do-build:
- (cd ${WRKSRC}/gcc && ${GMAKE} java)
- (${ULIMIT_CMD_datasize}; cd ${WRKSRC} && ${GMAKE} all-target-libjava)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} java
+ ${ULIMIT_CMD_datasize}; cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+ ${GMAKE} all-target-libjava
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/gcc/jc1 ${GCC_ARCHDIR}
${INSTALL_PROGRAM} ${WRKSRC}/gcc/gcj ${GCC_ARCHDIR}
${INSTALL_PROGRAM} ${WRKSRC}/gcc/jvgenmain ${GCC_ARCHDIR}
${INSTALL_PROGRAM} ${WRKSRC}/gcc/gcjh ${GCC_ARCHDIR}
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- java.install-common java.install-info)
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- install-target-libjava)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ java.install-common java.install-info
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ install-target-libjava
-.include "../../devel/zlib/buildlink2.mk"
+.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
# On NetBSD, the gcc-2.95.3 for:
@@ -45,8 +46,8 @@ do-install:
#
.if ${OPSYS} == "NetBSD"
. if ${MACHINE_ARCH} == "alpha"
-CONFIG_CFLAGS= ${CFLAGS:C/-O[0-9]*//g}
+CONFIG_CFLAGS= ${CFLAGS:C/-O[0-9]*//g}
CONFIG_CPPFLAGS= ${CPPFLAGS:C/-O[0-9]*//g}
-CONFIGURE_ENV+= CFLAGS="${CONFIG_CFLAGS}" CPPFLAGS="${CONFIG_CPPFLAGS}"
+CONFIGURE_ENV+= CFLAGS="${CONFIG_CFLAGS}" CPPFLAGS="${CONFIG_CPPFLAGS}"
. endif
.endif
diff --git a/lang/gcc3-java/buildlink2.mk b/lang/gcc3-java/buildlink2.mk
new file mode 100644
index 00000000000..79abd09002c
--- /dev/null
+++ b/lang/gcc3-java/buildlink2.mk
@@ -0,0 +1,35 @@
+# $NetBSD: buildlink2.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+.if !defined(GCC3JAVA_BUILDLINK2_MK)
+GCC3JAVA_BUILDLINK2_MK= # defined
+
+.include "../../mk/bsd.prefs.mk"
+
+.if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+.endif
+BUILDLINK_PACKAGES+= gcc3java
+BUILDLINK_DEPENDS.gcc3java?= gcc3${GCC3_PKGMODIF}-java>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3java?= ../../lang/gcc3-java
+
+# Packages that link against gcc shared libraries need a full
+# dependency.
+#
+.if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3java+= full
+.else
+BUILDLINK_DEPMETHOD.gcc3java?= build
+.endif
+
+BUILDLINK_PREFIX.gcc3java= ${LOCALBASE}
+BUILDLINK_WRAPPER_ENV+= \
+ COMPILER_PATH="${BUILDLINK_DIR}/bin"; export COMPILER_PATH
+
+BUILDLINK_FILES.gcc3java= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/java/*
+BUILDLINK_FILES.gcc3java+= ${_GCC_SUBPREFIX}/lib/libjava.*
+
+BUILDLINK_TARGETS+= gcc3java-buildlink
+
+gcc3java-buildlink: _BUILDLINK_USE
+
+.endif # GCC3JAVA_BUILDLINK2_MK
diff --git a/lang/gcc3-java/buildlink3.mk b/lang/gcc3-java/buildlink3.mk
new file mode 100644
index 00000000000..16147dec300
--- /dev/null
+++ b/lang/gcc3-java/buildlink3.mk
@@ -0,0 +1,25 @@
+# $NetBSD: buildlink3.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+GCC3JAVA_BUILDLINK3_MK:= ${GCC3JAVA_BUILDLINK3_MK}+
+
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(GCC3JAVA_BUILDLINK3_MK:M+)
+. if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+. endif
+BUILDLINK_PACKAGES+= gcc3java
+BUILDLINK_DEPENDS+= gcc3java
+BUILDLINK_DEPENDS.gcc3java+= gcc3${GCC3_PKGMODIF}-java>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3java?= ../../lang/gcc3-java
+
+# Packages that link against shared libraries need a full dependency.
+. if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3java+= full
+. else
+BUILDLINK_DEPMETHOD.gcc3java?= build
+. endif
+.endif # GCC3JAVA_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/lang/gcc3-objc/DESCR b/lang/gcc3-objc/DESCR
index bef410282ba..967a25889e1 100644
--- a/lang/gcc3-objc/DESCR
+++ b/lang/gcc3-objc/DESCR
@@ -1,14 +1,3 @@
-This directory contains the GNU Compiler Collection (GCC) version 3.3.
-It includes all of the support for compiling C, C++, Objective C, Fortran,
-Java, and Chill.
+The GNU Compiler Collection (GCC) version 3.x.
-The GNU Compiler Collection is free software. See the file COPYING for copying
-permission.
-
-See the file gcc.texi (together with other files that it includes) for
-installation and porting information. The file INSTALL contains a
-copy of the installation information, as plain ASCII.
-
-See the Bugs chapter of the GCC Manual for how to report bugs
-usefully. An online readable version of the manual is in the files
-gcc.info*.
+This package includes support for compiling the Objective C language.
diff --git a/lang/gcc3-objc/Makefile b/lang/gcc3-objc/Makefile
index 821e2a1c9f0..b06eb5206e0 100644
--- a/lang/gcc3-objc/Makefile
+++ b/lang/gcc3-objc/Makefile
@@ -1,20 +1,19 @@
-# $NetBSD: Makefile,v 1.6 2003/08/11 14:16:06 drochner Exp $
-#
+# $NetBSD: Makefile,v 1.7 2004/02/01 14:05:47 jlam Exp $
-PKGNAME= gcc3${GCC3_PKGMODIF}-objc-${GCC_VERSION}
-COMMENT= GNU Compiler Collection, version 3, objc compiler
+PKGNAME= gcc3${GCC3_PKGMODIF}-objc-${GCC_VERSION}
+COMMENT= GNU Compiler Collection, v3 - Objective C compiler
-.include "../gcc3-c/buildaddon.mk"
+.include "../gcc3-c/language.mk"
CONFIGURE_ARGS+= --enable-languages="objc"
do-build:
- (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} objc)
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} all-target-libobjc)
+ cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} objc
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} all-target-libobjc
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/gcc/cc1obj ${GCC_ARCHDIR}
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
- install-target-libobjc)
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ install-target-libobjc
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/gcc3-objc/buildlink2.mk b/lang/gcc3-objc/buildlink2.mk
new file mode 100644
index 00000000000..e636c85214a
--- /dev/null
+++ b/lang/gcc3-objc/buildlink2.mk
@@ -0,0 +1,35 @@
+# $NetBSD: buildlink2.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+.if !defined(GCC3OBJC_BUILDLINK2_MK)
+GCC3OBJC_BUILDLINK2_MK= # defined
+
+.include "../../mk/bsd.prefs.mk"
+
+.if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+.endif
+BUILDLINK_PACKAGES+= gcc3objc
+BUILDLINK_DEPENDS.gcc3objc?= gcc3${GCC3_PKGMODIF}-objc>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3objc?= ../../lang/gcc3-objc
+
+# Packages that link against gcc shared libraries need a full
+# dependency.
+#
+.if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3objc+= full
+.else
+BUILDLINK_DEPMETHOD.gcc3objc?= build
+.endif
+
+BUILDLINK_PREFIX.gcc3objc= ${LOCALBASE}
+BUILDLINK_WRAPPER_ENV+= \
+ COMPILER_PATH="${BUILDLINK_DIR}/bin"; export COMPILER_PATH
+
+BUILDLINK_FILES.gcc3objc= ${_GCC_SUBPREFIX}lib/gcc-lib/*/*/include/objc/*
+BUILDLINK_FILES.gcc3objc+= ${_GCC_SUBPREFIX}/lib/libobjc.*
+
+BUILDLINK_TARGETS+= gcc3objc-buildlink
+
+gcc3objc-buildlink: _BUILDLINK_USE
+
+.endif # GCC3OBJC_BUILDLINK2_MK
diff --git a/lang/gcc3-objc/buildlink3.mk b/lang/gcc3-objc/buildlink3.mk
new file mode 100644
index 00000000000..d7a069d3177
--- /dev/null
+++ b/lang/gcc3-objc/buildlink3.mk
@@ -0,0 +1,25 @@
+# $NetBSD: buildlink3.mk,v 1.1 2004/02/01 14:05:47 jlam Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+GCC3OBJC_BUILDLINK3_MK:= ${GCC3OBJC_BUILDLINK3_MK}+
+
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(GCC3OBJC_BUILDLINK3_MK:M+)
+. if defined(GCC3_INSTALLTO_SUBPREFIX)
+GCC3_PKGMODIF= _${GCC3_INSTALLTO_SUBPREFIX}
+. endif
+BUILDLINK_PACKAGES+= gcc3objc
+BUILDLINK_DEPENDS+= gcc3objc
+BUILDLINK_DEPENDS.gcc3objc+= gcc3${GCC3_PKGMODIF}-objc>=${_GCC_REQD}
+BUILDLINK_PKGSRCDIR.gcc3objc?= ../../lang/gcc3-objc
+
+# Packages that link against shared libraries need a full dependency.
+. if defined(USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc3objc+= full
+. else
+BUILDLINK_DEPMETHOD.gcc3objc?= build
+. endif
+.endif # GCC3OBJC_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}