Patchwork RFC: [PATCH 0/1] Build system/SDK/ADT differ in toolchain config

login
register
mail settings
Submitter Mark Hatle
Date July 10, 2012, 8:54 p.m.
Message ID <cover.1341953258.git.mark.hatle@windriver.com>
Download mbox
Permalink /patch/31711/
State New
Headers show

Pull-request

git://git.pokylinux.org/poky-contrib mhatle/sdk

Comments

Mark Hatle - July 10, 2012, 8:54 p.m.
(Yes this is intentionally cross posted to both the Yocto Project list and the
oe-core list.  The code affects the generated SDK, as well as potentially
ADT imported SDKs... so both sides need to be verified and commented on to
say if this is a reasonable change.)

The problem we found is that if you have a tune that specifies a
TUNE_LDARGS in such as "-m elf_x86_64", it was being added to the LDFLAGS in
the environment script.  When you went to run configure, the LDFLAGS were
loaded, but 'gcc' was used as ld.  Causing -m elf_x86_64 to spit out an error
that it was invalid..

Comparing the build system to the SDK/ADT export, it was clear that the
TUNE_*ARGS were being passed directly on the CC, LD, CXX, AS, etc lines
and not as part of their "optional" arguments.  The change in question
syncs up the build system and the SDK/ADT exports to be the same, ensuring
that CC= is the same within and externally to the build system.

I tested that the following works:

${CC} hello.c -o hello

make CC="${CC}"  (note the " is important!)

./configure ....
make

What I did -not- test was the ADT Installer/import tooling into eclipse or
any other frameworks.

The following changes since commit ce37c45abb4cf43e5009867f695982de2eb33450:

  subversion: do_install failed (parallel issue) (2012-07-10 20:34:41 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib mhatle/sdk
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/sdk

Mark Hatle (1):
  toolchain-scripts: Sync the SDK/ADT values to the build system

 meta/classes/toolchain-scripts.bbclass |   63 +++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 18 deletions(-)