[OE-core] [PATCH 5/6 V3] gcc-crosssdk: share work directories
Robert Yang
liezhi.yang at windriver.com
Sat Jun 18 12:41:35 UTC 2011
The gcc-crosssdk.inc edited the files of config/*/linux*.h in ${S},
which made the source incompatible. Copy config to config-sdk, and edit
the files in config-sdk, configure will read the files in it when build
gcc-crosssdk.
The sed command for configure is more complicated than for configure.ac,
this is because there is such a line /boot/home/config/ in it, we should
not substitute it.
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
meta/recipes-devtools/gcc/gcc-crosssdk.inc | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk.inc b/meta/recipes-devtools/gcc/gcc-crosssdk.inc
index 6e7d5a7..fdba6df 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk.inc
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -9,8 +9,17 @@ GCCMULTILIB = "--disable-multilib"
DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}libc-for-gcc-nativesdk gettext-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk"
+export BUILD_GCC_SDK = "-sdk"
do_configure_prepend () {
# Change the default dynamic linker path to the one in the SDK
- sed -i ${S}/gcc/config/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib/#\1${SYSTEMLIBS}#'
- sed -i ${S}/gcc/config/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib64/#\1${SYSTEMLIBS}#'
+ [ ! -d ${S}/gcc/config-sdk ] && cp -r ${S}/gcc/config ${S}/gcc/config-sdk/
+ sed -i ${S}/gcc/configure.ac -e 's#config/#config\$BUILD_GCC_SDK/#'
+ sed -i ${S}/gcc/configure -e 's# config/# config\$BUILD_GCC_SDK/#' \
+ -e 's#\${srcdir}/config/#\${srcdir}/config\$BUILD_GCC_SDK/#' \
+ -e 's#\$srcdir/config/#\$srcdir/config\$BUILD_GCC_SDK/#' \
+ -e 's#\$(srcdir)/config/#\$(srcdir)/config\$BUILD_GCC_SDK/#' \
+ -e "s#\$(srcdir)'/config/#\$(srcdir)'/config\$BUILD_GCC_SDK/#"
+
+ sed -i ${S}/gcc/config-sdk/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib/#\1${SYSTEMLIBS}#'
+ sed -i ${S}/gcc/config-sdk/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib64/#\1${SYSTEMLIBS}#'
}
--
1.7.1
More information about the Openembedded-core
mailing list