summaryrefslogtreecommitdiff
path: root/lang/gcc3-c
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2003-07-06 12:15:03 +0000
committerdrochner <drochner@pkgsrc.org>2003-07-06 12:15:03 +0000
commitbf1c6cfe932f764ccfa3e9d8784a98172abc845c (patch)
tree90757239cbac9281a1efbec2ae6d03efee333d33 /lang/gcc3-c
parent4c586379b2a59d138889252a174ea71e06214844 (diff)
downloadpkgsrc-bf1c6cfe932f764ccfa3e9d8784a98172abc845c.tar.gz
Split the gcc3 pkg into per-language pieces.
Needs some cleanup and integration; eventually lang/gcc3 can turn into a meta-pkg.
Diffstat (limited to 'lang/gcc3-c')
-rw-r--r--lang/gcc3-c/DESCR14
-rw-r--r--lang/gcc3-c/MESSAGE7
-rw-r--r--lang/gcc3-c/Makefile106
-rw-r--r--lang/gcc3-c/PLIST15
-rw-r--r--lang/gcc3-c/buildlink2.mk35
-rw-r--r--lang/gcc3-c/distinfo8
-rw-r--r--lang/gcc3-c/files/gcc3.mk10
-rw-r--r--lang/gcc3-c/patches/patch-aa21
-rw-r--r--lang/gcc3-c/patches/patch-ab26
-rw-r--r--lang/gcc3-c/patches/patch-ae9
-rw-r--r--lang/gcc3-c/patches/patch-ai13
11 files changed, 264 insertions, 0 deletions
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"