update Wed Mar 24 18:37:00 PDT 2010
[pkgsrc.git] / lang / gcc44 / Makefile
1 # $NetBSD: Makefile,v 1.12 2010/03/24 19:43:25 asau Exp $
2 #
3
4 DISTNAME=               gcc-${GCC_VERSION}
5 PKGNAME=                gcc44-${GCC_VERSION}
6 PKGREVISION=            1
7 CATEGORIES=             lang
8 MASTER_SITES=           ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
9 EXTRACT_SUFX=           .tar.bz2
10
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
15
16 PKG_DESTDIR_SUPPORT=    user-destdir
17
18 USE_TOOLS+=             awk:run bash:run perl chmod \
19                         gmake:run makeinfo msgfmt bison flex gm4 \
20                         sed:run unzip
21
22 DEPENDS+=               zip-[0-9]*:../../archivers/zip
23
24 GCC_VERSION=            4.4.3
25
26 GCC_SUBPREFIX=          gcc44
27 GCC_PREFIX=             ${PREFIX}/${GCC_SUBPREFIX}
28 FILES_SUBST+=           PKGNAME=${PKGNAME}
29 MESSAGE_SUBST+=         GCC_PREFIX=${GCC_PREFIX}
30
31
32 # To avoid GNU surprises
33 CONFIG_SHELL=           ${TOOLS_PATH.bash}
34
35 NOT_FOR_PLATFORM=       Interix-*-*
36 UNLIMIT_RESOURCES+=     datasize
37
38 .include "../../mk/bsd.prefs.mk"
39 .include "options.mk"
40
41 # Determine whether to use binutils
42
43 # REPLACE_AWK+= gcc/testsuite/gcc.test-framework/test-framework.awk     \
44 #               gcc/mkmap-symver.awk                                    \
45 #               gcc/optc-gen.awk                                        \
46 #               gcc/mkmap-flat.awk                                      \
47 #               gcc/opt-gather.awk                                      \
48 #               gcc/opth-gen.awk                                        \
49 #               gcc/opt-functions.awk
50
51 REPLACE_BASH+= contrib/dg-cmp-results.sh
52 REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-patchlist
53 REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update
54 REPLACE_BASH+= contrib/reghunt/bin/gcc-svn-update-fix
55 REPLACE_BASH+= contrib/reghunt/bin/reg-hunt
56 REPLACE_BASH+= contrib/reghunt/bin/reg-test
57 REPLACE_BASH+= contrib/reghunt/date_based/reg_periodic
58 REPLACE_BASH+= contrib/reghunt/date_based/reg_search
59 REPLACE_BASH+= gcc/dbgcnt.def
60 REPLACE_BASH+= gcc/testsuite/gcc.test-framework/gen_directive_tests
61 REPLACE_BASH+= libstdc++-v3/scripts/run_doxygen
62
63 # Optional languages - change as required
64 # Ada could be added although there is a bootstrapping issue.  See
65 # ../gcc34-ada for guidance
66 BUILD_DEFS+=            BUILD_CXX BUILD_FORTRAN BUILD_JAVA BUILD_OBJC
67 BUILD_CXX?=             YES
68 BUILD_FORTRAN?=         YES
69 BUILD_JAVA?=            YES
70 BUILD_OBJC?=            YES
71
72 LANGS= c
73
74 #.if !empty(BUILD_CXX:M[aA][dD][aA])
75 #LANGS+= ada
76 #.endif
77
78 .if !empty(BUILD_CXX:M[Yy][Ee][Ss])
79 LANGS+= c++
80 .endif
81
82 .if !empty(BUILD_FORTRAN:M[Yy][Ee][Ss])
83 LANGS+= fortran
84 .endif
85
86 .if !empty(BUILD_JAVA:M[Yy][Ee][Ss])
87 LANGS+= java
88 .endif
89
90 .if !empty(BUILD_OBJC:M[Yy][Ee][Ss])
91 LANGS+= objc
92 .endif
93
94 CONFIGURE_ARGS+=        --prefix=${GCC_PREFIX:Q}
95 CONFIGURE_ARGS+=        --enable-languages=${LANGS:Q}
96 CONFIGURE_ARGS+=        --with-system-zlib
97 CONFIGURE_ARGS+=        --enable-shared
98 CONFIGURE_ARGS+=        --enable-__cxa_atexit
99 CONFIGURE_ARGS+=        --enable-long-long
100 CONFIGURE_ARGS+=        --with-local-prefix=${GCC_PREFIX:Q}
101 CONFIGURE_ARGS+=        --disable-libssp
102 CONFIGURE_ARGS+=        --enable-threads=posix
103 CONFIGURE_ARGS+=        --with-gmp=${BUILDLINK_PREFIX.gmp}
104 CONFIGURE_ARGS+=        --with-mpfr=${BUILDLINK_PREFIX.mpfr}
105
106 CONFIGURE_ENV+=         CONFIG_SHELL=${CONFIG_SHELL}
107
108 # ${WRKSRC}/gcc-4.4.1/libjava/contrib/aotcompile.py.in stores the path to
109 # a 'make' program so we need to make sure we give it the installed 'make' and not
110 # the tool wrapped one.
111 CONFIGURE_ENV+=         PKGSRC_MAKE=${TOOLS_PATH.gmake}
112 MAKE_ENV+=              PKGSRC_MAKE=${TOOLS_PATH.gmake}
113
114 # fastjar-0.93 from pkgsrc/archivers/fastjar seems to trigger a build
115 # failure (seen on NetBSD-5.0/i386) when building java.  So in case
116 # the fastjar package is installed, make sure the configure script
117 # doesn't pick it up.
118 CONFIGURE_ENV+=         JAR=no
119 MAKE_ENV+=              JAR=no
120 MAKE_ENV+=              ac_cv_prog_JAR=no
121
122 MAKE_ENV+=              ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
123 MAKE_ENV+=              SHELL=${CONFIG_SHELL}
124 MAKE_ENV+=              ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD}
125
126 # ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
127 # a binary so we need to make sure we give it the installed sed and not
128 # the tool wrapped one.
129 MAKE_ENV+=              lt_cv_path_SED=${TOOLS_SED}
130
131 CPPFLAGS+=              -I${BUILDLINK_DIR}/include
132 CFLAGS+=                -I${BUILDLINK_DIR}/include
133
134 # Somone should fix this so it will match the NetBSD system compiler
135 #.if ${OPSYS} == "NetBSD"
136 #GCC_PLATFORM=  ${LOWER_ARCH}--${LOWER_OPSYS}${APPEND_ELF}
137 #CONFIGURE_ARGS+=       --host=${GCC_PLATFORM:Q}
138 #MAKE_ENV+=             AR=/usr/bin/ar
139 #.endif # NetBSD
140
141 LIBS.SunOS+=            -lgmp
142
143 pre-configure:
144 .if ${OPSYS} == "DragonFly"
145         ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/gcc/config/dragonfly.h
146         ${CP} ${FILESDIR}/dragonfly-spec.h ${WRKSRC}/gcc/config/dragonfly-spec.h
147         ${CP} ${FILESDIR}/i386-dragonfly.h ${WRKSRC}/gcc/config/i386/dragonfly.h
148         ${CP} ${FILESDIR}/i386-dragonfly64.h ${WRKSRC}/gcc/config/i386/dragonfly64.h
149 .endif
150
151
152 do-configure:
153         ${MKDIR} ${WRKDIR}/obj
154         cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS}
155
156 do-build:
157         (${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1:Q} )
158
159 do-test:
160 .if (${MACHINE_GNU_ARCH} == "x86_64")
161         (cd ${FILESDIR} && ${CP} netbsd64macro.dfs ${WRKSRC}/gcc/testsuite/ada/acats/support/macro.dfs)
162 .endif
163         (cd ${WRKDIR}/obj && ${GMAKE} -k check)
164
165 do-install:
166         (cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR} \
167          && ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc)
168
169 GENERATE_PLIST+=                                                        \
170         cd ${DESTDIR}${PREFIX} && ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print \
171         | ${SORT} ;
172
173 .include "../../devel/gmp/buildlink3.mk"
174 .include "../../devel/zlib/buildlink3.mk"
175 .include "../../math/mpfr/buildlink3.mk"
176 .include "../../mk/bsd.pkg.mk"