From bf1c6cfe932f764ccfa3e9d8784a98172abc845c Mon Sep 17 00:00:00 2001 From: drochner Date: Sun, 6 Jul 2003 12:15:03 +0000 Subject: Split the gcc3 pkg into per-language pieces. Needs some cleanup and integration; eventually lang/gcc3 can turn into a meta-pkg. --- lang/gcc3-objc/DESCR | 14 ++++++++ lang/gcc3-objc/Makefile | 72 +++++++++++++++++++++++++++++++++++++++++ lang/gcc3-objc/PLIST | 19 +++++++++++ lang/gcc3-objc/distinfo | 6 ++++ lang/gcc3-objc/patches/patch-aa | 34 +++++++++++++++++++ lang/gcc3-objc/patches/patch-ab | 37 +++++++++++++++++++++ 6 files changed, 182 insertions(+) create mode 100644 lang/gcc3-objc/DESCR create mode 100644 lang/gcc3-objc/Makefile create mode 100644 lang/gcc3-objc/PLIST create mode 100644 lang/gcc3-objc/distinfo create mode 100644 lang/gcc3-objc/patches/patch-aa create mode 100644 lang/gcc3-objc/patches/patch-ab (limited to 'lang/gcc3-objc') diff --git a/lang/gcc3-objc/DESCR b/lang/gcc3-objc/DESCR new file mode 100644 index 00000000000..bef410282ba --- /dev/null +++ b/lang/gcc3-objc/DESCR @@ -0,0 +1,14 @@ +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 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*. diff --git a/lang/gcc3-objc/Makefile b/lang/gcc3-objc/Makefile new file mode 100644 index 00000000000..415272a060a --- /dev/null +++ b/lang/gcc3-objc/Makefile @@ -0,0 +1,72 @@ +# $NetBSD: Makefile,v 1.1 2003/07/06 12:15:12 drochner Exp $ +# + +DISTNAME= gcc-3.3 +PKGNAME= gcc3-objc-3.3 +CATEGORIES= lang +MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-3.3/} +EXTRACT_SUFX= .tar.bz2 + +MAINTAINER= tech-pkg@netbsd.org +HOMEPAGE= http://www.gnu.org/software/gcc/gcc.html +COMMENT= GNU Compiler Collection + +NOT_FOR_PLATFORM= Darwin-*-* + +USE_BUILDLINK2= YES +USE_PKGINSTALL= YES +USE_GMAKE= YES + +HAS_CONFIGURE= YES + +CONFIGURE_ARGS+= --infodir=${PREFIX}/info +CONFIGURE_ARGS+= --prefix=${GCC_PREFIX} +CONFIGURE_ARGS+= --enable-languages="objc" + +.include "../../mk/bsd.prefs.mk" +.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 +.else +GCC_PLATFORM= ${MACHINE_GNU_PLATFORM} +.endif +CONFIGURE_ARGS+= --host=${GCC_PLATFORM} +PLIST_SUBST+= GCC_PLATFORM=${GCC_PLATFORM} + +.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Linux" +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 + +# as this is named gcc3, use DISTNAME instead. +GCC_PREFIX= ${PREFIX}/gcc3 +GCC_ARCHDIR= ${GCC_PREFIX}/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION} + +pre-configure: + ${MKDIR} ${BUILD_DIRS} + cd ${WRKSRC} && contrib/gcc_update --touch + +do-build: + ${LN} -sf ${GCC_PREFIX}/bin/gcc ${WRKSRC}/gcc/xgcc + (cd ${WRKSRC}/gcc && ${SETENV} ${MAKE_ENV} ${GMAKE} tconfig.h) + (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) + +.include "../../lang/gcc3-c/buildlink2.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/lang/gcc3-objc/PLIST b/lang/gcc3-objc/PLIST new file mode 100644 index 00000000000..8f2d609c351 --- /dev/null +++ b/lang/gcc3-objc/PLIST @@ -0,0 +1,19 @@ +@comment $NetBSD: PLIST,v 1.1 2003/07/06 12:15:12 drochner Exp $ +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/cc1obj +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/NXConstStr.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/Object.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/Protocol.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/encoding.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/hash.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/objc-api.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/objc-list.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/objc.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/sarray.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/thr.h +gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc/typedstream.h +gcc3/lib/libobjc.a +gcc3/lib/libobjc.la +gcc3/lib/libobjc.so +gcc3/lib/libobjc.so.1 +gcc3/lib/libobjc.so.1.0 +@dirrm gcc3/lib/gcc-lib/${GCC_PLATFORM}/${PKGVERSION}/include/objc diff --git a/lang/gcc3-objc/distinfo b/lang/gcc3-objc/distinfo new file mode 100644 index 00000000000..2d2f533024f --- /dev/null +++ b/lang/gcc3-objc/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1 2003/07/06 12:15:12 drochner Exp $ + +SHA1 (gcc-3.3.tar.bz2) = 18e23822c6dc9cb462e0ff88bc1b8a20c53da60a +Size (gcc-3.3.tar.bz2) = 23447616 bytes +SHA1 (patch-aa) = d52683aa45749ac357549d356abe42537288f352 +SHA1 (patch-ab) = d2f4bf95eaf58e1b388771f1bc2d2083c9dcf514 diff --git a/lang/gcc3-objc/patches/patch-aa b/lang/gcc3-objc/patches/patch-aa new file mode 100644 index 00000000000..6d802991cef --- /dev/null +++ b/lang/gcc3-objc/patches/patch-aa @@ -0,0 +1,34 @@ +$NetBSD: patch-aa,v 1.1 2003/07/06 12:15:13 drochner Exp $ + +--- Makefile.in.orig 2003-05-14 02:18:14.000000000 +0200 ++++ Makefile.in 2003-07-03 18:02:24.000000000 +0200 +@@ -153,11 +153,11 @@ + + # For an installed makeinfo, we require it to be from texinfo 4.2 or + # higher, else we use the "missing" dummy. +-MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ +- then echo $$r/texinfo/makeinfo/makeinfo ; \ +- else if (makeinfo --version \ +- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ +- then echo makeinfo; else echo $$s/missing makeinfo; fi; fi` ++#MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ ++# then echo $$r/texinfo/makeinfo/makeinfo ; \ ++# else if (makeinfo --version \ ++# | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ ++# then echo makeinfo; else echo $$s/missing makeinfo; fi; fi` + + # This just becomes part of the MAKEINFO definition passed down to + # sub-makes. It lets flags be given on the command line while still +@@ -1642,9 +1642,9 @@ + + install-dosrel-fake: + +-ALL_GCC = all-gcc +-ALL_GCC_C = $(ALL_GCC) all-target-newlib all-target-libgloss +-ALL_GCC_CXX = $(ALL_GCC_C) all-target-libstdc++-v3 ++#ALL_GCC = all-gcc ++#ALL_GCC_C = $(ALL_GCC) all-target-newlib all-target-libgloss ++#ALL_GCC_CXX = $(ALL_GCC_C) all-target-libstdc++-v3 + + # This is a list of inter-dependencies among modules. + all-ash: diff --git a/lang/gcc3-objc/patches/patch-ab b/lang/gcc3-objc/patches/patch-ab new file mode 100644 index 00000000000..d43cb90ec09 --- /dev/null +++ b/lang/gcc3-objc/patches/patch-ab @@ -0,0 +1,37 @@ +$NetBSD: patch-ab,v 1.1 2003/07/06 12:15:13 drochner Exp $ + +--- gcc/Makefile.in.orig 2003-04-22 17:50:48.000000000 +0200 ++++ gcc/Makefile.in 2003-07-03 17:21:34.000000000 +0200 +@@ -617,8 +617,8 @@ + + # Build and host support libraries. FORBUILD is either + # .. or ../$(build_alias) depending on whether host != build. +-LIBIBERTY = ../libiberty/libiberty.a +-BUILD_LIBIBERTY = @FORBUILD@/libiberty/libiberty.a ++LIBIBERTY = ${prefix}/lib/libiberty.a ++BUILD_LIBIBERTY = ${prefix}/lib/libiberty.a + + # Dependencies on the intl and portability libraries. + LIBDEPS= $(INTLDEPS) $(LIBIBERTY) +@@ -1273,6 +1273,7 @@ + # Language-independent files. + + DRIVER_DEFINES = \ ++ -DLINK_LIBGCC_SPEC="\"%D $(RPATH_FLAG)$(GCC_PREFIX)/lib\"" \ + -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \ + -DDEFAULT_TARGET_VERSION=\"$(version)\" \ +@@ -2874,11 +2875,11 @@ + $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \ + done; \ + else true; fi +- -if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \ ++ -if $(SHELL) -c '${INSTALL_INFO} --version' >/dev/null 2>&1; then \ + if [ -f $(DESTDIR)$(infodir)/dir ] ; then \ + for f in cpp.info gcc.info gccint.info cppinternals.info; do \ + if [ -f $(DESTDIR)$(infodir)/$$f ]; then \ +- install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/$$f; \ ++ ${INSTALL_INFO} --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/$$f; \ + else true; fi; \ + done; \ + else true; fi; \ -- cgit v1.2.3