Wed Jun 10 20:20:42 2015 UTC ()
Fix build under Solaris 10u11.
It requires newer binutils and Solaris linker.
gfortran part is still broken for me.


(ryoon)
diff -r1.4 -r1.5 pkgsrc/lang/gcc49/Makefile

cvs diff -r1.4 -r1.5 pkgsrc/lang/gcc49/Attic/Makefile (switch to unified diff)

--- pkgsrc/lang/gcc49/Attic/Makefile 2014/11/28 11:47:00 1.4
+++ pkgsrc/lang/gcc49/Attic/Makefile 2015/06/10 20:20:42 1.5
@@ -1,173 +1,183 @@ @@ -1,173 +1,183 @@
1# $NetBSD: Makefile,v 1.4 2014/11/28 11:47:00 bsiegert Exp $ 1# $NetBSD: Makefile,v 1.5 2015/06/10 20:20:42 ryoon Exp $
2 2
3GCC_PKGNAME= gcc49 3GCC_PKGNAME= gcc49
4.include "version.mk" 4.include "version.mk"
5 5
6DISTNAME= gcc-${GCC49_DIST_VERSION} 6DISTNAME= gcc-${GCC49_DIST_VERSION}
7PKGNAME= ${GCC_PKGNAME}-${GCC49_DIST_VERSION} 7PKGNAME= ${GCC_PKGNAME}-${GCC49_DIST_VERSION}
8 8
9## When bumping the PKGREVISION of this package the PKGREVISION of 9## When bumping the PKGREVISION of this package the PKGREVISION of
10## lang/gcc49-libs needs to be bump to be at least 1 more than the 10## lang/gcc49-libs needs to be bump to be at least 1 more than the
11## PKGREVISION of this package! 11## PKGREVISION of this package!
12PKGREVISION= 1 12PKGREVISION= 1
13 13
14CATEGORIES= lang 14CATEGORIES= lang
15MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC49_DIST_VERSION}/} 15MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC49_DIST_VERSION}/}
16EXTRACT_SUFX= .tar.bz2 16EXTRACT_SUFX= .tar.bz2
17 17
18MAINTAINER= pkgsrc-users@NetBSD.org 18MAINTAINER= pkgsrc-users@NetBSD.org
19HOMEPAGE= http://gcc.gnu.org/ 19HOMEPAGE= http://gcc.gnu.org/
20COMMENT= The GNU Compiler Collection (GCC) - 4.9 Release Series 20COMMENT= The GNU Compiler Collection (GCC) - 4.9 Release Series
21LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 21LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
22 22
23DISTFILES= ${DEFAULT_DISTFILES} 23DISTFILES= ${DEFAULT_DISTFILES}
24EXTRACT_ONLY= ${DEFAULT_DISTFILES} 24EXTRACT_ONLY= ${DEFAULT_DISTFILES}
25 25
26NOT_FOR_PLATFORM= Interix-*-* 26NOT_FOR_PLATFORM= Interix-*-*
27 27
28USE_LANGUAGES= c c++ 28USE_LANGUAGES= c c++
29USE_TOOLS+= gmake makeinfo sed:run 29USE_TOOLS+= gmake makeinfo sed:run
30 30
31GNU_CONFIGURE= yes 31GNU_CONFIGURE= yes
32## Build outside ${WRKSRC} 32## Build outside ${WRKSRC}
33OBJDIR= ../build 33OBJDIR= ../build
34CONFIGURE_DIRS= ${OBJDIR} 34CONFIGURE_DIRS= ${OBJDIR}
35CONFIGURE_SCRIPT= ../${DISTNAME}/configure 35CONFIGURE_SCRIPT= ../${DISTNAME}/configure
36GCC_SUBPREFIX= ${GCC_PKGNAME} 36GCC_SUBPREFIX= ${GCC_PKGNAME}
37GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX} 37GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX}
38GCC_TARGET_MACHINE?= ${MACHINE_GNU_PLATFORM} 38GCC_TARGET_MACHINE?= ${MACHINE_GNU_PLATFORM}
39GNU_CONFIGURE_PREFIX= ${GCC_PREFIX} 39GNU_CONFIGURE_PREFIX= ${GCC_PREFIX}
40INFO_FILES= yes 40INFO_FILES= yes
41 41
42UNLIMIT_RESOURCES+= datasize 42UNLIMIT_RESOURCES+= datasize
43UNLIMIT_RESOURCES+= stacksize 43UNLIMIT_RESOURCES+= stacksize
44 44
45SUBST_CLASSES+= vars 45SUBST_CLASSES+= vars
46SUBST_STAGE.vars= pre-configure 46SUBST_STAGE.vars= pre-configure
47SUBST_FILES.vars= gcc/Makefile.in 47SUBST_FILES.vars= gcc/Makefile.in
48SUBST_VARS.vars= GCC_TARGET_MACHINE 48SUBST_VARS.vars= GCC_TARGET_MACHINE
49 49
50.include "../../mk/bsd.prefs.mk" 50.include "../../mk/bsd.prefs.mk"
51 51
52LANGS= c 52LANGS= c
53 53
54# In some cases LINKER_RPATH_FLAG needs a trailing space. 54# In some cases LINKER_RPATH_FLAG needs a trailing space.
55LINKER_RPATH_FLAG:= ${LINKER_RPATH_FLAG:S/-rpath/& /} 55LINKER_RPATH_FLAG:= ${LINKER_RPATH_FLAG:S/-rpath/& /}
56 56
57## The Library rpath to use in end programs. 57## The Library rpath to use in end programs.
58LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*} 58LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*}
59 59
60# The "-static-libstdc++ -static-libgcc" flags are normally added to the 60# The "-static-libstdc++ -static-libgcc" flags are normally added to the
61# boot-ldflags by configure but because we are supply the boot-ldflags 61# boot-ldflags by configure but because we are supply the boot-ldflags
62# we mash supply them. 62# we mash supply them.
63BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET} 63BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET}
64# Needed on Darwin when LDFLAGS point to a SDK 64# Needed on Darwin when LDFLAGS point to a SDK
65BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*} 65BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*}
66 66
67## For target librarys and libjava programs. 67## For target librarys and libjava programs.
68CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q} 68CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
69 69
70CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} 70CONFIGURE_ARGS+= --enable-languages=${LANGS:Q}
71CONFIGURE_ARGS+= --enable-shared 71CONFIGURE_ARGS+= --enable-shared
72CONFIGURE_ARGS+= --enable-long-long 72CONFIGURE_ARGS+= --enable-long-long
73CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} 73CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q}
74CONFIGURE_ARGS+= --enable-libssp 74CONFIGURE_ARGS+= --enable-libssp
75CONFIGURE_ARGS+= --enable-threads=posix 75CONFIGURE_ARGS+= --enable-threads=posix
76CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q} 76CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q}
77.if ${OPSYS} == "NetBSD" 77.if ${OPSYS} == "NetBSD"
78CONFIGURE_ARGS+= --with-gnu-ld --with-ld=/usr/bin/ld 78CONFIGURE_ARGS+= --with-gnu-ld --with-ld=/usr/bin/ld
79CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/bin/as 79CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/bin/as
80MAKE_ENV+= ac_cv_func_clock_gettime=yes 80MAKE_ENV+= ac_cv_func_clock_gettime=yes
81MAKE_ENV+= ac_cv_func_gethostbyname_r=no 81MAKE_ENV+= ac_cv_func_gethostbyname_r=no
82.endif 82.endif
83.if ${OPSYS} == "DragonFly" 83.if ${OPSYS} == "DragonFly"
84CONFIGURE_ARGS+= --disable-bootstrap 84CONFIGURE_ARGS+= --disable-bootstrap
85.endif 85.endif
86.if ${OPSYS} == "Darwin" 86.if ${OPSYS} == "Darwin"
87# See ${WRKSRC}/libgcc/config/t-slibgcc-darwin: It uses strip(1) to 87# See ${WRKSRC}/libgcc/config/t-slibgcc-darwin: It uses strip(1) to
88# create a stub library, not just to remove symbols, so we must not 88# create a stub library, not just to remove symbols, so we must not
89# let strip(1) be a no-op regardless of ${INSTALL_UNSTRIPPED} or the 89# let strip(1) be a no-op regardless of ${INSTALL_UNSTRIPPED} or the
90# build fails for missing files. 90# build fails for missing files.
91CONFIGURE_ARGS+= STRIP_FOR_TARGET=${TOOLS_PLATFORM.strip} 91CONFIGURE_ARGS+= STRIP_FOR_TARGET=${TOOLS_PLATFORM.strip}
92.endif 92.endif
93 93
94.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*) 94.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
95CONFIGURE_ARGS+= --with-dwarf2 95CONFIGURE_ARGS+= --with-dwarf2
96CONFIGURE_ARGS+= --disable-libitm 96CONFIGURE_ARGS+= --disable-libitm
97.endif 97.endif
98 98
99.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-powerpc) 99.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-powerpc)
100CONFIGURE_ARGS+= --disable-multilib 100CONFIGURE_ARGS+= --disable-multilib
101.endif 101.endif
102 102
103.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386) 103.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386)
104CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486 104CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486
105.endif 105.endif
106 106
107.include "options.mk" 107.include "options.mk"
108 108
109# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into 109# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
110# a binary so we need to make sure we give it the installed sed and not 110# a binary so we need to make sure we give it the installed sed and not
111# the tool wrapped one. 111# the tool wrapped one.
112MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED} 112MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED}
113MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED} 113MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED}
114 114
115.if ${OPSYS} == "SunOS" 115.if !empty(MACHINE_PLATFORM:MSunOS-5.1[123456789]-*)
116# Causes multilib build problems with specific compiler combinations 116# Causes multilib build problems with specific compiler combinations
117MAKE_ENV+= gcc_cv_ld_as_needed=no 117MAKE_ENV+= gcc_cv_ld_as_needed=no
118# Determine whether to use binutils 118# Determine whether to use binutils
119. if exists(/usr/sfw/bin/gobjdump) 119. if exists(/usr/sfw/bin/gobjdump)
120CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump 120CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump
121. endif 121. endif
122. if exists(/usr/bin/ld) 122. if exists(/usr/bin/ld)
123CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/bin/ld 123CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/bin/ld
124. else 124. else
125CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld 125CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld
126. endif 126. endif
127. if exists(/usr/sfw/bin/gas) 127. if exists(/usr/sfw/bin/gas)
128CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas 128CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas
129. elif exists(/usr/ccs/bin/as) 129. elif exists(/usr/ccs/bin/as)
130CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as 130CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as
131. else 131. else
132BUILDLINK_DEPMETHOD.binutils= full 132BUILDLINK_DEPMETHOD.binutils= full
133. include "../../devel/binutils/buildlink3.mk" 133. include "../../devel/binutils/buildlink3.mk"
134CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas 134CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas
135. endif 135. endif
 136.else # Solaris 10
 137. if exists(/usr/sfw/bin/gobjdump)
 138CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump
 139. endif
 140BUILDLINK_API_DEPENDS.binutils+= binutils>=2.23
 141BUILDLINK_DEPMETHOD.binutils= full
 142. include "../../devel/binutils/buildlink3.mk"
 143CONFIGURE_ENV+= OBJCOPY=${PREFIX}/bin/gobjcopy
 144CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas
 145CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld
