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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
include ${TOPDIR}/rules.mk
include ${TOPDIR}/toolchain/gcc/Makefile.inc
PKG_NAME:= gcc
PKG_DESCR:= GNU C compiler
PKG_SECTION:= lang
PKG_OPTS:= noremove
PKG_DEPENDS:= libmpc libgmp mpfr libgcc
PKG_BUILDDEP:= libmpc gmp mpfr
PKG_SUBPKGS:= GCC GXX
PKGSD_GXX:= GNU C++ compiler
WRKBUILD= ${WRKDIR}/${PKG_NAME}-obj
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,GCC,gcc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,GXX,g++,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CPPFLAGS_FOR_BUILD:= -I$(STAGING_HOST_DIR)/usr/include
CFLAGS_FOR_BUILD:=
LDFLAGS_FOR_BUILD:=
TARGET_CPPFLAGS:=
TARGET_CFLAGS:=
TARGET_LDFLAGS:=
TARGET_CXXFLAGS:=
ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64),y)
CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64EL),y)
CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
endif
ifneq ($(ADK_PACKAGE_GXX),)
CONFIGURE_ARGS+= --enable-languages=c,c++
else
CONFIGURE_ARGS+= --enable-languages=c
endif
ifeq ($(CPU_ARCH),ppc)
CONFIGURE_ARGS+= --disable-target-optspace --with-long-double-64 --enable-secureplt
TARGET_CFLAGS+= '-Wl,--secure-plt'
else
CONFIGURE_ARGS+= --enable-target-optspace
endif
CONFIGURE_ENV+= have_sys_sdt_h=no
CONFIGURE_ARGS+= --host=$(GNU_TARGET_NAME) \
--target=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--disable-__cxa_atexit \
--without-headers \
--libexecdir=/usr/lib \
--disable-libssp \
--disable-biarch \
--disable-libmudflap \
--disable-libgomp \
--disable-multilib \
--disable-libstdcxx-pch \
--disable-libsanitizer \
--disable-libitm \
--enable-cxx-flags="${TARGET_LDFLAGS}"
# disable honour cflags stuff
XAKE_FLAGS+= GCC_HONOUR_COPTS=s
pre-configure:
$(SED) 's@\./fixinc\.sh@-c true@' $(WRKSRC)/gcc/Makefile.in
gcc-install:
${INSTALL_DIR} ${IDIR_GCC}/usr/lib/gcc ${IDIR_GCC}/usr/bin
${INSTALL_DIR} ${IDIR_GCC}/lib
${INSTALL_BIN} ${WRKINST}/usr/bin/gcc ${IDIR_GCC}/usr/bin/
cd ${IDIR_GCC}/usr/bin/ && ln -sf gcc cc
${INSTALL_BIN} ${WRKINST}/usr/bin/cpp ${IDIR_GCC}/usr/bin/
cd ${IDIR_GCC}/lib && ln -sf ../usr/bin/cpp .
${CP} ${WRKINST}/usr/lib/gcc/* ${IDIR_GCC}/usr/lib/gcc/
rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools
g++-install:
${INSTALL_DIR} ${IDIR_GXX}/usr/bin
${INSTALL_DIR} ${IDIR_GXX}/usr/include/c++
${INSTALL_BIN} ${WRKINST}/usr/bin/g++ ${IDIR_GXX}/usr/bin/
cd ${IDIR_GXX}/usr/bin/ && ln -sf g++ c++
${CP} ${WRKINST}/usr/include/c++/* ${IDIR_GXX}/usr/include/c++/
include ${TOPDIR}/mk/pkg-bottom.mk
|