This patch works around a max shebang length issue in llvm's llvm-config. llvm-config is a perl script. meta-java configures the llvm sources to use OE's perl which might reside in a path longer than 127 chars. llvm's perl script will then have a shebang line longer than 127 characters. This will break the script. In linux, shebang interpreter paths are cut off after 127 bytes.
meta-java's llvm recipe already wraps the perl script llvm-config with a small shell script. This patch adds an explicit perl interpreter call to this wrapping shell script. Signed-off-by: Thilo Fromm <[email protected]> --- recipes-core/llvm/llvm-common.bb | 12 ++++++++++++ recipes-core/llvm/llvm-common/llvm-config | 2 +- 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/recipes-core/llvm/llvm-common.bb b/recipes-core/llvm/llvm-common.bb index 38ca1ee..3db4af0 100644 --- a/recipes-core/llvm/llvm-common.bb +++ b/recipes-core/llvm/llvm-common.bb @@ -4,8 +4,20 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \ " +# provide native perl binaries via PATH +inherit perlnative +DEPENDS += "perl-native" + SRC_URI = "file://llvm-config" +do_compile() { + cd .. + # This adds an explicit call to the interpreter in the wrapper script + # so we don't run into shebang max size issues in the llvm-configX.X perl script + # if the path to perl-native > 127 chars. + sed -i -e "s|@PATH_TO_PERL@|`which perl`|" llvm-config +} + do_install() { install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ install -m 0755 ${WORKDIR}/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ diff --git a/recipes-core/llvm/llvm-common/llvm-config b/recipes-core/llvm/llvm-common/llvm-config index a9a416d..08463e5 100644 --- a/recipes-core/llvm/llvm-common/llvm-config +++ b/recipes-core/llvm/llvm-common/llvm-config @@ -2,7 +2,7 @@ # Wrapper script for real llvm-config. Simply calls if [ $WANT_LLVM_RELEASE ]; then - exec `dirname $0`/${TARGET_PREFIX}llvm-config$WANT_LLVM_RELEASE ${@} + exec "@PATH_TO_PERL@" `dirname $0`/${TARGET_PREFIX}llvm-config$WANT_LLVM_RELEASE ${@} else echo "The variable WANT_LLVM_RELEASE is not defined and exported" echo "by your build recipe. Go figure." -- 1.7.5.4 -- Dipl.-Ing (FH) Thilo Fromm, MSc., Embedded Systems Architect DResearch Fahrzeugelektronik GmbH Otto-Schmirgal-Str. 3, D-10319 Berlin, Germany Tel: +49 (30) 515 932 228 mailto:[email protected] Fax: +49 (30) 515 932 77 http://www.dresearch.de Amtsgericht: Berlin Charlottenburg, HRB 130120 B Ust.-IDNr. DE273952058 Geschäftsführer: Dr. M. Weber, W. Mögle _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
