diff options
author | Yann Diorcet <diorcet.yann@gmail.com> | 2012-11-16 14:25:57 (GMT) |
---|---|---|
committer | Yann Diorcet <diorcet.yann@gmail.com> | 2012-11-16 14:25:57 (GMT) |
commit | b43fdf40f1f90c4c313dda5b74955cc725a88b40 (patch) | |
tree | 70c65d158f49bc2c50fdbc3e4a61a7f62cbe747b /scripts/build/companion_libs/200-libelf.sh | |
parent | 1af4a119d20cd1f806262f5a951ba0a356da3d8a (diff) |
scripts: add BUILD/HOST extra cflags/ldflags
On some hosts, and for certain toolchains (eg. toolchain targetting
the upcoming Darwin), it may be necessary to pass arbitrary CFLAGS
and/or LDFLAGS when building the components.
And necessary infrastructure:
- EXTRA_{CFLAGS,LDFLAGS}_FOR_{BUILD,HOST} as config options
- pass those extra flags to components
Fix-up a slight typo in elf2flt at the same time (misnamed cflags).
Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <d24043276c9243a35421.1353077450@macbook-smorlat.local>
Patchwork-Id: 199645
Diffstat (limited to 'scripts/build/companion_libs/200-libelf.sh')
-rw-r--r-- | scripts/build/companion_libs/200-libelf.sh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/build/companion_libs/200-libelf.sh b/scripts/build/companion_libs/200-libelf.sh index e7b140b..e404897 100644 --- a/scripts/build/companion_libs/200-libelf.sh +++ b/scripts/build/companion_libs/200-libelf.sh @@ -38,6 +38,8 @@ do_libelf_for_build() { libelf_opts+=( "host=${CT_BUILD}" ) libelf_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) + libelf_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" ) + libelf_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" ) do_libelf_backend "${libelf_opts[@]}" CT_Popd @@ -54,6 +56,7 @@ do_libelf_for_host() { libelf_opts+=( "host=${CT_HOST}" ) libelf_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" ) libelf_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) + libelf_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) do_libelf_backend "${libelf_opts[@]}" CT_Popd @@ -87,13 +90,15 @@ fi # CT_LIBELF_TARGET # destdir : out-of-tree install dir : string : / # host : machine to run on : tuple : (none) # prefix : prefix to install into : dir : (none) -# cflags : host cflags to use : string : (empty) +# cflags : cflags to use : string : (empty) +# ldflags : ldflags to use : string : (empty) # shared : also buils shared lib : bool : n do_libelf_backend() { local destdir="/" local host local prefix local cflags + local ldflags local shared local -a extra_config local arg @@ -114,6 +119,7 @@ do_libelf_backend() { CC="${host}-gcc" \ RANLIB="${host}-ranlib" \ CFLAGS="${cflags} -fPIC" \ + LDFLAGS="${ldflags}" \ "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure" \ --build=${CT_BUILD} \ --host=${host} \ |