136.endif 146.endif
137 147
138pre-configure: 148pre-configure:
139 ${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR} 149 ${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
140 150
141TEST_TARGET= -k check || ${TRUE} 151TEST_TARGET= -k check || ${TRUE}
142pre-test: 152pre-test:
143 ${RUN} \ 153 ${RUN} \
144 if runtest --version >/dev/null 2>/dev/null ; then \ 154 if runtest --version >/dev/null 2>/dev/null ; then \
145 : ; \ 155 : ; \
146 else \ 156 else \
147 ${ECHO} "ERROR: Please install devel/dejagnu in order to run the test suite." ; \ 157 ${ECHO} "ERROR: Please install devel/dejagnu in order to run the test suite." ; \
148 exit 1 ; \ 158 exit 1 ; \
149 fi 159 fi
150post-test: 160post-test:
151 ${RUN} cd ${WRKSRC} && cd ${OBJDIR} && \ 161 ${RUN} cd ${WRKSRC} && cd ${OBJDIR} && \
152 ${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log 162 ${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log
153 @${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log" 163 @${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log"
154 164
155post-install: 165post-install:
156 ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || \ 166 ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || \
157 ( cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gcc cc ) 167 ( cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gcc cc )
158.if !empty(PKG_OPTIONS:Mgcc-java) 168.if !empty(PKG_OPTIONS:Mgcc-java)
159 ${RM} -f ${DESTDIR}${JAVA_HOME}/bin/javadoc 169 ${RM} -f ${DESTDIR}${JAVA_HOME}/bin/javadoc
160 ${RM} -f ${DESTDIR}${JAVA_HOME}/jre/lib/${JAVA_ARCH}/libjawt.so 170 ${RM} -f ${DESTDIR}${JAVA_HOME}/jre/lib/${JAVA_ARCH}/libjawt.so
161.endif 171.endif
162.if !empty(MACHINE_PLATFORM:MSunOS-*-*86*) && ${OS_VERSION} != "5.11" 172.if !empty(MACHINE_PLATFORM:MSunOS-*-*86*) && ${OS_VERSION} != "5.11"
163 ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE} 173 ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE}
164 ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE} 174 ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE}
165.endif 175.endif
166 176
167GENERATE_PLIST+= \ 177GENERATE_PLIST+= \
168 cd ${DESTDIR}${PREFIX} && \ 178 cd ${DESTDIR}${PREFIX} && \
169 ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT} ; 179 ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT} ;
170 180
171.include "../../mk/dlopen.buildlink3.mk" 181.include "../../mk/dlopen.buildlink3.mk"
172.include "../../mk/pthread.buildlink3.mk" 182.include "../../mk/pthread.buildlink3.mk"
173.include "../../mk/bsd.pkg.mk" 183.include "../../mk/bsd.pkg.mk"