1 # Created by: Lev Serebryakov <lev@serebryakov.spb.ru>
5 PORTVERSION= ${GCCVERSION}
9 PKGNAMEPREFIX= mingw32-
11 MAINTAINER= cyberbotx@cyberbotx.com
12 COMMENT= FSF gcc-4 for Windows cross-development
14 LICENSE= GPLv3 GPLv3RLE
17 BUILD_DEPENDS= ${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils \
18 mingwm10.dll:${PORTSDIR}/devel/${PKGNAMEPREFIX}bin-msvcrt
19 RUN_DEPENDS= ${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils
20 LIB_DEPENDS= libgmp.so:${PORTSDIR}/math/gmp \
21 libmpfr.so:${PORTSDIR}/math/mpfr \
22 libmpc.so:${PORTSDIR}/math/mpc
28 ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 sparc64
30 USES= bison iconv gmake libtool makeinfo perl5 tar:bzip2
33 GCC_TARG= ${PKGNAMEPREFIX:S/-$//}
35 PATCH_WRKSRC= ${SRCDIR}
36 CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}//}/configure
38 BINARIES= c++ cpp g++ gcc gcov gfortran
40 .include <bsd.port.pre.mk>
42 .if ${ARCH} == "x86_64"
43 CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL}
45 CONFIGURE_TARGET= ${ARCH}-portbld-${OPSYS:tl}${OSREL}
48 .if ${ARCH} == powerpc64
49 CONFIGURE_ENV+= UNAME_m="powerpc64"
52 LANGUAGES:= c,c++,fortran,objc,obj-c++
53 SRCDIR= ${WRKDIR}/${PORTNAME}-${GCCVERSION}
54 WRKSRC= ${WRKDIR}/build
56 CONFIGURE_ARGS= --disable-nls --target=${GCC_TARG} \
57 --with-gxx-include-dir=${PREFIX}/${GCC_TARG}/include/c++/${GCCVERSION} \
58 --disable-build-poststage1-with-cxx \
59 --includedir=${PREFIX}/${GCC_TARG}/include \
60 --datadir=${PREFIX}/${GCC_TARG}/share \
61 --enable-shared --with-gnu-ld \
62 --enable-lto --disable-multilib \
63 --enable-languages=${LANGUAGES} \
64 --disable-sjlj-exceptions \
65 --with-dwarf2 --disable-win32-registry \
66 --enable-libstdcxx-debug \
67 --enable-version-specific-runtime-libs \
68 --with-gmp=${LOCALBASE} \
69 --with-system-zlib --with-gnu-as \
70 --enable-decimal-float=yes \
71 --disable-libgomp --disable-threads \
72 ${ICONV_CONFIGURE_ARG} \
74 MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
75 PLIST_SUB+= GCC_TARG=${GCC_TARG} GCC_REV=${GCCVERSION}
76 INFO_PATH= ${GCC_TARG}/info
77 INFO= cpp cppinternals gcc gccinstall gccint gfortran
78 .if ${ARCH} == "i386" || ${ARCH} == "x86_64"
81 INSTALL_TARGET= install-strip
84 ${REINPLACE_CMD} -e "s,# include <sys/sysctl.h>,," \
85 ${SRCDIR}/libiberty/physmem.c
88 cd ${SRCDIR} ; contrib/gcc_update --touch
89 @${RM} -f ${SRCDIR}/gcc/*/*.info*
90 @${MKDIR} ${CONFIGURE_WRKSRC}
93 @${RM} ${STAGEDIR}${PREFIX}/lib/libiberty.a
94 @${MKDIR} ${STAGEDIR}${PREFIX}/${GCC_TARG}/bin
96 @${LN} -f ${STAGEDIR}${PREFIX}/bin/${PKGNAMEPREFIX}$F \
97 ${STAGEDIR}${PREFIX}/${GCC_TARG}/bin/$F
100 .include <bsd.port.post.mk>