diff options
author | Martin Storsjö <martin@martin.st> | 2019-11-01 10:57:16 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2019-11-01 10:57:16 +0200 |
commit | cb36539a449cd23b8036269b43746380ec3ff56e (patch) | |
tree | 8ad6ef0ceabbc402df5589cf956cf7016f45341a /patches/clang_host | |
parent | ba36b41eddc3ff0919537370ca0dd61f1b553e52 (diff) | |
download | midipix_build-cb36539a449cd23b8036269b43746380ec3ff56e.tar.bz2 midipix_build-cb36539a449cd23b8036269b43746380ec3ff56e.tar.xz |
Remove incorrect --host=${DEFAULT_TARGET} when building host tools/libraries
When passing --host to autoconf build systems, it means that one
wants to build code that is going to run on this specific target.
When building host tools/libraries, we're building code that is
going to run on the current host system, not ${DEFAULT_TARGET}.
Building with the incorrect --host parameter has appeared to work
despite this, due to other fallbacks in autoconf. When building with
--host=<triple>, autoconf first looks for <triple>-gcc, but if this
isn't found, then proceeds to use gcc and assumes this is what the
caller meant.
When building GMP, its configure script wants to inspect symbol
names, and uses a name listing tool (normally nm) for this purpose.
When building gmp_host, with the incorrect --host parameter, it
first looks for <triple>-nm, which doesn't exist. As the previously
set incorrect triple is for a Windows OS (x86_64-nt64-midipix), it
then looks for other windows type name listing tools, <triple>-dumpbin,
then unprefixed dumpbin. If dumpbin is found (I happen to have it
around, as a wine wrapper around MSVC tools, for convenience), it
is used, but then fails to inspect the ELF object files that the
compiler has used.
By removing the incorrect --host parameter, the host toolchain
deps build succeeds by not relying on autoconf implicitly doing
the right thing despite the incorrect parameter.
Also remove --target from HOST_TOOLCHAIN_DEPS_CONFIGURE_ARGS.
Adding --target when building host tools generally is correct, when
configuring tools that generate code (like binutils and gcc). For
other projects that don't generate code, --target normally has no effect.
GMP explicitly errors out if --target is set to a different value than
host (as GMP's configure script thinks the caller has made a mistake).
Diffstat (limited to 'patches/clang_host')
0 files changed, 0 insertions, 0 deletions