Fri Mar 1 15:22:25 2013 UTC ()
Add GCC_TARGET_MACHINE, defaulting to MACHINE_GNU_ARCH, and use it in
preference to target_noncanonical so that the user can override if
required, e.g. in a multilib environment where target_noncanonical will
change based on current ABI.

Additionally, ensure that it comes first in the RPATH so that when
using USE_PKGSRC_GCC_RUNTIME with in-pkgsrc gcc we pick up the correct
libraries.


(jperkin)
diff -r1.14 -r1.15 pkgsrc/lang/gcc47/Makefile
diff -r1.13 -r1.14 pkgsrc/lang/gcc47/distinfo
diff -r1.3 -r1.4 pkgsrc/lang/gcc47/patches/patch-gcc_Makefile.in

cvs diff -r1.14 -r1.15 pkgsrc/lang/gcc47/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/gcc47/Attic/Makefile 2013/02/05 07:12:23 1.14
+++ pkgsrc/lang/gcc47/Attic/Makefile 2013/03/01 15:22:25 1.15
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.14 2013/02/05 07:12:23 adam Exp $ 1# $NetBSD: Makefile,v 1.15 2013/03/01 15:22:25 jperkin Exp $
2 2
3GCC_PKGNAME= gcc47 3GCC_PKGNAME= gcc47
4.include "version.mk" 4.include "version.mk"
5 5
6DISTNAME= gcc-${GCC_DIST_VERSION} 6DISTNAME= gcc-${GCC_DIST_VERSION}
7PKGNAME= ${GCC_PKGNAME}-${GCC_DIST_VERSION} 7PKGNAME= ${GCC_PKGNAME}-${GCC_DIST_VERSION}
8## When bumping the PKGREVISION of this package the PKGREVISION of 8## When bumping the PKGREVISION of this package the PKGREVISION of
9## lang/gcc47-libs needs to be bump to be at least 1 more than the 9## lang/gcc47-libs needs to be bump to be at least 1 more than the
10## PKGREVISION of this package! 10## PKGREVISION of this package!
11PKGREVISION= 1 11PKGREVISION= 1
12CATEGORIES= lang 12CATEGORIES= lang
13MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_DIST_VERSION}/} 13MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_DIST_VERSION}/}
14EXTRACT_SUFX= .tar.bz2 14EXTRACT_SUFX= .tar.bz2
@@ -22,32 +22,38 @@ DISTFILES= ${DEFAULT_DISTFILES} @@ -22,32 +22,38 @@ DISTFILES= ${DEFAULT_DISTFILES}
22EXTRACT_ONLY= ${DEFAULT_DISTFILES} 22EXTRACT_ONLY= ${DEFAULT_DISTFILES}
23 23
24NOT_FOR_PLATFORM= Interix-*-* 24NOT_FOR_PLATFORM= Interix-*-*
25 25
26USE_TOOLS+= gmake makeinfo sed:run 26USE_TOOLS+= gmake makeinfo sed:run
27 27
28GNU_CONFIGURE= yes 28GNU_CONFIGURE= yes
29## Build outside ${WRKSRC} 29## Build outside ${WRKSRC}
30OBJDIR= ../build 30OBJDIR= ../build
31CONFIGURE_DIRS= ${OBJDIR} 31CONFIGURE_DIRS= ${OBJDIR}
32CONFIGURE_SCRIPT= ../${DISTNAME}/configure 32CONFIGURE_SCRIPT= ../${DISTNAME}/configure
33GCC_SUBPREFIX= ${GCC_PKGNAME} 33GCC_SUBPREFIX= ${GCC_PKGNAME}
34GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX} 34GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX}
 35GCC_TARGET_MACHINE?= ${MACHINE_GNU_PLATFORM}
35GNU_CONFIGURE_PREFIX= ${GCC_PREFIX} 36GNU_CONFIGURE_PREFIX= ${GCC_PREFIX}
36INFO_FILES= yes 37INFO_FILES= yes
37 38
38UNLIMIT_RESOURCES+= datasize 39UNLIMIT_RESOURCES+= datasize
39UNLIMIT_RESOURCES+= stacksize 40UNLIMIT_RESOURCES+= stacksize
40 41
 42SUBST_CLASSES+= vars
 43SUBST_STAGE.vars= pre-configure
 44SUBST_FILES.vars= gcc/Makefile.in
 45SUBST_VARS.vars= GCC_TARGET_MACHINE
 46
