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-c/DESCR | 14 ++++++ lang/gcc3-c/MESSAGE | 7 +++ lang/gcc3-c/Makefile | 106 +++++++++++++++++++++++++++++++++++++++++++ lang/gcc3-c/PLIST | 15 ++++++ lang/gcc3-c/buildlink2.mk | 35 ++++++++++++++ lang/gcc3-c/distinfo | 8 ++++ lang/gcc3-c/files/gcc3.mk | 10 ++++ lang/gcc3-c/patches/patch-aa | 21 +++++++++ lang/gcc3-c/patches/patch-ab | 26 +++++++++++ lang/gcc3-c/patches/patch-ae | 9 ++++ lang/gcc3-c/patches/patch-ai | 13 ++++++ 11 files changed, 264 insertions(+) create mode 100644 lang/gcc3-c/DESCR create mode 100644 lang/gcc3-c/MESSAGE create mode 100644 lang/gcc3-c/Makefile create mode 100644 lang/gcc3-c/PLIST create mode 100644 lang/gcc3-c/buildlink2.mk create mode 100644 lang/gcc3-c/distinfo create mode 100644 lang/gcc3-c/files/gcc3.mk create mode 100644 lang/gcc3-c/patches/patch-aa create mode 100644 lang/gcc3-c/patches/patch-ab create mode 100644 lang/gcc3-c/patches/patch-ae create mode 100644 lang/gcc3-c/patches/patch-ai (limited to 'lang/gcc3-c') diff --git a/lang/gcc3-c/DESCR b/lang/gcc3-c/DESCR new file mode 100644 index 00000000000..bef410282ba --- /dev/null +++ b/lang/gcc3-c/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-c/MESSAGE b/lang/gcc3-c/MESSAGE new file mode 100644 index 00000000000..32ccdacd8e6 --- /dev/null +++ b/lang/gcc3-c/MESSAGE @@ -0,0 +1,7 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1 2003/07/06 12:15:06 drochner Exp $ + +To use ${PKGNAME} include "${PREFIX}/share/examples/gcc/mk.conf" in your +BSD style makefile. + +=========================================================================== diff --git a/lang/gcc3-c/Makefile b/lang/gcc3-c/Makefile new file mode 100644 index 00000000000..46edb3a69b9 --- /dev/null +++ b/lang/gcc3-c/Makefile @@ -0,0 +1,106 @@ +# $NetBSD: Makefile,v 1.1 2003/07/06 12:15:07 drochner Exp $ +# + +DISTNAME= gcc-3.3 +PKGNAME= gcc3-c-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 + +# XXX just because of .info files +#CONFLICTS+= gcc-3* pgcc-[0-9]* gcc3-[0-9]* + +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} + +# as this is named gcc3, use DISTNAME instead. +FILES_SUBST+= PKGNAME_NOREV=${DISTNAME} GCC_PREFIX=${GCC_PREFIX} +MESSAGE_SUBST+= PKGNAME_NOREV=${DISTNAME} + +TEXINFO_REQD= 4.2 +INFO_FILES= cpp.info gcc.info + +.include "../../mk/bsd.prefs.mk" +.if ${OPSYS} == "NetBSD" && exists(/usr/include/pthread.h) +CONFIGURE_ARGS+= --host=${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 +CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM} +.endif +CONFIGURE_ARGS+= --enable-languages="c" + +.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 +.endif + +.if defined(USE_BINUTILS) && ${USE_BINUTILS} == "YES" +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" +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_PREFIX= ${PREFIX}/gcc3 +PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC +GCC_ARCHDIR= ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${PKGVERSION} + +pre-configure: + ${MKDIR} ${BUILD_DIRS} + cd ${WRKSRC} && contrib/gcc_update --touch + +post-build: + @${SED} ${FILES_SUBST_SED} ${FILESDIR}/gcc3.mk > ${WRKDIR}/gcc3.mk + +post-install: +.if ${OPSYS} == "SunOS" + -cd ${GCC_ARCHDIR}/include && ${RM} -f fixed && ${RMDIR} v7 v9 +.endif + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/gcc + ${INSTALL_DATA} ${WRKDIR}/gcc3.mk ${PREFIX}/share/examples/gcc/mk.conf + ${LN} -f ${GCC_PREFIX}/bin/gcc ${GCC_PREFIX}/bin/cc + ${CP} -f ${PKGDIR}/PLIST ${PLIST_SRC} + ${FIND} ${GCC_PREFIX} \( -type f -o -type l \) -print \ + | ${SORT} | ${SED} -e "s,${PREFIX}/,,g" \ + >> ${PLIST_SRC} + ${FIND} ${GCC_PREFIX} -type d -print \ + | ${SORT} -r | ${SED} -e "s,${PREFIX}/,@dirrm ,g" \ + >> ${PLIST_SRC} + +.include "../../mk/texinfo.mk" +.include "../../mk/bsd.pkg.mk" + +# Make bootstrap with compiler != gcc possible. +CONFIGURE_ENV+= LDFLAGS="${_STRIPFLAG_CC}" +MAKE_ENV+= GCC_PREFIX="${GCC_PREFIX}" diff --git a/lang/gcc3-c/PLIST b/lang/gcc3-c/PLIST new file mode 100644 index 00000000000..7c629b56cc5 --- /dev/null +++ b/lang/gcc3-c/PLIST @@ -0,0 +1,15 @@ +@comment $NetBSD: PLIST,v 1.1 2003/07/06 12:15:07 drochner Exp $ +@unexec ${INSTALL_INFO} --delete %D/info/cpp.info %D/info/dir +info/cpp.info +@exec ${INSTALL_INFO} %D/info/cpp.info %D/info/dir +@unexec ${INSTALL_INFO} --delete %D/info/gcc.info %D/info/dir +info/gcc.info +@exec ${INSTALL_INFO} %D/info/gcc.info %D/info/dir +@unexec ${INSTALL_INFO} --delete %D/info/gccint.info %D/info/dir +info/gccint.info +@exec ${INSTALL_INFO} %D/info/gccint.info %D/info/dir +@unexec ${INSTALL_INFO} --delete %D/info/cppinternals.info %D/info/dir +info/cppinternals.info +@exec ${INSTALL_INFO} %D/info/cppinternals.info %D/info/dir +share/examples/gcc/mk.conf +@dirrm share/examples/gcc diff --git a/lang/gcc3-c/buildlink2.mk b/lang/gcc3-c/buildlink2.mk new file mode 100644 index 00000000000..fd5414e6433 --- /dev/null +++ b/lang/gcc3-c/buildlink2.mk @@ -0,0 +1,35 @@ +# $NetBSD: buildlink2.mk,v 1.1 2003/07/06 12:15:07 drochner Exp $ + +.if !defined(GCC3_C_BUILDLINK2_MK) +GCC3_C_BUILDLINK2_MK= # defined + +BUILDLINK_DEPENDS.gcc3c?= gcc3-c-3.3 +BUILDLINK_PKGSRCDIR.gcc3c?= ../../lang/gcc3-c + +BUILDLINK_PREFIX.gcc3c= ${LOCALBASE} + +_GCC_SUBPREFIX= gcc3/ +_GCC_PREFIX= ${BUILDLINK_PREFIX.gcc3c}/${_GCC_SUBPREFIX} +_GCC_LIBGCCDIR!= \ + dirname `${_GCC_PREFIX}bin/gcc --print-libgcc-file-name` +_GCC_ARCHSUBDIR= \ + ${_GCC_LIBGCCDIR:S|^${BUILDLINK_PREFIX.gcc3c}/${_GCC_SUBPREFIX}||} +_GCC_ARCHDIR= ${_GCC_PREFIX}${_GCC_ARCHSUBDIR} + +BUILDLINK_PACKAGES+= gcc3c + +# These files are from gcc-3.3. +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}${_GCC_ARCHSUBDIR}/include/* +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}${_GCC_ARCHSUBDIR}/include/*/* +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}${_GCC_ARCHSUBDIR}/include/*/*/* +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}${_GCC_ARCHSUBDIR}/include/*/*/*/* +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}${_GCC_ARCHSUBDIR}/lib*.* +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}${_GCC_ARCHSUBDIR}/specs +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/libgcc_s.* +BUILDLINK_FILES.gcc3c+= ${_GCC_SUBPREFIX}lib/libiberty.* + +BUILDLINK_TARGETS+= gcc3c-buildlink + +gcc3c-buildlink: _BUILDLINK_USE + +.endif # GCC3_C_BUILDLINK2_MK diff --git a/lang/gcc3-c/distinfo b/lang/gcc3-c/distinfo new file mode 100644 index 00000000000..4ede7a5953f --- /dev/null +++ b/lang/gcc3-c/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1 2003/07/06 12:15:07 drochner Exp $ + +SHA1 (gcc-3.3.tar.bz2) = 18e23822c6dc9cb462e0ff88bc1b8a20c53da60a +Size (gcc-3.3.tar.bz2) = 23447616 bytes +SHA1 (patch-aa) = 029b1f58f75f3a28b69894dfc87e5fa5eab257d9 +SHA1 (patch-ab) = 3cb04098b3d97b1da9d24d64197dcea2771c9624 +SHA1 (patch-ae) = e5dd184ca1b0c415215e82d0250469792a432741 +SHA1 (patch-ai) = bb9f4975769cd104b25b4609a1d4c888bb147bb1 diff --git a/lang/gcc3-c/files/gcc3.mk b/lang/gcc3-c/files/gcc3.mk new file mode 100644 index 00000000000..916cb6fe2ee --- /dev/null +++ b/lang/gcc3-c/files/gcc3.mk @@ -0,0 +1,10 @@ +# $NetBSD: gcc3.mk,v 1.1 2003/07/06 12:15:08 drochner Exp $ +# +# make configuration file for @PKGNAME_NOREV@ + +USE_GCC3= # defined +CC= @GCC_PREFIX@/bin/cc +CPP= @GCC_PREFIX@/bin/cpp +CXX= @GCC_PREFIX@/bin/c++ +F77= @GCC_PREFIX@/bin/g77 +PKG_FC= @GCC_PREFIX@/bin/g77 diff --git a/lang/gcc3-c/patches/patch-aa b/lang/gcc3-c/patches/patch-aa new file mode 100644 index 00000000000..5ef78495cdf --- /dev/null +++ b/lang/gcc3-c/patches/patch-aa @@ -0,0 +1,21 @@ +$NetBSD: patch-aa,v 1.1 2003/07/06 12:15:08 drochner Exp $ + +--- Makefile.in.orig Wed May 14 10:18:14 2003 ++++ Makefile.in +@@ -153,11 +153,11 @@ M4 = `if [ -f $$r/m4/m4 ] ; \ + + # 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 diff --git a/lang/gcc3-c/patches/patch-ab b/lang/gcc3-c/patches/patch-ab new file mode 100644 index 00000000000..b56380c117f --- /dev/null +++ b/lang/gcc3-c/patches/patch-ab @@ -0,0 +1,26 @@ +$NetBSD: patch-ab,v 1.1 2003/07/06 12:15:08 drochner Exp $ + +--- gcc/Makefile.in.orig Tue Jan 28 16:54:07 2003 ++++ gcc/Makefile.in Sat May 24 13:01:38 2003 +@@ -1236,6 +1236,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)\" \ +@@ -2662,11 +2663,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; \ diff --git a/lang/gcc3-c/patches/patch-ae b/lang/gcc3-c/patches/patch-ae new file mode 100644 index 00000000000..f3ce9f9c54b --- /dev/null +++ b/lang/gcc3-c/patches/patch-ae @@ -0,0 +1,9 @@ +$NetBSD: patch-ae,v 1.1 2003/07/06 12:15:08 drochner Exp $ + +--- gcc/config/t-netbsd.orig 2003-06-11 19:38:33.000000000 +0200 ++++ gcc/config/t-netbsd 2003-06-11 19:38:59.000000000 +0200 +@@ -3,3 +3,4 @@ + + # Always build crtstuff with PIC. + CRTSTUFF_T_CFLAGS = -fPIC ++TARGET_LIBGCC2_CFLAGS += -fPIC diff --git a/lang/gcc3-c/patches/patch-ai b/lang/gcc3-c/patches/patch-ai new file mode 100644 index 00000000000..d5dc6b3d2dd --- /dev/null +++ b/lang/gcc3-c/patches/patch-ai @@ -0,0 +1,13 @@ +$NetBSD: patch-ai,v 1.1 2003/07/06 12:15:08 drochner Exp $ + +--- gcc/configure.orig 2003-07-04 12:51:47.000000000 +0200 ++++ gcc/configure 2003-07-04 12:52:44.000000000 +0200 +@@ -8559,7 +8559,7 @@ + lang_specs_files= + lang_options_files= + lang_tree_files= +-for subdir in . $subdirs ++for subdir in . cp f java objc ada + do + if test -f $srcdir/$subdir/lang-specs.h; then + lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h" -- cgit v1.2.3