Lines 1-16
Link Here
|
1 |
# New ports collection makefile for: gcc-aux |
1 |
# Created by: John Marino <draco@marino.st> |
2 |
# Date created: 2012-07-15 |
|
|
3 |
# Whom: John Marino <draco@marino.st> |
4 |
# |
5 |
# $FreeBSD: ports/lang/gcc-aux/Makefile,v 1.3 2012/11/17 05:58:50 svnexp Exp $ |
2 |
# $FreeBSD: ports/lang/gcc-aux/Makefile,v 1.3 2012/11/17 05:58:50 svnexp Exp $ |
6 |
# |
|
|
7 |
|
3 |
|
8 |
PORTNAME= gcc-aux |
4 |
PORTNAME= gcc-aux |
9 |
PORTVERSION= ${SNAPSHOT} |
5 |
PORTVERSION= ${SNAPSHOT} |
10 |
PORTREVISION= 1 |
|
|
11 |
CATEGORIES= lang |
6 |
CATEGORIES= lang |
12 |
MASTER_SITES= http://downloads.dragonlace.net/src/:boot \ |
7 |
MASTER_SITES= http://downloads.dragonlace.net/src/:boot \ |
13 |
http://dragonlace.mirrors.ada.cx/src/:boot \ |
|
|
14 |
${MASTER_SITE_GCC} |
8 |
${MASTER_SITE_GCC} |
15 |
MASTER_SITE_SUBDIR= releases/gcc-${GCC_VERSION} |
9 |
MASTER_SITE_SUBDIR= releases/gcc-${GCC_VERSION} |
16 |
DISTFILES= gcc-${GCC_VERSION}.tar.bz2 |
10 |
DISTFILES= gcc-${GCC_VERSION}.tar.bz2 |
Lines 26-54
Link Here
|
26 |
BOOTSTRAP_COMPILER= NOT_REQUIRED |
20 |
BOOTSTRAP_COMPILER= NOT_REQUIRED |
27 |
BOOTSTRAP_TRIPLET= NOT_SET |
21 |
BOOTSTRAP_TRIPLET= NOT_SET |
28 |
FULL_GNATGCC= NOT_SET |
22 |
FULL_GNATGCC= NOT_SET |
|
|
23 |
OS_LABEL4VERS= [${OPSYS}] |
24 |
GARCH= ${ARCH:S/amd64/x86_64/} |
29 |
|
25 |
|
30 |
OPTIONS= ADA "Build Ada language" on |
26 |
OPTIONS_DEFINE= ADA CXX FORT OBJC STATIC TESTSUITE NLS |
31 |
OPTIONS+= CXX "Build C++ language" on |
27 |
OPTIONS_DEFAULT= ADA CXX FORT OBJC |
32 |
OPTIONS+= FORT "Build Fortran language" on |
28 |
NO_OPTIONS_SORT= yes |
33 |
OPTIONS+= OBJC "Build Objective-C language" on |
29 |
|
34 |
OPTIONS+= STATIC "Build with no shared libraries other than libc" off |
30 |
ADA_DESC= Build Ada language |
35 |
OPTIONS+= TESTSUITE "Activate test support" off |
31 |
CXX_DESC= Build C++ language |
36 |
OPTIONS+= NLS "Native Language Support" off |
32 |
FORT_DESC= Build Fortran language |
|
|
33 |
OBJC_DESC= Build Objective-C language |
34 |
STATIC_DESC= Build with no shared libraries other than libc |
35 |
TESTSUITE_DESC= Activate test support |
37 |
|
36 |
|
38 |
.include <bsd.port.pre.mk> |
|
|
39 |
.include <bsd.port.options.mk> |
37 |
.include <bsd.port.options.mk> |
40 |
|
38 |
|
41 |
.if ${ARCH} == "amd64" |
39 |
.if ${OPSYS} == FreeBSD |
42 |
BLD_TARGET= x86_64-aux-freebsd${OSREL} |
40 |
. if ${GARCH} == x86_64 |
43 |
OS_LABEL4VERS= [FreeBSD64] |
41 |
OS_LABEL4VERS= [FreeBSD64] |
44 |
BOOTSTRAP_TRIPLET= x86_64-bootstrap-freebsd8.1/4.6.0 |
42 |
BOOTSTRAP_TRIPLET= x86_64-bootstrap-freebsd8.1/4.6.0 |
45 |
BOOTSTRAP_COMPILER= gnat-bootstrap.x86_64.freebsd.tar.bz2 |
43 |
. else |
46 |
.else |
|
|
47 |
BLD_TARGET= i386-aux-freebsd${OSREL} |
48 |
OS_LABEL4VERS= [FreeBSD] |
49 |
BOOTSTRAP_TRIPLET= i386-bootstrap-freebsd8.0/4.6.0 |
44 |
BOOTSTRAP_TRIPLET= i386-bootstrap-freebsd8.0/4.6.0 |
50 |
BOOTSTRAP_COMPILER= gnat-bootstrap.i386.freebsd.tar.bz2 |
45 |
. endif |
51 |
.endif |
46 |
.endif |
|
|
47 |
.if ${OPSYS} == DragonFly |
48 |
. if ${GARCH} == x86_64 |
49 |
OS_LABEL4VERS= [DragonFly64] |
50 |
BOOTSTRAP_TRIPLET= x86_64-bootstrap-dragonfly2.8/4.6.0 |
51 |
. else |
52 |
BOOTSTRAP_TRIPLET= i386-bootstrap-dragonfly2.8/4.6.0 |
53 |
. endif |
54 |
.endif |
55 |
BLD_TARGET= ${GARCH}-aux-${OPSYS:L}${OSREL} |
56 |
BOOTSTRAP_COMPILER= gnat-bootstrap.${GARCH}.${OPSYS:L}.tar.bz2 |
52 |
|
57 |
|
53 |
WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION} |
58 |
WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION} |
54 |
BUILDDIR= ${WRKDIR}/build |
59 |
BUILDDIR= ${WRKDIR}/build |
Lines 79-85
Link Here
|
79 |
.endif |
84 |
.endif |
80 |
|
85 |
|
81 |
# If FULL_GNATGCC is not set, we'll request the bootstrap compiler |
86 |
# If FULL_GNATGCC is not set, we'll request the bootstrap compiler |
82 |
.if ${FULL_GNATGCC} == "NOT_SET" |
87 |
.if ${FULL_GNATGCC} == NOT_SET |
83 |
INTENDED_COMPILER=BOOTSTRAP |
88 |
INTENDED_COMPILER=BOOTSTRAP |
84 |
FULL_GNATGCC=${BOOTSTRAP_PREFIX}/bin/gnatgcc |
89 |
FULL_GNATGCC=${BOOTSTRAP_PREFIX}/bin/gnatgcc |
85 |
FULL_PATH=${BOOTSTRAP_PREFIX}/bin:/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin |
90 |
FULL_PATH=${BOOTSTRAP_PREFIX}/bin:/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin |
Lines 89-94
Link Here
|
89 |
# for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1" |
94 |
# for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1" |
90 |
.if defined(PLUS_BOOTSTRAPS) |
95 |
.if defined(PLUS_BOOTSTRAPS) |
91 |
DISTFILES=gcc-${GCC_VERSION}.tar.bz2 \ |
96 |
DISTFILES=gcc-${GCC_VERSION}.tar.bz2 \ |
|
|
97 |
gnat-bootstrap.i386.dragonfly.tar.bz2:boot \ |
98 |
gnat-bootstrap.x86_64.dragonfly.tar.bz2:boot \ |
92 |
gnat-bootstrap.i386.freebsd.tar.bz2:boot \ |
99 |
gnat-bootstrap.i386.freebsd.tar.bz2:boot \ |
93 |
gnat-bootstrap.x86_64.freebsd.tar.bz2:boot |
100 |
gnat-bootstrap.x86_64.freebsd.tar.bz2:boot |
94 |
.endif |
101 |
.endif |
Lines 97-103
Link Here
|
97 |
## Ada ## |
104 |
## Ada ## |
98 |
########### |
105 |
########### |
99 |
|
106 |
|
100 |
.if defined(WITH_ADA) |
107 |
.if ${PORT_OPTIONS:MADA} |
101 |
LANGS+= ada |
108 |
LANGS+= ada |
102 |
APPLY_DIFFS+= ada |
109 |
APPLY_DIFFS+= ada |
103 |
.endif |
110 |
.endif |
Lines 106-112
Link Here
|
106 |
## C++ ## |
113 |
## C++ ## |
107 |
########### |
114 |
########### |
108 |
|
115 |
|
109 |
.if defined(WITH_CXX) |
116 |
.if ${PORT_OPTIONS:MCXX} |
110 |
LANGS+= c++ |
117 |
LANGS+= c++ |
111 |
APPLY_DIFFS+= cxx |
118 |
APPLY_DIFFS+= cxx |
112 |
MAN1+= g++.1 |
119 |
MAN1+= g++.1 |
Lines 116-122
Link Here
|
116 |
## Fortran ## |
123 |
## Fortran ## |
117 |
############### |
124 |
############### |
118 |
|
125 |
|
119 |
.if defined(WITH_FORT) |
126 |
.if ${PORT_OPTIONS:MFORT} |
120 |
LANGS+= fortran |
127 |
LANGS+= fortran |
121 |
APPLY_DIFFS+= fortran |
128 |
APPLY_DIFFS+= fortran |
122 |
MAN1+= gfortran.1 |
129 |
MAN1+= gfortran.1 |
Lines 129-135
Link Here
|
129 |
## Objective-C ## |
136 |
## Objective-C ## |
130 |
################### |
137 |
################### |
131 |
|
138 |
|
132 |
.if defined(WITH_OBJC) |
139 |
.if ${PORT_OPTIONS:MOBJC} |
133 |
LANGS+= objc |
140 |
LANGS+= objc |
134 |
.endif |
141 |
.endif |
135 |
|
142 |
|
Lines 137-143
Link Here
|
137 |
## Testsuite Support ## |
144 |
## Testsuite Support ## |
138 |
######################### |
145 |
######################### |
139 |
|
146 |
|
140 |
.if defined(WITH_TESTSUITE) |
147 |
.if ${PORT_OPTIONS:MTESTSUITE} |
141 |
BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu |
148 |
BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu |
142 |
APPLY_DIFFS+= ada-testsuite |
149 |
APPLY_DIFFS+= ada-testsuite |
143 |
APPLY_DIFFS+= fortran-testsuite |
150 |
APPLY_DIFFS+= fortran-testsuite |
Lines 149-155
Link Here
|
149 |
## NATIONAL LANGUAGE SUPPORT ## |
156 |
## NATIONAL LANGUAGE SUPPORT ## |
150 |
################################# |
157 |
################################# |
151 |
|
158 |
|
152 |
.if defined(WITH_NLS) |
159 |
.if ${PORT_OPTIONS:MNLS} |
153 |
BUILD_DEPENDS= gettext>=0.18:${PORTSDIR}/devel/gettext |
160 |
BUILD_DEPENDS= gettext>=0.18:${PORTSDIR}/devel/gettext |
154 |
EXTRA_CONFIG+= --enable-nls |
161 |
EXTRA_CONFIG+= --enable-nls |
155 |
.else |
162 |
.else |
Lines 191-197
Link Here
|
191 |
@${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE} |
198 |
@${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE} |
192 |
|
199 |
|
193 |
# Create new directories in preparation of applying diff files |
200 |
# Create new directories in preparation of applying diff files |
194 |
.if defined(WITH_CXX) |
201 |
.if ${PORT_OPTIONS:MCXX} |
195 |
${MKDIR} ${WRKSRC}/libstdc++-v3/config/locale/dragonfly |
202 |
${MKDIR} ${WRKSRC}/libstdc++-v3/config/locale/dragonfly |
196 |
${MKDIR} ${WRKSRC}/libstdc++-v3/config/os/bsd/dragonfly |
203 |
${MKDIR} ${WRKSRC}/libstdc++-v3/config/os/bsd/dragonfly |
197 |
.endif |
204 |
.endif |
Lines 204-217
Link Here
|
204 |
|
211 |
|
205 |
# Update LINK_SPEC to add gcc-aux lib runpath in every binary |
212 |
# Update LINK_SPEC to add gcc-aux lib runpath in every binary |
206 |
@${ECHO} "Configuring LINK_SPEC runpath" |
213 |
@${ECHO} "Configuring LINK_SPEC runpath" |
207 |
@perl -pi -e 's;\@PREFIX\@;${PREFIX};' \ |
214 |
@${PERL} -pi -e 's;\@PREFIX\@;${PREFIX};' \ |
|
|
215 |
${WRKSRC}/gcc/config/dragonfly.h \ |
208 |
${WRKSRC}/gcc/config/i386/freebsd64.h \ |
216 |
${WRKSRC}/gcc/config/i386/freebsd64.h \ |
209 |
${WRKSRC}/gcc/config/i386/freebsd.h |
217 |
${WRKSRC}/gcc/config/i386/freebsd.h |
210 |
|
218 |
|
211 |
.if defined(WITH_STATIC) |
219 |
.if ${PORT_OPTIONS:MSTATIC} |
212 |
@${ECHO} "Reconfiguring GCC Makefile to build compiler statically" |
220 |
@${ECHO} "Reconfiguring GCC Makefile to build compiler statically" |
213 |
@${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-static-version |
221 |
@${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-static-version |
214 |
.if defined(WITH_NLS) |
222 |
.if ${PORT_OPTIONS:MNLS} |
215 |
@${PERL} -pi -e 's;\@LIBINTL\@;${STINTL} ${STICONV};' ${WRKSRC}/intl/config.intl.in |
223 |
@${PERL} -pi -e 's;\@LIBINTL\@;${STINTL} ${STICONV};' ${WRKSRC}/intl/config.intl.in |
216 |
@${PERL} -pi -e 's;\@LIBICONV\@;;' \ |
224 |
@${PERL} -pi -e 's;\@LIBICONV\@;;' \ |
217 |
${WRKSRC}/gcc/Makefile.in \ |
225 |
${WRKSRC}/gcc/Makefile.in \ |
Lines 225-231
Link Here
|
225 |
.endif |
233 |
.endif |
226 |
.endif |
234 |
.endif |
227 |
|
235 |
|
228 |
.if ${INTENDED_COMPILER} == "BOOTSTRAP" |
236 |
.if ${INTENDED_COMPILER} == BOOTSTRAP |
229 |
${MKDIR} ${BOOTSTRAP_PREFIX} |
237 |
${MKDIR} ${BOOTSTRAP_PREFIX} |
230 |
${MV} ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX} |
238 |
${MV} ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX} |
231 |
${MV} ${BOOTSTRAP_PREFIX}/../lib ${BOOTSTRAP_PREFIX} |
239 |
${MV} ${BOOTSTRAP_PREFIX}/../lib ${BOOTSTRAP_PREFIX} |
Lines 234-245
Link Here
|
234 |
# Bootstrap compiler has statically linked z, gmp, mpc, mpfr and iconv |
242 |
# Bootstrap compiler has statically linked z, gmp, mpc, mpfr and iconv |
235 |
# The only shared lib is libc.so.7, so it should work for a long time. |
243 |
# The only shared lib is libc.so.7, so it should work for a long time. |
236 |
|
244 |
|
237 |
.if ${OSVERSION} > 900000 |
|
|
238 |
# Since June 7, bootstrap compiler's include-fixed headers have been |
239 |
# incompatible with FreeBSD 9.0-CURRENT |
240 |
${RM} -rf ${BOOTSTRAP_PREFIX}/lib/gcc/${BOOTSTRAP_TRIPLET}/include-fixed |
245 |
${RM} -rf ${BOOTSTRAP_PREFIX}/lib/gcc/${BOOTSTRAP_TRIPLET}/include-fixed |
241 |
.endif |
246 |
.endif |
242 |
.endif |
|
|
243 |
|
247 |
|
244 |
do-configure: |
248 |
do-configure: |
245 |
${MKDIR} ${BUILDDIR} |
249 |
${MKDIR} ${BUILDDIR} |
Lines 252-285
Link Here
|
252 |
test: build test-ada test-fortran test-objc test-cxx test-c |
256 |
test: build test-ada test-fortran test-objc test-cxx test-c |
253 |
|
257 |
|
254 |
test-ada: |
258 |
test-ada: |
255 |
.if defined(WITH_ADA) && defined(WITH_TESTSUITE) |
259 |
.if ${PORT_OPTIONS:MADA} && ${PORT_OPTIONS:MTESTSUITE} |
256 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada |
260 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada |
257 |
.endif |
261 |
.endif |
258 |
|
262 |
|
259 |
test-fortran: |
263 |
test-fortran: |
260 |
.if defined(WITH_FORT) && defined(WITH_TESTSUITE) |
264 |
.if ${PORT_OPTIONS:MFORT} && ${PORT_OPTIONS:MTESTSUITE} |
261 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-fortran |
265 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-fortran |
262 |
.endif |
266 |
.endif |
263 |
|
267 |
|
264 |
test-objc: |
268 |
test-objc: |
265 |
.if defined(WITH_OBJC) && defined(WITH_TESTSUITE) |
269 |
.if ${PORT_OPTIONS:MOBJC} && ${PORT_OPTIONS:MTESTSUITE} |
266 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-objc |
270 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-objc |
267 |
.endif |
271 |
.endif |
268 |
|
272 |
|
269 |
test-cxx: |
273 |
test-cxx: |
270 |
.if defined(WITH_CXX) && defined(WITH_TESTSUITE) |
274 |
.if ${PORT_OPTIONS:MCXX} && ${PORT_OPTIONS:MTESTSUITE} |
271 |
# libstdc++ testsuite will break every time, TRUE used to force continuation |
275 |
# libstdc++ testsuite will break every time, TRUE used to force continuation |
272 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c++ || true |
276 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c++ || true |
273 |
.endif |
277 |
.endif |
274 |
|
278 |
|
275 |
test-c: |
279 |
test-c: |
276 |
.if defined(WITH_TESTSUITE) |
280 |
.if ${PORT_OPTIONS:MTESTSUITE} |
277 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c |
281 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c |
278 |
.endif |
282 |
.endif |
279 |
|
283 |
|
280 |
do-install: |
284 |
do-install: |
281 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip DESTDIR=${DESTINY} |
285 |
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip DESTDIR=${DESTINY} |
282 |
${CP} -pr ${DESTINY}${PREFIX}/ ${PREFIX}/ |
286 |
${CP} -pR ${DESTINY}${PREFIX}/ ${PREFIX}/ |
283 |
|
287 |
|
284 |
post-install: |
288 |
post-install: |
285 |
${RM} -f ${WRKDIR}/PLIST.all |
289 |
${RM} -f ${WRKDIR}/PLIST.all |
Lines 293-299
Link Here
|
293 |
${SED} -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.all |
297 |
${SED} -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.all |
294 |
|
298 |
|
295 |
cd ${WRKDIR}; ${SED} -i -e "/PLIST.all/ r PLIST.all" ${TMPPLIST} |
299 |
cd ${WRKDIR}; ${SED} -i -e "/PLIST.all/ r PLIST.all" ${TMPPLIST} |
296 |
.if ${OSVERSION} > 900000 && ${OSVERSION} < 900507 |
300 |
.if ${OPSYS} == FreeBSD |
|
|
301 |
. if ${OSVERSION} > 900000 && ${OSVERSION} < 900507 |
297 |
@${ECHO_MSG} "====================================================================" |
302 |
@${ECHO_MSG} "====================================================================" |
298 |
@${ECHO_MSG} " NOTICE REGARDING ADA TASKING ON FREEBSD 9.0:" |
303 |
@${ECHO_MSG} " NOTICE REGARDING ADA TASKING ON FREEBSD 9.0:" |
299 |
@${ECHO_MSG} " Due to a bug in the FreeBSD 9.0 threading library, an exiting task" |
304 |
@${ECHO_MSG} " Due to a bug in the FreeBSD 9.0 threading library, an exiting task" |
Lines 303-308
Link Here
|
303 |
@${ECHO_MSG} " 2) Patch and rebuild thread library as described in" |
308 |
@${ECHO_MSG} " 2) Patch and rebuild thread library as described in" |
304 |
@${ECHO_MSG} " http://www.dragonlace.net/posts/F9_Fix/" |
309 |
@${ECHO_MSG} " http://www.dragonlace.net/posts/F9_Fix/" |
305 |
@${ECHO_MSG} "====================================================================" |
310 |
@${ECHO_MSG} "====================================================================" |
|
|
311 |
. endif |
306 |
.endif |
312 |
.endif |
307 |
|
313 |
|
308 |
.include <bsd.port.post.mk> |
314 |
.include <bsd.port.mk> |