| @@ -1,161 +1,162 @@ | | | @@ -1,161 +1,162 @@ |
1 | # $NetBSD: Makefile,v 1.17 2014/09/02 09:41:56 pho Exp $ | | 1 | # $NetBSD: Makefile,v 1.18 2015/04/10 22:01:43 rodent Exp $ |
2 | | | 2 | |
3 | DISTNAME= gcc-${GCC_VERSION} | | 3 | DISTNAME= gcc-${GCC_VERSION} |
4 | PKGNAME= gcc45-${GCC_VERSION} | | 4 | PKGNAME= gcc45-${GCC_VERSION} |
5 | PKGREVISION= 7 | | 5 | PKGREVISION= 7 |
6 | CATEGORIES= lang | | 6 | CATEGORIES= lang |
7 | MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/} | | 7 | MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/} |
8 | EXTRACT_SUFX= .tar.bz2 | | 8 | EXTRACT_SUFX= .tar.bz2 |
9 | | | 9 | |
10 | MAINTAINER= sbd@NetBSD.org | | 10 | MAINTAINER= sbd@NetBSD.org |
11 | HOMEPAGE= http://gcc.gnu.org/ | | 11 | HOMEPAGE= http://gcc.gnu.org/ |
12 | COMMENT= GNU Compiler Collection 4.5 | | 12 | COMMENT= GNU Compiler Collection 4.5 |
13 | LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 | | 13 | LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 |
14 | | | 14 | |
15 | USE_TOOLS+= awk:run bash:run chmod gmake:run makeinfo sed:run | | 15 | USE_TOOLS+= awk:run bash:run chmod gmake:run makeinfo sed:run |
| | | 16 | GCC_REQD+= 4.4 |
16 | | | 17 | |
17 | GCC_VERSION= 4.5.3 | | 18 | GCC_VERSION= 4.5.3 |
18 | | | 19 | |
19 | GCC_SUBPREFIX= gcc45 | | 20 | GCC_SUBPREFIX= gcc45 |
20 | GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX} | | 21 | GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX} |
21 | FILES_SUBST+= PKGNAME=${PKGNAME} | | 22 | FILES_SUBST+= PKGNAME=${PKGNAME} |
22 | MESSAGE_SUBST+= GCC_PREFIX=${GCC_PREFIX} | | 23 | MESSAGE_SUBST+= GCC_PREFIX=${GCC_PREFIX} |
23 | | | 24 | |
24 | | | 25 | |
25 | # To avoid GNU surprises | | 26 | # To avoid GNU surprises |
26 | CONFIG_SHELL= ${TOOLS_PATH.bash} | | 27 | CONFIG_SHELL= ${TOOLS_PATH.bash} |
27 | | | 28 | |
28 | NOT_FOR_PLATFORM= Interix-*-* DragonFly-*-* | | 29 | NOT_FOR_PLATFORM= Interix-*-* DragonFly-*-* |
29 | UNLIMIT_RESOURCES+= datasize | | 30 | UNLIMIT_RESOURCES+= datasize |
30 | UNLIMIT_RESOURCES+= stacksize | | 31 | UNLIMIT_RESOURCES+= stacksize |
31 | | | 32 | |
32 | .include "../../mk/bsd.prefs.mk" | | 33 | .include "../../mk/bsd.prefs.mk" |
33 | .include "options.mk" | | 34 | .include "options.mk" |
34 | | | 35 | |
35 | # Determine whether to use binutils | | 36 | # Determine whether to use binutils |
36 | .if ${OPSYS} == "SunOS" | | 37 | .if ${OPSYS} == "SunOS" |
37 | CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump | | 38 | CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump |
38 | CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld | | 39 | CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld |
39 | . if !exists(/usr/sfw/bin/gas) | | 40 | . if !exists(/usr/sfw/bin/gas) |
40 | CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as | | 41 | CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as |
41 | . else | | 42 | . else |
42 | CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas | | 43 | CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas |
43 | . endif | | 44 | . endif |
44 | .endif | | 45 | .endif |
45 | | | 46 | |
46 | # REPLACE_AWK+= gcc/testsuite/gcc.test-framework/test-framework.awk \ | | 47 | # REPLACE_AWK+= gcc/testsuite/gcc.test-framework/test-framework.awk \ |
47 | # gcc/mkmap-symver.awk \ | | 48 | # gcc/mkmap-symver.awk \ |
48 | # gcc/optc-gen.awk \ | | 49 | # gcc/optc-gen.awk \ |
49 | # gcc/mkmap-flat.awk \ | | 50 | # gcc/mkmap-flat.awk \ |
50 | # gcc/opt-gather.awk \ | | 51 | # gcc/opt-gather.awk \ |
51 | # gcc/opth-gen.awk \ | | 52 | # gcc/opth-gen.awk \ |
52 | # gcc/opt-functions.awk | | 53 | # gcc/opt-functions.awk |
53 | | | 54 | |
54 | REPLACE_BASH+= contrib/dg-cmp-results.sh | | 55 | REPLACE_BASH+= contrib/dg-cmp-results.sh |
55 | REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-patchlist | | 56 | REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-patchlist |
56 | REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update | | 57 | REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update |
57 | REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update-fix | | 58 | REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update-fix |
58 | REPLACE_BASH+= contrib/reghunt/bin/reg-hunt | | 59 | REPLACE_BASH+= contrib/reghunt/bin/reg-hunt |
59 | REPLACE_BASH+= contrib/reghunt/bin/reg-test | | 60 | REPLACE_BASH+= contrib/reghunt/bin/reg-test |
60 | REPLACE_BASH+= contrib/reghunt/date_based/reg_periodic | | 61 | REPLACE_BASH+= contrib/reghunt/date_based/reg_periodic |
61 | REPLACE_BASH+= contrib/reghunt/date_based/reg_search | | 62 | REPLACE_BASH+= contrib/reghunt/date_based/reg_search |
62 | REPLACE_BASH+= gcc/dbgcnt.def | | 63 | REPLACE_BASH+= gcc/dbgcnt.def |
63 | REPLACE_BASH+= gcc/testsuite/gcc.test-framework/gen_directive_tests | | 64 | REPLACE_BASH+= gcc/testsuite/gcc.test-framework/gen_directive_tests |
64 | REPLACE_BASH+= libstdc++-v3/scripts/run_doxygen | | 65 | REPLACE_BASH+= libstdc++-v3/scripts/run_doxygen |
65 | | | 66 | |
66 | | | 67 | |
67 | CONFIGURE_ARGS+= --prefix=${GCC_PREFIX:Q} | | 68 | CONFIGURE_ARGS+= --prefix=${GCC_PREFIX:Q} |
68 | CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} | | 69 | CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} |
69 | CONFIGURE_ARGS+= --enable-shared | | 70 | CONFIGURE_ARGS+= --enable-shared |
70 | CONFIGURE_ARGS+= --enable-long-long | | 71 | CONFIGURE_ARGS+= --enable-long-long |
71 | CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} | | 72 | CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} |
72 | CONFIGURE_ARGS+= --enable-libssp | | 73 | CONFIGURE_ARGS+= --enable-libssp |
73 | CONFIGURE_ARGS+= --enable-threads=posix | | 74 | CONFIGURE_ARGS+= --enable-threads=posix |
74 | .if ${OPSYS} == "NetBSD" | | 75 | .if ${OPSYS} == "NetBSD" |
75 | .include "../../devel/binutils/buildlink3.mk" | | 76 | .include "../../devel/binutils/buildlink3.mk" |
76 | .include "../../devel/libelf/buildlink3.mk" | | 77 | .include "../../devel/libelf/buildlink3.mk" |
77 | CONFIGURE_ARGS+= --with-ld=${PREFIX}/gnu/bin/ld | | 78 | CONFIGURE_ARGS+= --with-ld=${PREFIX}/gnu/bin/ld |
78 | CONFIGURE_ARGS+= --with-libelf=${PREFIX} | | 79 | CONFIGURE_ARGS+= --with-libelf=${PREFIX} |
79 | MAKE_ENV+= ac_cv_func_clock_gettime=yes | | 80 | MAKE_ENV+= ac_cv_func_clock_gettime=yes |
80 | .endif | | 81 | .endif |
81 | .if ${OPSYS} == "Linux" | | 82 | .if ${OPSYS} == "Linux" |
82 | CONFIGURE_ARGS+= --disable-libquadmath --disable-libquadmath-support | | 83 | CONFIGURE_ARGS+= --disable-libquadmath --disable-libquadmath-support |
83 | .endif | | 84 | .endif |
84 | .if ${OPSYS} == "Darwin" | | 85 | .if ${OPSYS} == "Darwin" |
85 | # See ${WRKSRC}/libgcc/config/t-slibgcc-darwin: It uses strip(1) to | | 86 | # See ${WRKSRC}/libgcc/config/t-slibgcc-darwin: It uses strip(1) to |
86 | # create a stub library, not just to remove symbols, so we must not | | 87 | # create a stub library, not just to remove symbols, so we must not |
87 | # let strip(1) be a no-op regardless of ${INSTALL_UNSTRIPPED} or the | | 88 | # let strip(1) be a no-op regardless of ${INSTALL_UNSTRIPPED} or the |
88 | # build fails for missing files. | | 89 | # build fails for missing files. |
89 | CONFIGURE_ARGS+= STRIP_FOR_TARGET=${TOOLS_PLATFORM.strip} | | 90 | CONFIGURE_ARGS+= STRIP_FOR_TARGET=${TOOLS_PLATFORM.strip} |
90 | .endif | | 91 | .endif |
91 | | | 92 | |
92 | .if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*) | | 93 | .if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*) |
93 | CONFIGURE_ARGS+= --with-dwarf2 | | 94 | CONFIGURE_ARGS+= --with-dwarf2 |
94 | .endif | | 95 | .endif |
95 | | | 96 | |
96 | .if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-powerpc) | | 97 | .if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-powerpc) |
97 | CONFIGURE_ARGS+= --disable-multilib | | 98 | CONFIGURE_ARGS+= --disable-multilib |
98 | .endif | | 99 | .endif |
99 | | | 100 | |
100 | CONFIGURE_ENV+= CONFIG_SHELL=${CONFIG_SHELL} | | 101 | CONFIGURE_ENV+= CONFIG_SHELL=${CONFIG_SHELL} |
101 | | | 102 | |
102 | MAKE_ENV+= SHELL=${CONFIG_SHELL} | | 103 | MAKE_ENV+= SHELL=${CONFIG_SHELL} |
103 | MAKE_ENV+= ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD} | | 104 | MAKE_ENV+= ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD} |
104 | | | 105 | |
105 | # ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into | | 106 | # ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into |
106 | # a binary so we need to make sure we give it the installed sed and not | | 107 | # a binary so we need to make sure we give it the installed sed and not |
107 | # the tool wrapped one. | | 108 | # the tool wrapped one. |
108 | MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED} | | 109 | MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED} |
109 | MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED} | | 110 | MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED} |
110 | | | 111 | |
111 | CPPFLAGS+= -I${BUILDLINK_DIR}/include | | 112 | CPPFLAGS+= -I${BUILDLINK_DIR}/include |
112 | CFLAGS+= -I${BUILDLINK_DIR}/include | | 113 | CFLAGS+= -I${BUILDLINK_DIR}/include |
113 | | | 114 | |
114 | | | 115 | |
115 | # Somone should fix this so it will match the NetBSD system compiler | | 116 | # Somone should fix this so it will match the NetBSD system compiler |
116 | #.if ${OPSYS} == "NetBSD" | | 117 | #.if ${OPSYS} == "NetBSD" |
117 | #GCC_PLATFORM= ${LOWER_ARCH}--${LOWER_OPSYS}${APPEND_ELF} | | 118 | #GCC_PLATFORM= ${LOWER_ARCH}--${LOWER_OPSYS}${APPEND_ELF} |
118 | #CONFIGURE_ARGS+= --host=${GCC_PLATFORM:Q} | | 119 | #CONFIGURE_ARGS+= --host=${GCC_PLATFORM:Q} |
119 | #MAKE_ENV+= AR=/usr/bin/ar | | 120 | #MAKE_ENV+= AR=/usr/bin/ar |
120 | #.endif # NetBSD | | 121 | #.endif # NetBSD |
121 | | | 122 | |
122 | pre-configure: | | 123 | pre-configure: |
123 | .if ${OPSYS} == "DragonFly" | | 124 | .if ${OPSYS} == "DragonFly" |
124 | ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/gcc/config/dragonfly.h | | 125 | ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/gcc/config/dragonfly.h |
125 | ${CP} ${FILESDIR}/dragonfly-spec.h ${WRKSRC}/gcc/config/dragonfly-spec.h | | 126 | ${CP} ${FILESDIR}/dragonfly-spec.h ${WRKSRC}/gcc/config/dragonfly-spec.h |
126 | ${CP} ${FILESDIR}/i386-dragonfly.h ${WRKSRC}/gcc/config/i386/dragonfly.h | | 127 | ${CP} ${FILESDIR}/i386-dragonfly.h ${WRKSRC}/gcc/config/i386/dragonfly.h |
127 | ${CP} ${FILESDIR}/i386-dragonfly64.h ${WRKSRC}/gcc/config/i386/dragonfly64.h | | 128 | ${CP} ${FILESDIR}/i386-dragonfly64.h ${WRKSRC}/gcc/config/i386/dragonfly64.h |
128 | .endif | | 129 | .endif |
129 | | | 130 | |
130 | .if ${OPSYS} == "NetBSD" | | 131 | .if ${OPSYS} == "NetBSD" |
131 | ${CP} ${WRKSRC}/gcc/config/freebsd-stdint.h ${WRKSRC}/gcc/config/netbsd-stdint.h | | 132 | ${CP} ${WRKSRC}/gcc/config/freebsd-stdint.h ${WRKSRC}/gcc/config/netbsd-stdint.h |
132 | .endif | | 133 | .endif |
133 | | | 134 | |
134 | do-configure: | | 135 | do-configure: |
135 | ${MKDIR} ${WRKDIR}/obj | | 136 | ${MKDIR} ${WRKDIR}/obj |
136 | cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS} | | 137 | cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS} |
137 | | | 138 | |
138 | do-build: | | 139 | do-build: |
139 | (${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1:Q} ) | | 140 | (${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1:Q} ) |
140 | | | 141 | |
141 | do-test: | | 142 | do-test: |
142 | #.if (${MACHINE_GNU_ARCH} == "x86_64") | | 143 | #.if (${MACHINE_GNU_ARCH} == "x86_64") |
143 | # (cd ${FILESDIR} && ${CP} netbsd64macro.dfs ${WRKSRC}/gcc/testsuite/ada/acats/support/macro.dfs) | | 144 | # (cd ${FILESDIR} && ${CP} netbsd64macro.dfs ${WRKSRC}/gcc/testsuite/ada/acats/support/macro.dfs) |
144 | #.endif | | 145 | #.endif |
145 | (cd ${WRKDIR}/obj && ${GMAKE} -k check) | | 146 | (cd ${WRKDIR}/obj && ${GMAKE} -k check) |
146 | | | 147 | |
147 | do-install: | | 148 | do-install: |
148 | (cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR} \ | | 149 | (cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR} \ |
149 | && ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc) | | 150 | && ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc) |
150 | | | 151 | |
151 | .if ${OPSYS} == "SunOS" && ${OS_VERSION} != "5.11" && !empty(MACHINE_ARCH:M*86*) | | 152 | .if ${OPSYS} == "SunOS" && ${OS_VERSION} != "5.11" && !empty(MACHINE_ARCH:M*86*) |
152 | post-install: | | 153 | post-install: |
153 | -${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 | | 154 | -${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 |
154 | -${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 | | 155 | -${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 |
155 | .endif | | 156 | .endif |
156 | | | 157 | |
157 | GENERATE_PLIST+= \ | | 158 | GENERATE_PLIST+= \ |
158 | cd ${DESTDIR}${PREFIX} && ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print \ | | 159 | cd ${DESTDIR}${PREFIX} && ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print \ |
159 | | ${SORT} ; | | 160 | | ${SORT} ; |
160 | | | 161 | |
161 | .include "../../mk/bsd.pkg.mk" | | 162 | .include "../../mk/bsd.pkg.mk" |