gecko-dev/build/autoconf
Mike Hommey e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

Unfortunately, the Binary() moz.build template always adds C++ OS
libraries on Android (through STLPORT_LIBS), and C++ libraries on Linux
(stdc++compat).

The latter only ends up forcing every Binary() to be linked with the C++
linker, which is unfortunate, but doesn't cause much problems. The
former, however, involving OS libraries, the magic from bug 1256642
doesn't kick in, so we end up trying to link C++ OS libraries with the C
linker. Which ends up failing, because the libraries in STLPORT_LIBS
require -lm, which, while it's added by the C++ compiler when linking,
is not when the linkage is driven by the C compiler.

Because the fallible library, linked to all GeckoBinary()s is a C++
library, we still ended up linking with the C++ compiler on Android, so
this wasn't actually causing any problem... until I tried to remove that
fallible library in bug 1423803.

Anyways, the core problem is that moz.build evaluation is happening too
early to know whether any C++ sources are being linked together, so
there is no way the Binary() template can do the right thing. So this
change moves the logic to the emitter.

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
..
acwinpaths.m4
alloc.m4
altoptions.m4
android.m4 Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander 2017-12-07 12:15:32 +09:00
arch.m4 Bug 1415453 - Use vfpv3-d16 as default on Android/arm. r=froydnj 2017-11-10 16:47:21 +09:00
clang-plugin.m4 Bug 1413738 - Mozsearch clang plugin (r=mystor) 2017-11-16 15:06:32 -08:00
codeset.m4
compiler-opts.m4 Bug 1382930 - Remove configure references to gonk; r=glandium 2017-07-20 21:48:10 -07:00
config.guess
config.status.m4 Bug 1341234 - part 1 - add AC_SUBST_TOML_LIST macro; r=gps 2017-11-10 10:05:36 -05:00
config.sub
expandlibs.m4 Bug 1372987 - move library/object prefix/suffix configuration to moz.configure; r=mshal 2017-06-19 14:20:29 -04:00
frameptr.m4 Bug 1322735 - Enable frame pointers on 32-bit windows builds. r=glandium 2017-01-11 17:54:18 -08:00
hooks.m4
hotfixes.m4
icu.m4 Bug 1353650 - Part 6: Change minimum system ICU version to ICU 59. r=Waldo 2017-04-05 13:43:49 +02:00
install-sh
ios.m4
lto.m4
mozheader.m4
mozprog.m4
nspr-build.m4 Bug 1379539 - Remove unnecessary NSPR dependency. r=glandium 2017-07-25 14:15:50 -07:00
nspr.m4
nss.m4
pkg.m4
sanitize.m4 Backed out changeset 1ee72d1a9430 (bug 1418052) for Linux x64 asan build bustages on /builds/worker/workspace/build/src/config/recurse.mk:32 r=backout on a CLOSED TREE 2017-12-08 13:44:13 +02:00
subconfigure.m4
toolchain.m4 Bug 1163171 - part 4 - fix jsapi-tests link errors with __atomic_* intrinsics on x86/Android with clang; r=glandium 2017-10-28 17:38:58 -04:00
zlib.m4