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 Bug 1262155 - Use moz.build instead of libffi's build system. r=ted,glandium 2016-08-08 16:58:54 -07:00
altoptions.m4 Bug 1253203 - Move parts of configure.py into sandboxed moz.configure. r=nalexander,r=chmanchester 2016-03-08 15:41:32 +09:00
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 bug 1239083 - use moz.build files to build ICU. r=glandium,waldo 2016-04-05 10:09:12 -04:00
compiler-opts.m4 Bug 1382930 - Remove configure references to gonk; r=glandium 2017-07-20 21:48:10 -07:00
config.guess Bug 1260622 - Refresh config.guess and config.sub from upstream. r=ted 2016-04-01 09:43:26 +09:00
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 Bug 1260622 - Refresh config.guess and config.sub from upstream. r=ted 2016-04-01 09:43:26 +09:00
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 Bug 1257516 - Handle outputting the tail of config.log for old-configure failures from moz.configure. r=ted 2016-03-30 07:07:30 +09:00
hotfixes.m4 Bug 1260605 - Remove hack from bug 967556. r=nalexander 2016-04-01 09:43:26 +09:00
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 Bug 1317504 - Don't try to set LD from old-configure. r=chmanchester 2016-11-24 15:47:10 +09:00
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 Bug 1269513 - Implement PKG_CHECK_MODULES equivalent in Python configure. r=glandium 2016-05-17 14:40:03 -07:00
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 Bug 1254987 - Get the subconfigure working properly for mail/configure.in. r=glandium 2016-03-09 23:19:00 +01:00
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 bug 1244743 - Replace MOZ_NATIVE_X with MOZ_SYSTEM_X. r=gps 2016-02-01 10:49:34 -05:00