41.include "../../mk/bsd.prefs.mk" 47.include "../../mk/bsd.prefs.mk"
42 48
43LANGS= c 49LANGS= c
44 50
45## The Library rpath to use in end programs. 51## The Library rpath to use in end programs.
46LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*} 52LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*}
47 53
48# The "-static-libstdc++ -static-libgcc" flags are normally added to the 54# The "-static-libstdc++ -static-libgcc" flags are normally added to the
49# boot-ldflags by configure but because we are supply the boot-ldflags 55# boot-ldflags by configure but because we are supply the boot-ldflags
50# we mash supply them. 56# we mash supply them.
51BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET} 57BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET}
52# Needed on Darwin when LDFLAGS point to a SDK 58# Needed on Darwin when LDFLAGS point to a SDK
53BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*} 59BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*}

cvs diff -r1.13 -r1.14 pkgsrc/lang/gcc47/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/gcc47/Attic/distinfo 2013/01/31 20:07:17 1.13
+++ pkgsrc/lang/gcc47/Attic/distinfo 2013/03/01 15:22:25 1.14
@@ -1,23 +1,23 @@ @@ -1,23 +1,23 @@
1$NetBSD: distinfo,v 1.13 2013/01/31 20:07:17 marino Exp $ 1$NetBSD: distinfo,v 1.14 2013/03/01 15:22:25 jperkin Exp $
2 2
3SHA1 (ecj-4.5.jar) = 58c1d79c64c8cd718550f32a932ccfde8d1e6449 3SHA1 (ecj-4.5.jar) = 58c1d79c64c8cd718550f32a932ccfde8d1e6449
4RMD160 (ecj-4.5.jar) = d3f4da657f086b6423f74e93f001132f4855368a 4RMD160 (ecj-4.5.jar) = d3f4da657f086b6423f74e93f001132f4855368a
5Size (ecj-4.5.jar) = 1470676 bytes 5Size (ecj-4.5.jar) = 1470676 bytes
6SHA1 (gcc-4.7.2.tar.bz2) = a464ba0f26eef24c29bcd1e7489421117fb9ee35 6SHA1 (gcc-4.7.2.tar.bz2) = a464ba0f26eef24c29bcd1e7489421117fb9ee35
7RMD160 (gcc-4.7.2.tar.bz2) = fc281ade14b47d2a9c2ced4f7082c74bfbae31c1 7RMD160 (gcc-4.7.2.tar.bz2) = fc281ade14b47d2a9c2ced4f7082c74bfbae31c1
8Size (gcc-4.7.2.tar.bz2) = 82884636 bytes 8Size (gcc-4.7.2.tar.bz2) = 82884636 bytes
9SHA1 (patch-configure) = 51c0978c60baddd90ef7e512445fdef913c04e6c 9SHA1 (patch-configure) = 51c0978c60baddd90ef7e512445fdef913c04e6c
10SHA1 (patch-gcc_Makefile.in) = 1cf954d214a1d4a3fd4fece1f577f11b511e20ed 10SHA1 (patch-gcc_Makefile.in) = ec7b99db19396d5012fa32f25c9620dc61c19825
11SHA1 (patch-gcc_config.gcc) = efa4ecabd71bdec14d5dd1f8bb836116c7a9d6e9 11SHA1 (patch-gcc_config.gcc) = efa4ecabd71bdec14d5dd1f8bb836116c7a9d6e9
12SHA1 (patch-gcc_config_dragonfly-stdint.h) = 740dc819b446d5f1476506322c4b280ffdb5a6c0 12SHA1 (patch-gcc_config_dragonfly-stdint.h) = 740dc819b446d5f1476506322c4b280ffdb5a6c0
13SHA1 (patch-gcc_config_dragonfly.h) = 82f549cdc7543b4bf413a44d481ef42b10f59c82 13SHA1 (patch-gcc_config_dragonfly.h) = 82f549cdc7543b4bf413a44d481ef42b10f59c82
14SHA1 (patch-gcc_config_dragonfly.opt) = 92f615c73c2e94664bae5b5935ab8b09bca15f73 14SHA1 (patch-gcc_config_dragonfly.opt) = 92f615c73c2e94664bae5b5935ab8b09bca15f73
15SHA1 (patch-gcc_config_i386_dragonfly.h) = 0d3f785434c02beb9c4561fe59842a970e8f7896 15SHA1 (patch-gcc_config_i386_dragonfly.h) = 0d3f785434c02beb9c4561fe59842a970e8f7896
16SHA1 (patch-gcc_config_netbsd-stdint.h) = 025fc883101a187e84ed4c0772406720d645d550 16SHA1 (patch-gcc_config_netbsd-stdint.h) = 025fc883101a187e84ed4c0772406720d645d550
17SHA1 (patch-gcc_configure) = a4b670d0c54c410d38715b7a2a572a7048e3ec5e 17SHA1 (patch-gcc_configure) = a4b670d0c54c410d38715b7a2a572a7048e3ec5e
18SHA1 (patch-gcc_fortran_f95-lang.c) = 06470dbee79f8c762675d3060a870b7dd9ba38f8 18SHA1 (patch-gcc_fortran_f95-lang.c) = 06470dbee79f8c762675d3060a870b7dd9ba38f8
19SHA1 (patch-gcc_gcc.c) = d28e633c8961161562db960054aaa5aa6a1ac645 19SHA1 (patch-gcc_gcc.c) = d28e633c8961161562db960054aaa5aa6a1ac645
20SHA1 (patch-gcc_ginclude_stddef.h) = 87d7c2ff4400ad0719b2351d2f4c4b05bd257db3 20SHA1 (patch-gcc_ginclude_stddef.h) = 87d7c2ff4400ad0719b2351d2f4c4b05bd257db3
21SHA1 (patch-include_libiberty.h) = ad2c64e9a14405c89b02ff68811b1c889405d0a1 21SHA1 (patch-include_libiberty.h) = ad2c64e9a14405c89b02ff68811b1c889405d0a1
22SHA1 (patch-libgcc_config.host) = 6b54e18c6348c4aeb3fda3093fbe990b59456af7 22SHA1 (patch-libgcc_config.host) = 6b54e18c6348c4aeb3fda3093fbe990b59456af7
23SHA1 (patch-libgcc_config_i386_dragonfly-unwind.h) = 9d77252dd982495e90f95b82706bab29e581df9f 23SHA1 (patch-libgcc_config_i386_dragonfly-unwind.h) = 9d77252dd982495e90f95b82706bab29e581df9f

