blob: 0dfc78e197ebc8968a26ccd8dc0eb39265aefe1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# $NetBSD: Makefile,v 1.9 2017/09/24 21:07:17 wiedi Exp $
DISTNAME= gcc-7.2.0
PKGNAME= cross-arm-none-eabi-${DISTNAME}
CATEGORIES= cross
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${PKGVERSION_NOREV}/}
NEWLIBVER= 2.5.0
SITES.newlib-${NEWLIBVER}.tar.gz=ftp://sources.redhat.com/pub/newlib/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
newlib-${NEWLIBVER}.tar.gz
MAINTAINER= ryoon@NetBSD.org
HOMEPAGE= # none
COMMENT= GCC for bare metal ARM EABI
EXTRACT_SUFX= .tar.gz
EXTRACT_USING= bsdtar
# for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33549
# use makeinfo from pkgsrc/devel/gtexinfo.
TOOL_DEPENDS+= gtexinfo>=5.1:../../devel/gtexinfo
_TOOLS_USE_PKGSRC.makeinfo=yes
DEPENDS+= cross-arm-none-eabi-binutils-[0-9]*:../../cross/arm-none-eabi-binutils
USE_LANGUAGES+= c c++
ARMELF_PREFIX= ${PREFIX}/cross-arm-none-eabi
OBJDIR= ../build
CONFIGURE_DIRS= ${OBJDIR}
CONFIGURE_SCRIPT= ../${DISTNAME}/configure
CONFIG_SHELL= ${TOOLS_PATH.bash}
WRAPPER_SHELL= ${TOOLS_PATH.bash}
USE_TOOLS+= bash perl
USE_TOOLS+= gmake makeinfo
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${ARMELF_PREFIX}
HOSTDIR= build-${MACHINE_ARCH}--${LOWER_OPSYS}
CONFIGURE_ARGS+= --target=arm-none-eabi
CONFIGURE_ARGS+= --enable-languages=c,c++
CONFIGURE_ARGS+= --with-newlib
CONFIGURE_ARGS+= --disable-nls
CONFIGURE_ARGS+= --disable-libstdcxx-pch
INFO_FILES= yes
CONFIGURE_ARGS+= --enable-${PLUGIN_NAME}-plugin
PLIST_VARS+= libcpp
.include "../../mk/compiler.mk"
.if !empty(PKGSRC_COMPILER:Mclang)
# geattrtab on neon.md results in a very deeply nested expression
# with > 255 brackets. This was reported against GCC 4.9.1 at least
# already, but it seems noone cares enough in GCC to fix the generator.
CFLAGS+= -fbracket-depth=1024
.endif
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS"
PLIST.libcpp= yes
.endif
post-extract:
${LN} -s ${WRKDIR}/newlib-${NEWLIBVER}/newlib ${WRKSRC}/newlib
${LN} -s ${WRKDIR}/newlib-${NEWLIBVER}/libgloss ${WRKSRC}/libgloss
pre-configure:
${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
.include "../../devel/gmp/buildlink3.mk"
.include "../../math/mpfr/buildlink3.mk"
.include "../../math/mpcomplex/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
|