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