diff options
author | Alexey Neyman <stilor@att.net> | 2016-12-03 03:18:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-03 03:18:56 (GMT) |
commit | 4042269de621e166235308f139e89c92e379040d (patch) | |
tree | 093329f6412837d89e1e849575a3f1579412802f /scripts/build/companion_tools/100-m4.sh | |
parent | a787e410dc7133fb371e71161663639e1c0dc89b (diff) | |
parent | bf0d593639d0c9451b13be4965bc6766cc90fed9 (diff) |
Merge pull request #487 from stilor/host-comp-tools
Allow for installation of companion tools for host
Diffstat (limited to 'scripts/build/companion_tools/100-m4.sh')
-rw-r--r-- | scripts/build/companion_tools/100-m4.sh | 62 |
1 files changed, 53 insertions, 9 deletions
diff --git a/scripts/build/companion_tools/100-m4.sh b/scripts/build/companion_tools/100-m4.sh index 83ab815..96cde39 100644 --- a/scripts/build/companion_tools/100-m4.sh +++ b/scripts/build/companion_tools/100-m4.sh @@ -10,16 +10,60 @@ do_companion_tools_m4_extract() { CT_Patch "m4" "${CT_M4_VERSION}" } -do_companion_tools_m4_build() { - CT_DoStep EXTRA "Installing m4" - mkdir -p "${CT_BUILD_DIR}/build-m4" - CT_Pushd "${CT_BUILD_DIR}/build-m4" - +do_companion_tools_m4_for_build() { + CT_DoStep EXTRA "Installing m4 for build" + CT_mkdir_pushd "${CT_BUILD_DIR}/build-m4-build" + do_m4_backend \ + host=${CT_BUILD} \ + prefix="${CT_BUILD_COMPTOOLS_DIR}" \ + cflags="${CT_CFLAGS_FOR_BUILD}" \ + ldflags="${CT_LDFLAGS_FOR_BUILD}" + CT_Popd + CT_EndStep +} + +do_companion_tools_m4_for_host() { + CT_DoStep EXTRA "Installing m4 for host" + CT_mkdir_pushd "${CT_BUILD_DIR}/build-m4-host" + do_m4_backend \ + host=${CT_HOST} \ + prefix="${CT_PREFIX_DIR}" \ + cflags="${CT_CFLAGS_FOR_HOST}" \ + ldflags="${CT_LDFLAGS_FOR_HOST}" + CT_Popd + CT_EndStep +} + +do_m4_backend() { + local host + local prefix + local cflags + local ldflags + + for arg in "$@"; do + eval "${arg// /\\ }" + done + + case "${host}" in + *-uclibc) + # uClibc has posix_spawn in librt, but m4 configure only + # searches in libc. This leads to a later failure when + # it includes system <spawn.h> but expects a locally-built + # posix_spawn(). + ldflags="${ldflags} -lrt" + esac + + CT_DoLog EXTRA "Configuring m4" CT_DoExecLog CFG \ - "${CT_SRC_DIR}/m4-${CT_M4_VERSION}/configure" \ - --prefix="${CT_BUILDTOOLS_PREFIX_DIR}" + CFLAGS="${cflags}" \ + LDFLAGS="${ldflags}" \ + "${CT_SRC_DIR}/m4-${CT_M4_VERSION}/configure" \ + --host="${host}" \ + --prefix="${prefix}" + + CT_DoLog EXTRA "Building m4" CT_DoExecLog ALL make + + CT_DoLog EXTRA "Installing m4" CT_DoExecLog ALL make install - CT_Popd - CT_EndStep } |