summaryrefslogtreecommitdiff
path: root/lang/gcc46
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2015-01-01 01:29:56 +0000
committerryoon <ryoon@pkgsrc.org>2015-01-01 01:29:56 +0000
commit23ebeb57e6f0c68c8240e42cab88cd1d1c40656f (patch)
tree614353cd19d444373339c3f4bac3fd14c672c40d /lang/gcc46
parent758b3191abf8d30a59555adb9b5bbeb4a753e7d0 (diff)
downloadpkgsrc-23ebeb57e6f0c68c8240e42cab88cd1d1c40656f.tar.gz
Bump PKGREVISION
* Add support code for gcc46-libs.
Diffstat (limited to 'lang/gcc46')
-rw-r--r--lang/gcc46/Makefile10
-rw-r--r--lang/gcc46/buildlink3.mk69
-rw-r--r--lang/gcc46/distinfo6
-rw-r--r--lang/gcc46/patches/patch-ac6
-rw-r--r--lang/gcc46/patches/patch-gcc_gcc.c19
5 files changed, 48 insertions, 62 deletions
diff --git a/lang/gcc46/Makefile b/lang/gcc46/Makefile
index 5780cd75922..262c59aea13 100644
--- a/lang/gcc46/Makefile
+++ b/lang/gcc46/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.27 2014/05/29 23:36:42 wiz Exp $
+# $NetBSD: Makefile,v 1.28 2015/01/01 01:29:56 ryoon Exp $
DISTNAME= gcc-${GCC_VERSION}
PKGNAME= gcc46-${GCC_VERSION}
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
EXTRACT_SUFX= .tar.bz2
@@ -29,6 +29,12 @@ NOT_FOR_PLATFORM= Interix-*-* DragonFly-*-*
UNLIMIT_RESOURCES+= datasize
UNLIMIT_RESOURCES+= stacksize
+GCC_TARGET_MACHINE?= ${MACHINE_GNU_PLATFORM}
+SUBST_CLASSES+= vars
+SUBST_STAGE.vars= pre-configure
+SUBST_FILES.vars= gcc/Makefile.in
+SUBST_VARS.vars= GCC_TARGET_MACHINE
+
.include "../../mk/bsd.prefs.mk"
.include "options.mk"
diff --git a/lang/gcc46/buildlink3.mk b/lang/gcc46/buildlink3.mk
index e98ff009317..f0dba4a4f06 100644
--- a/lang/gcc46/buildlink3.mk
+++ b/lang/gcc46/buildlink3.mk
@@ -1,74 +1,35 @@
-# $NetBSD: buildlink3.mk,v 1.7 2014/09/06 08:20:29 jperkin Exp $
+# $NetBSD: buildlink3.mk,v 1.8 2015/01/01 01:29:56 ryoon Exp $
BUILDLINK_TREE+= gcc46
.if !defined(GCC46_BUILDLINK3_MK)
GCC46_BUILDLINK3_MK:=
-FIND_PREFIX:= BUILDLINK_PREFIX.gcc46=gcc46
-.include "../../mk/find-prefix.mk"
-
-_GCC46_SUBDIR= gcc46
-_GCC46_PREFIX= ${BUILDLINK_PREFIX.gcc46}/${_GCC46_SUBDIR}
-
BUILDLINK_API_DEPENDS.gcc46+= gcc46>=4.6
BUILDLINK_ABI_DEPENDS.gcc46+= gcc46>=4.6.0
-BUILDLINK_PKGSRCDIR.gcc46?= ../../lang/gcc46
-
-.if exists(${_GCC46_PREFIX}/bin/gcc)
-
-# logic for detecting the ADA compiler (not yet supported)
-#gcc46_GNAT1!=${_GCC46_PREFIX}/bin/gcc -print-prog-name=gnat1
-#. if exists(${gcc46_GNAT1})
-#CONFIGURE_ENV+= ADAC=${_GCC46_PREFIX}/bin/gcc
-#MAKE_ENV+= ADAC=${_GCC46_PREFIX}/bin/gcc
-#. endif
-
-# add libraries
-BUILDLINK_LIBDIRS.gcc46+= ${_GCC46_SUBDIR}/lib
-
-# find the gcc architecture
-gcc46_GCC_ARCHDIR!= ${DIRNAME} `${_GCC46_PREFIX}/bin/gcc --print-libgcc-file-name`
-
-# add the architecture dep libraries
-. if empty(gcc46_GCC_ARCHDIR:M*not_found*)
-BUILDLINK_LIBDIRS.gcc46+= ${gcc46_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc46}\///}/
-
-# add the ada libraries (not yet supported)
-#. if exists(${gcc46_GNAT1})
-#BUILDLINK_LIBDIRS.gcc46+= ${gcc46_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc46}\///}/adalib
-#. endif
-
-# add the header files
-BUILDLINK_INCDIRS.gcc46+= ${_GCC46_SUBDIR}/include ${gcc46_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc46}\///}/include
-. endif
-.endif
+BUILDLINK_PKGSRCDIR.gcc46= ../../lang/gcc46
+BUILDLINK_DEPMETHOD.gcc46?= build
-BUILDLINK_FILES_CMD.gcc46= \
- (cd ${BUILDLINK_PREFIX.gcc46} && \
- ${FIND} ${_GCC46_SUBDIR}/bin ${_GCC46_SUBDIR}/include ${_GCC46_SUBDIR}/libexec ${_GCC46_SUBDIR}/lib \( -type f -o -type l \) -print)
+FIND_PREFIX:= BUILDLINK_PREFIX.gcc46=gcc46
+.include "../../mk/find-prefix.mk"
+BUILDLINK_PASSTHRU_DIRS+= ${BUILDLINK_PREFIX.gcc46}/gcc46
-# When not using the GNU linker, gcc will always link shared libraries
-# against the shared version of libgcc. Always enable _USE_GCC_SHILB on
-# platforms that don't use the GNU linker, such as SunOS.
-.include "../../mk/bsd.fast.prefs.mk"
-.if ${OPSYS} == "SunOS"
-_USE_GCC_SHLIB= yes
-.endif
+BUILDLINK_FILES.gcc46= #empty
+BUILDLINK_AUTO_VARS.gcc46= no
# Packages that link against shared libraries need a full dependency.
.if defined(_USE_GCC_SHLIB)
-BUILDLINK_DEPMETHOD.gcc46+= full
-.else
-BUILDLINK_DEPMETHOD.gcc46?= build
+DEPENDS+= {gcc46,gcc46-libs}>=4.6:../../lang/gcc46-libs
+ABI_DEPENDS+= {gcc46,gcc46-libs}>=4.6.0:../../lang/gcc46-libs
.endif
-.include "../../mk/pthread.buildlink3.mk"
pkgbase := gcc46
.include "../../mk/pkg-build-options.mk"
-.if !empty(PKG_BUILD_OPTIONS.gcc46:Mnls)
-.include "../../devel/gettext-lib/buildlink3.mk"
+.if !empty(PKG_BUILD_OPTIONS.gcc46:Mgcc-java)
+.include "../../devel/zlib/buildlink3.mk"
.endif
-.endif # GCC46_BUILDLINK3_MK
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.endif # GCC46_BUILDLINK3_MK
BUILDLINK_TREE+= -gcc46
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo
index 7065ea435b8..5744575e534 100644
--- a/lang/gcc46/distinfo
+++ b/lang/gcc46/distinfo
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.17 2014/09/05 09:32:31 pho Exp $
+$NetBSD: distinfo,v 1.18 2015/01/01 01:29:56 ryoon Exp $
SHA1 (gcc-4.6.4.tar.bz2) = 63933a8a5cf725626585dbba993c8b0f6db1335d
RMD160 (gcc-4.6.4.tar.bz2) = 6a58b053812cf75622bc4579e020cd9471f46916
Size (gcc-4.6.4.tar.bz2) = 72006076 bytes
SHA1 (patch-aa) = 8bb19e38cacf5dbf9e9f3cac71211d52ec8358c3
SHA1 (patch-ab) = f25d0b276041e57dcfb00638bc4232b4e0f5abb6
-SHA1 (patch-ac) = 1317d68b9c682384622bbc322c1b8a75db74ae79
+SHA1 (patch-ac) = d6853dcca81588c481ad62d4c4e9f2fbcc7cb657
SHA1 (patch-ad) = b5e17219e7b7ba158b9f3e1a67e155fb158b4484
SHA1 (patch-af) = e4e194ef29924eb986536972c5f5e9f37d98eba3
SHA1 (patch-ag) = 1753d08075de8527d8f14afc3df4afeacb10d507
@@ -39,7 +39,7 @@ SHA1 (patch-gcc_config_t-openbsd) = 662fe8d0c4b58145fb3268bc7ac432a1616c1106
SHA1 (patch-gcc_config_x-openbsd) = b307d75331b9a7f6271698c68f1647a03d204eb9
SHA1 (patch-gcc_configure) = 906906aca782c75b2a053aef272a8472f0a9a9ee
SHA1 (patch-gcc_defaults.h) = 72b145fdf9baecc061e90e9634eb5f842215a962
-SHA1 (patch-gcc_gcc.c) = 264e561efe02e1e343400ef7dff182e71b358ff5
+SHA1 (patch-gcc_gcc.c) = 6b9499cf22f1018c289f2a20a4487d5f5e1a1069
SHA1 (patch-gcc_lto_lto.c) = 3c7df0691d300d2915388e7ef019b9717a9673d7
SHA1 (patch-gcc_opts.c) = e02ebec8a9de24492a3aba80ee8c742446f2c549
SHA1 (patch-gcc_unwind-dw2-fde-glibc.c) = 704ccc2b1058344586e0ccb8bcd291f41d93ed0a
diff --git a/lang/gcc46/patches/patch-ac b/lang/gcc46/patches/patch-ac
index 78610c9a488..07e958ee693 100644
--- a/lang/gcc46/patches/patch-ac
+++ b/lang/gcc46/patches/patch-ac
@@ -1,15 +1,17 @@
-$NetBSD: patch-ac,v 1.4 2014/05/15 12:04:41 pho Exp $
+$NetBSD: patch-ac,v 1.5 2015/01/01 01:29:56 ryoon Exp $
Add gcc libdir to a programs rpath so that _this gcc's_ support libraries
are found.
+NOTE: the %M spec string is added by patch-gcc_gcc.c
+
--- gcc/Makefile.in.orig 2004-06-17 15:56:58.000000000 -0600
+++ gcc/Makefile.in
@@ -1944,6 +1944,7 @@ c-omp.o : c-omp.c $(CONFIG_H) $(SYSTEM_H
# Language-independent files.
DRIVER_DEFINES = \
-+ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG)$(exec_prefix)/lib\"" \
++ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG)$(prefix)/@GCC_TARGET_MACHINE@/lib/%M $(LINKER_RPATH_FLAG)$(libdir)/%M \"" \
-DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
-DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \
diff --git a/lang/gcc46/patches/patch-gcc_gcc.c b/lang/gcc46/patches/patch-gcc_gcc.c
index abdde3e1fb5..ab754b40366 100644
--- a/lang/gcc46/patches/patch-gcc_gcc.c
+++ b/lang/gcc46/patches/patch-gcc_gcc.c
@@ -1,4 +1,7 @@
-$NetBSD: patch-gcc_gcc.c,v 1.1 2014/01/25 13:38:48 ryoon Exp $
+$NetBSD: patch-gcc_gcc.c,v 1.2 2015/01/01 01:29:56 ryoon Exp $
+
+Add %M spec string.
+From pkgsrc/lang/gcc47/patches/patch-gcc_gcc.c
--- gcc/gcc.c.orig 2013-01-14 16:35:23.000000000 +0000
+++ gcc/gcc.c
@@ -11,3 +14,17 @@ $NetBSD: patch-gcc_gcc.c,v 1.1 2014/01/25 13:38:48 ryoon Exp $
#else
#define LINK_PIE_SPEC "%{pie:} "
#endif
+@@ -5101,6 +5101,13 @@ do_spec_1 (const char *spec, int inswitc
+ return value;
+ break;
+
++ case 'M':
++ if (multilib_os_dir == NULL)
++ obstack_1grow (&obstack, '.');
++ else
++ obstack_grow (&obstack, multilib_os_dir, strlen(multilib_os_dir));
++ break;
++
+ case 'G':
+ value = do_spec_1 (libgcc_spec, 0, NULL);
+ if (value != 0)