From bb97cbaff62482fabdd6dd7812fa090d33824bff Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Wed, 22 Dec 2010 22:42:11 +0100 Subject: libc/eglibc: fix installed scripts Like rev 2002, eglibc installs some bash scripts, but use the path to the buildtool bash as the interpreter (on the shebang line). This is only a symlink to the real bash, and thus is not available at runtime. Fix that by assuming that shell on the target *will* be /bin/bash. Signed-off-by: Bryan Hundven (transplanted from 6884dcb80121ebc8ce17deee62716ed75fc29393) diff --git a/scripts/build/libc/eglibc.sh b/scripts/build/libc/eglibc.sh index b71107f..0d92c90 100644 --- a/scripts/build/libc/eglibc.sh +++ b/scripts/build/libc/eglibc.sh @@ -306,6 +306,19 @@ do_libc() { CT_DoLog DEBUG "Extra config args passed: '${extra_config[*]}'" CT_DoLog DEBUG "Extra CC args passed : '${extra_cc_args}'" + # ./configure is mislead by our tools override wrapper for bash + # so just tell it where the real bash is _on_the_target_! + # Notes: + # - ${ac_cv_path_BASH_SHELL} is only used to set BASH_SHELL + # - ${BASH_SHELL} is only used to set BASH + # - ${BASH} is only used to set the shebang + # in two scripts to run on the target + # So we can safely bypass bash detection at compile time. + # Should this change in a future eglibc release, we'd better + # directly mangle the generated scripts _after_ they get built, + # or even after they get installed... eglibc is such a sucker... + echo "ac_cv_path_BASH_SHELL=/bin/bash" >config.cache + BUILD_CC="${CT_BUILD}-gcc" \ CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} ${OPTIMIZE}" \ CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \ @@ -320,6 +333,7 @@ do_libc() { --disable-profile \ --without-gd \ --without-cvs \ + --cache-file=config.cache \ "${extra_config[@]}" \ ${CT_LIBC_GLIBC_EXTRA_CONFIG} -- cgit v0.10.2-6-g49f6