1 # $NetBSD: Makefile,v 1.9 2009/09/25 09:37:57 wiz Exp $
4 DISTNAME= gcc-${GCC_VERSION}
5 PKGNAME= gcc44-${GCC_VERSION}
8 MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
11 MAINTAINER= blair.sadewitz@gmail.com
12 HOMEPAGE= http://gcc.gnu.org/
13 COMMENT= GNU Compiler Collection 4.4
14 LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
16 PKG_DESTDIR_SUPPORT= user-destdir
18 USE_TOOLS+= awk:run bash:run perl chmod \
19 gmake:run makeinfo msgfmt bison flex gm4 \
22 DEPENDS+= zip-[0-9]*:../../archivers/zip
27 GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX}
28 FILES_SUBST+= PKGNAME=${PKGNAME:Q}
29 MESSAGE_SUBST+= GCC_PREFIX=${GCC_PREFIX}
32 # To avoid GNU surprises
33 CONFIG_SHELL= ${TOOLS_PATH.bash}
35 NOT_FOR_PLATFORM= Interix-*-*
36 UNLIMIT_RESOURCES+= datasize
38 .include "../../mk/bsd.prefs.mk"
40 # Determine whether to use binutils
42 # REPLACE_AWK+= gcc/testsuite/gcc.test-framework/test-framework.awk \
43 # gcc/mkmap-symver.awk \
45 # gcc/mkmap-flat.awk \
46 # gcc/opt-gather.awk \
48 # gcc/opt-functions.awk
50 REPLACE_BASH+= contrib/dg-cmp-results.sh
51 REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-patchlist
52 REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update
53 REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update-fix
54 REPLACE_BASH+= contrib/reghunt/bin/reg-hunt
55 REPLACE_BASH+= contrib/reghunt/bin/reg-test
56 REPLACE_BASH+= contrib/reghunt/date_based/reg_periodic
57 REPLACE_BASH+= contrib/reghunt/date_based/reg_search
58 REPLACE_BASH+= gcc/dbgcnt.def
59 REPLACE_BASH+= gcc/testsuite/gcc.test-framework/gen_directive_tests
60 REPLACE_BASH+= libstdc++-v3/scripts/run_doxygen
62 # Optional languages - change as required
63 # Ada could be added although there is a bootstrapping issue. See
64 # ../gcc34-ada for guidance
65 BUILD_DEFS+= BUILD_CXX BUILD_FORTRAN BUILD_JAVA BUILD_OBJC
73 #.if !empty(BUILD_CXX:M[aA][dD][aA])
77 .if !empty(BUILD_CXX:M[Yy][Ee][Ss])
81 .if !empty(BUILD_FORTRAN:M[Yy][Ee][Ss])
85 .if !empty(BUILD_JAVA:M[Yy][Ee][Ss])
89 .if !empty(BUILD_OBJC:M[Yy][Ee][Ss])
93 CONFIGURE_ARGS+= --prefix=${GCC_PREFIX:Q}
94 CONFIGURE_ARGS+= --enable-languages=${LANGS:Q}
95 CONFIGURE_ARGS+= --with-system-zlib
96 CONFIGURE_ARGS+= --enable-shared
97 CONFIGURE_ARGS+= --enable-__cxa_atexit
98 CONFIGURE_ARGS+= --enable-long-long
99 CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q}
100 CONFIGURE_ARGS+= --disable-libssp
101 CONFIGURE_ARGS+= --enable-threads=posix
102 CONFIGURE_ARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp}
103 CONFIGURE_ARGS+= --with-mpfr=${BUILDLINK_PREFIX.mpfr}
105 CONFIGURE_ENV+= CONFIG_SHELL=${CONFIG_SHELL:Q}
107 # ${WRKSRC}/gcc-4.4.1/libjava/contrib/aotcompile.py.in stores the path to
108 # a 'make' program so we need to make sure we give it the installed 'make' and not
109 # the tool wrapped one.
110 CONFIGURE_ENV+= PKGSRC_MAKE=${TOOLS_PATH.gmake:Q}
111 MAKE_ENV+= PKGSRC_MAKE=${TOOLS_PATH.gmake:Q}
113 # fastjar-0.93 from pkgsrc/archivers/fastjar seems to trigger a build
114 # failure (seen on NetBSD-5.0/i386) when building java. So in case
115 # the fastjar package is installed, make sure the configure script
116 # doesn't pick it up.
117 CONFIGURE_ENV+= JAR=no
119 MAKE_ENV+= ac_cv_prog_JAR=no
121 MAKE_ENV+= ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
122 MAKE_ENV+= SHELL=${CONFIG_SHELL}
123 MAKE_ENV+= ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD:Q}
125 # ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
126 # a binary so we need to make sure we give it the installed sed and not
127 # the tool wrapped one.
128 MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED:Q}
130 CPPFLAGS+= -I${BUILDLINK_DIR}/include
131 CFLAGS+= -I${BUILDLINK_DIR}/include
133 # Somone should fix this so it will match the NetBSD system compiler
134 #.if ${OPSYS} == "NetBSD"
135 #GCC_PLATFORM= ${LOWER_ARCH}--${LOWER_OPSYS}${APPEND_ELF}
136 #CONFIGURE_ARGS+= --host=${GCC_PLATFORM:Q}
137 #MAKE_ENV+= AR=/usr/bin/ar
143 .if ${OPSYS} == "DragonFly"
144 ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/gcc/config/dragonfly.h
145 ${CP} ${FILESDIR}/dragonfly-spec.h ${WRKSRC}/gcc/config/dragonfly-spec.h
146 ${CP} ${FILESDIR}/i386-dragonfly.h ${WRKSRC}/gcc/config/i386/dragonfly.h
147 ${CP} ${FILESDIR}/i386-dragonfly64.h ${WRKSRC}/gcc/config/i386/dragonfly64.h
152 ${MKDIR} ${WRKDIR}/obj
153 cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS}
156 (${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1} )
159 .if (${MACHINE_GNU_ARCH} == "x86_64")
160 (cd ${FILESDIR} && ${CP} netbsd64macro.dfs ${WRKSRC}/gcc/testsuite/ada/acats/support/macro.dfs)
162 (cd ${WRKDIR}/obj && ${GMAKE} -k check)
165 (cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR:Q} \
166 && ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc)
169 cd ${DESTDIR}${PREFIX} && ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print \
172 .include "../../converters/libiconv/buildlink3.mk"
173 .include "../../devel/gettext-lib/buildlink3.mk"
174 .include "../../devel/gmp/buildlink3.mk"
175 .include "../../devel/zlib/buildlink3.mk"
176 .include "../../math/mpfr/buildlink3.mk"
177 .include "../../mk/bsd.pkg.mk"