cvs diff -r1.3 -r1.4 pkgsrc/lang/gcc47/patches/Attic/patch-gcc_Makefile.in (expand / switch to unified diff)

--- pkgsrc/lang/gcc47/patches/Attic/patch-gcc_Makefile.in 2012/11/16 01:03:54 1.3
+++ pkgsrc/lang/gcc47/patches/Attic/patch-gcc_Makefile.in 2013/03/01 15:22:25 1.4
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1$NetBSD: patch-gcc_Makefile.in,v 1.3 2012/11/16 01:03:54 joerg Exp $ 1$NetBSD: patch-gcc_Makefile.in,v 1.4 2013/03/01 15:22:25 jperkin Exp $
2 2
3Add gcc libdir to a programs rpath so that _this gcc's_ support librarys 3Add gcc libdir to a programs rpath so that _this gcc's_ support libraries
4are found. 4are found.
5 5
6NOTE: the %M spec string is added by patch-gcc_gcc.c 6NOTE: the %M spec string is added by patch-gcc_gcc.c
7 7
8--- gcc/Makefile.in.orig 2012-03-07 10:59:56.000000000 +0000 8--- gcc/Makefile.in.orig 2012-03-07 10:59:56.000000000 +0000
9+++ gcc/Makefile.in 9+++ gcc/Makefile.in
10@@ -2074,6 +2074,7 @@ prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_ 10@@ -2074,6 +2074,7 @@ prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_
11 # Language-independent files. 11 # Language-independent files.
12  12
13 DRIVER_DEFINES = \ 13 DRIVER_DEFINES = \
14+ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG) $(libdir)/%M $(LINKER_RPATH_FLAG) $(prefix)/$(target_noncanonical)/lib/%M \"" \ 14+ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG) $(prefix)/@GCC_TARGET_MACHINE@/lib/%M $(LINKER_RPATH_FLAG) $(libdir)/%M \"" \
15 -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ 15 -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
16 -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ 16 -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
17 -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ 17 -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \