Recent build changes for Firefox permit Thunderbird to drop
the libc++ dependency for official builds and link librnp.so
(Linux) against libstdc++, like the rest of the application.
This will reduce complexity of the build.
Depends on D123381 in mozilla-central.
Differential Revision: https://phabricator.services.mozilla.com/D123305
--HG--
extra : moz-landing-system : lando
This is counter-intuitive and may be a problem later since librnp.so now links
to libc++ (statically) and to libstdc++ dynamically. In theory it's "ok"
since everything was compiled with libc++ headers via "-stdlib=libc++".
stdc++-compat.o gets linked in whether we want it or not when "MOZ_STDCXX_COMPAT"
is set, with no obvious way to override that behavior.
Differential Revision: https://phabricator.services.mozilla.com/D123297
--HG--
extra : moz-landing-system : lando
With the switch to a build sysroot, the linker is not able to locate libc++.a
and libc++abi.a on Linux64 builds (official builds with MOZ_STDCXX_COMPAT=1 only).
Adjust the path when linking librnp.so accordingly similarly to the Linux32
build.
This is not necessary for the Linux64-aarch64 build as it does not use libstdc++
compatibility mode.
Differential Revision: https://phabricator.services.mozilla.com/D106968
--HG--
extra : moz-landing-system : lando
Circumvents the problems with libstdc++ symbols problem by replacing it with
LLVM's libc++ only when building on Taskcluster. libc++abi is a required
companion library.
Since libc++ is not as ubiquitous as libstdc++ on Linux, it is statically linked.
The libc++ license permits this quite explicitly.
When librnp (and more precisely Botan) is compiled and linked this way, there are
no references to libstdc++ in the resulting librnp.so file.
Depends on D80223
Differential Revision: https://phabricator.services.mozilla.com/D80224
--HG--
extra : moz-landing-system : lando
COMPILE_ENVIRONMENT will not be set for L10n repacks.
--HG--
extra : rebase_source : 6525c25a25e38a086159dd1e3d833bb3e970cdbe
extra : histedit_source : acfe09eb053910286ff89b37d7daf4c649cdebe2
Compiler-based checks don't work when --enable-artifact-builds is set, so
those checks need to have a when=compile_environment condition.
Botan's configure script fails without a proper compiler and needs to be
disabled.