aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-22 09:48:20 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-22 18:30:06 +0100
commit8f6df85ca90c038316ca1ed22e9c54f937f21406 (patch)
treed605fb0fb6589adf3f37b9f2eb629a0a300561e5 /meta/recipes-devtools
parent86bbe5b7b8e8f0c6ee88888fa083053ae14765c4 (diff)
downloadopenembedded-core-8f6df85ca90c038316ca1ed22e9c54f937f21406.tar.gz
gcc-*-cross.inc: Fold common configuration into gcc-cross.inc
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-cross.inc31
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross.inc84
-rw-r--r--meta/recipes-devtools/gcc/gcc-package-cross.inc48
3 files changed, 81 insertions, 82 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-configure-cross.inc b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
deleted file mode 100644
index db7980ba0c..0000000000
--- a/meta/recipes-devtools/gcc/gcc-configure-cross.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-require gcc-configure-common.inc
-
-EXTRA_OECONF += " --enable-poison-system-directories \
- "
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-EXTRA_OECONF_PATHS = " \
- --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS} \
- --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++ \
- --with-sysroot=${STAGING_DIR_TARGET} \
- --with-build-sysroot=${STAGING_DIR_TARGET}"
-
-do_configure_prepend () {
- sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure
-}
-do_compile_prepend () {
- export CC="${BUILD_CC}"
- export AR_FOR_TARGET="${TARGET_SYS}-ar"
- export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
- export LD_FOR_TARGET="${TARGET_SYS}-ld"
- export NM_FOR_TARGET="${TARGET_SYS}-nm"
- export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
- export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}"
- export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}"
- export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
- export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
-}
-
-LIBGCCS_VAR = "-lgcc_s"
-LIBGCCS_VAR_avr32 = ""
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index c3542e297c..bf22101807 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -3,8 +3,38 @@ inherit cross
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc ${EXTRADEPENDS} ${NATIVEDEPS}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
-require gcc-configure-cross.inc
-require gcc-package-cross.inc
+require gcc-configure-common.inc
+
+EXTRA_OECONF += " --enable-poison-system-directories \
+ "
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+EXTRA_OECONF_PATHS = " \
+ --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS} \
+ --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++ \
+ --with-sysroot=${STAGING_DIR_TARGET} \
+ --with-build-sysroot=${STAGING_DIR_TARGET}"
+
+do_configure_prepend () {
+ sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
+ export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}"
+ export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}"
+ export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
+ export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
+}
+
+LIBGCCS_VAR = "-lgcc_s"
+LIBGCCS_VAR_avr32 = ""
EXTRADEPENDS = ""
python () {
@@ -118,5 +148,53 @@ EXTRA_OECONF_PATHS = " \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET}"
-
ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+# Compute how to get from libexecdir to bindir in python (easier than shell)
+BINRELPATH = "${@oe.path.relative(d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"), d.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${MULTIMACH_TARGET_SYS}"))}"
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install-host
+
+ install -d ${D}${target_base_libdir}
+ install -d ${D}${target_libdir}
+
+ # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
+ # gfortran is fully backwards compatible. This is a safe and practical solution.
+ ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true
+
+
+ # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
+ # found. These need to be relative paths so they work in different locations.
+ dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
+ install -d $dest
+ for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
+ ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
+ ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t ${dest}${TARGET_PREFIX}$t
+ done
+
+ # Remove things we don't need but keep share/java
+ for d in info man share/doc share/locale share/man share/info; do
+ rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/$d
+ done
+
+ # We use libiberty from binutils
+ find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
+ find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
+
+ # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
+ case ${PN} in
+ *gcc-cross|*gcc-crosssdk)
+ dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
+ cp -fpPR . $dest
+ ;;
+ esac
+}
+
+do_package[noexec] = "1"
+do_packagedata[noexec] = "1"
+do_package_write_ipk[noexec] = "1"
+do_package_write_rpm[noexec] = "1"
+do_package_write_deb[noexec] = "1"
diff --git a/meta/recipes-devtools/gcc/gcc-package-cross.inc b/meta/recipes-devtools/gcc/gcc-package-cross.inc
deleted file mode 100644
index 3d8167703f..0000000000
--- a/meta/recipes-devtools/gcc/gcc-package-cross.inc
+++ /dev/null
@@ -1,48 +0,0 @@
-INHIBIT_PACKAGE_STRIP = "1"
-
-# Compute how to get from libexecdir to bindir in python (easier than shell)
-BINRELPATH = "${@oe.path.relative(d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"), d.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${MULTIMACH_TARGET_SYS}"))}"
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install-host
-
- install -d ${D}${target_base_libdir}
- install -d ${D}${target_libdir}
-
- # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
- # gfortran is fully backwards compatible. This is a safe and practical solution.
- ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true
-
-
- # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
- # found. These need to be relative paths so they work in different locations.
- dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
- install -d $dest
- for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
- ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
- ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t ${dest}${TARGET_PREFIX}$t
- done
-
- # Remove things we don't need but keep share/java
- for d in info man share/doc share/locale share/man share/info; do
- rm -rf ${D}${STAGING_DIR_NATIVE}${prefix_native}/$d
- done
-
- # We use libiberty from binutils
- find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
- find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
-
- # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
- case ${PN} in
- *gcc-cross|*gcc-crosssdk)
- dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
- cp -fpPR . $dest
- ;;
- esac
-}
-
-do_package[noexec] = "1"
-do_packagedata[noexec] = "1"
-do_package_write_ipk[noexec] = "1"
-do_package_write_rpm[noexec] = "1"
-do_package_write_deb[noexec] = "1"