On Apr 16, 2013, at 2:28 PM, Richard Purdie <[email protected]> wrote:
> On Tue, 2013-04-16 at 14:30 +0200, Martin Jansa wrote: >> * with external toolchain I have different HOST_PREFIX and HOST_SYS >> AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy >> then it tries objcopy without prefix which is found on host, but >> that objcopy does not work for arm libs >> * with internal toolchain gperf is not prefixed with HOST_PREFIX, but >> fallback to "gperf" only finds the one in native sysroot first >> * based on >> http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html >> Khem suggested to export strings and gperf from bitbake.conf instead >> >> Signed-off-by: Martin Jansa <[email protected]> >> --- >> meta/conf/bitbake.conf | 2 ++ >> ...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 >> ++++++++++++++++++++++ >> meta/recipes-core/systemd/systemd_199.bb | 1 + >> 3 files changed, 44 insertions(+) >> create mode 100644 >> meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch >> >> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf >> index cd5d61e..a84ae38 100644 >> --- a/meta/conf/bitbake.conf >> +++ b/meta/conf/bitbake.conf >> @@ -455,6 +455,8 @@ export RANLIB = "${HOST_PREFIX}ranlib" >> export STRIP = "${HOST_PREFIX}strip" >> export OBJCOPY = "${HOST_PREFIX}objcopy" >> export OBJDUMP = "${HOST_PREFIX}objdump" >> +export STRINGS = "${HOST_PREFIX}strings" >> +export GPERF = "${HOST_PREFIX}gperf" >> export NM = "${HOST_PREFIX}nm" >> PYTHON = "${@sys.executable}" > > At this point in the release cycle I'm not adding new global exports to > ever piece of software in the system. I appreciate in theory nothing bad > should happen however the reality is sometimes different :/. I'm taking > a *lot* of risks in including as many changes as I have, I don't want to > add this one too. > > I'm also not sure its a good idea in general to build up more exports in > bitbake.conf if we haven't yet needed them. > We can not be certain we did not need them autoconfed packages will default to one on host so it might be that many recipes have been wrongly using non-cross version of tools and succeeding the build. Problem is there in though. I think on master this patch should be considered as such > I'll take a version of this which does this in the systemd recipe. For dylan this seems ok > > Cheers, > > Richard > >> diff --git >> a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch >> >> b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch >> new file mode 100644 >> index 0000000..d847bbc >> --- /dev/null >> +++ >> b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch >> @@ -0,0 +1,41 @@ >> +From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001 >> +From: Martin Jansa <[email protected]> >> +Date: Tue, 16 Apr 2013 14:20:41 +0200 >> +Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf >> + >> +* using AC_PATH_TOOL does not allow to override it from shell environment >> + which is useful when cross-compiling >> +* with external toolchain I have different HOST_PREFIX and HOST_SYS >> + AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy >> + which is available only as ${TARGET_PREFIX}objcopy then it tries >> + objcopy without prefix which is found on host, but that objcopy >> + does not work for !host (e.g. arm when building on x86) libs >> + >> +Signed-off-by: Martin Jansa <[email protected]> >> +Upstream-Status: Submitted >> +http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html >> + >> +--- >> + configure.ac | 6 +++--- >> + 1 file changed, 3 insertions(+), 3 deletions(-) >> + >> +diff --git a/configure.ac b/configure.ac >> +index 33b0ca9..519f1a9 100644 >> +--- a/configure.ac >> ++++ b/configure.ac >> +@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1]) >> + AM_CONDITIONAL([HAVE_INTROSPECTION], [false]) >> + enable_introspection=no]) >> + >> +-AC_PATH_TOOL(OBJCOPY, objcopy) >> +-AC_PATH_TOOL(STRINGS, strings) >> +-AC_PATH_TOOL(GPERF, gperf) >> ++AC_CHECK_TOOL(OBJCOPY, objcopy) >> ++AC_CHECK_TOOL(STRINGS, strings) >> ++AC_CHECK_TOOL(GPERF, gperf) >> + if test -z "$GPERF" ; then >> + AC_MSG_ERROR([*** gperf not found]) >> + fi >> +-- >> +1.8.1.5 >> + >> diff --git a/meta/recipes-core/systemd/systemd_199.bb >> b/meta/recipes-core/systemd/systemd_199.bb >> index d22df12..e8ad8f5 100644 >> --- a/meta/recipes-core/systemd/systemd_199.bb >> +++ b/meta/recipes-core/systemd/systemd_199.bb >> @@ -27,6 +27,7 @@ SRC_URI = >> "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \ >> file://0002-readahead-chunk-on-spinning-media.patch \ >> file://0003-readahead-cleanups.patch \ >> >> file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \ >> + >> file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \ >> file://199-firmware.patch \ >> file://init \ >> " > > > > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
