1e1ad898b3a8a7283dc176ba40d48e5c9b1e3dbe
[vuplus_openembedded] / gcc / gcc3-build.inc
1 MIRRORS_prepend () {
2 ${GNU_MIRROR}/gcc/releases/    ftp://gcc.gnu.org/pub/gcc/releases/
3 ${GNU_MIRROR}/gcc/      http://mirrors.rcn.net/pub/sourceware/gcc/releases/
4 ${GNU_MIRROR}/gcc/releases/    http://gcc.get-software.com/releases/
5 ${GNU_MIRROR}/gcc/      http://gcc.get-software.com/releases/
6 }
7
8 gcclibdir ?= "${libdir}/gcc"
9 S = "${WORKDIR}/gcc-${PV}"
10 B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
11
12 EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
13                 --with-gnu-ld \
14                 --enable-shared \
15                 --enable-target-optspace \
16                 --enable-languages=c,c++,f77 \
17                 --enable-threads=posix \
18                 --enable-multilib \
19                 --enable-c99 \
20                 --enable-long-long \
21                 --enable-symvers=gnu \
22                 --program-prefix=${TARGET_PREFIX} \
23                 ${EXTRA_OECONF_PATHS} \
24                 ${EXTRA_OECONF_DEP}"
25
26 EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
27                       --with-gxx-include-dir=${includedir}/c++/${PV}"
28
29 EXTRA_OECONF_DEP = ""
30 EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
31 EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
32 EXTRA_OECONF += "${@get_gcc_fpu_setting(oe, d)}"
33 CPPFLAGS = ""
34
35 def get_gcc_fpu_setting(oe, d):
36         if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
37                 return "--with-float=soft"
38         return ""
39
40 python __anonymous () {
41     import bb, re
42     if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
43         bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
44     elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
45         bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
46 }
47
48 do_configure () {
49         # Setup these vars for cross building only
50         if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
51                 export CC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
52                 export GCC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
53                 export CXX_FOR_TARGET="${CCACHE} ${HOST_PREFIX}g++"
54                 export AS_FOR_TARGET="${HOST_PREFIX}as"
55                 export LD_FOR_TARGET="${HOST_PREFIX}ld"
56                 export NM_FOR_TARGET="${HOST_PREFIX}nm"
57                 export AR_FOR_TARGET="${HOST_PREFIX}ar"
58                 export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
59         fi
60         export CC_FOR_BUILD="${BUILD_CC}"
61         export CXX_FOR_BUILD="${BUILD_CXX}"
62         export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
63         export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
64         export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
65         export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
66         (cd ${S} && gnu-configize) || die "failure running gnu-configize"
67         oe_runconf
68 }