Commit Graph

765 Commits

Author SHA1 Message Date
Cosmin Sabou
9b6a537ec7 Backed out changeset 91300d29898b (bug 1489443) for MinGW build bustages. CLOSED TREE 2018-10-13 02:17:15 +03:00
Nick Alexander
3c83541616 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
`-Wl,--version-script` based on linker kind and not on the output of
`$LINKER -v`.

This is a cheap way to address a simple problem that has a complicated
ideal solution.  The underlying issue is that in some situations, when
targeting Android, a macOS system `ld` is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation.  The macOS system `ld` doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system `ld`.

The ideal solution is to test for linker capabilities dynamically.  We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure.  Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

Differential Revision: https://phabricator.services.mozilla.com/D8471

--HG--
extra : moz-landing-system : lando
2018-10-12 22:38:44 +00:00
Nathan Froyd
e02e0b391b Bug 1397263 - move --enable-accessibility to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
Ted Mielczarek
5beac189a8 Bug 1397263 - move GNU_AS checks to toolchain.configure; r=glandium
The GNU_AS check in old-configure depended on running with the value
of $AS before it gets reset to just be the C compiler, which breaks when
we move setting AS into moz.configure.

This patch moves the GNU_AS check to toolchain.configure and changes it
so that it works when the assembler is the C compiler.  We do have to
fix things slightly for clang, because the previous check was
succeeding, but not because of clang: it was detecting the presence of
"GNU" in the output for GNU ld/gold and a message about the GNU GPL.
2018-10-03 20:29:29 -04:00
Ted Mielczarek
f05bb2799a Bug 1397263 - move MIDL_FLAGS to toolkit/moz.configure; r=glandium
This is a straightforward port of MIDL_FLAGS from old-configure to
moz.configure. The only behavioral change is that it removes support for
prepending MIDL_FLAGS from the environment in configure, but I doubt anyone
uses that.
2018-10-03 20:29:29 -04:00
Nathan Froyd
9a1e9149b8 Bug 1397263 - move AS checks to toolchain.configure; r=glandium
This is a fairly straightforward port of the AS tool checks from old-configure
to toolchain.configure. AS is a little quirky in that we currently do a
normal-looking check for it, but then override that value to be the C compiler
for non-Windows builds, and ml[64]/armasm64 for Windows builds.

After migrating those checks, the only things left in the MOZ_DEFAULT_COMPILER
macro in compiler-opts.m4 were some unused bits, so I removed them:
* Setting of CPP/CXXCPP, which are set in toolchain.configure now
* Setting HOST_LDFLAGS to empty, which doesn't seem particularly useful.

There was also a quirky old test that the assembler was ml[64] when js-ctypes
is enabled that I removed, I don't think it provides any value since this
patch will ensure that we're using the right assembler for Windows builds.
2018-10-03 20:29:29 -04:00
Ted Mielczarek
a6f6c8cfb4 Bug 1397263 - move MIDL checks to moz.configure; r=glandium 2018-10-03 20:29:29 -04:00
David Major
29376a9f55 Bug 1495874 - Don't set win32 subsystem:6.01 on aarch64. r=froydnj 2018-10-03 14:39:21 -04:00
Nathan Froyd
1a7885de09 Bug 1494958 - remove linuxgl/accessibility check in old-configure.in; r=ted.mielczarek
linuxgl is not a widget toolkit we support nowadays.
2018-10-02 15:41:06 -04:00
Franziskus Kiefer
a52a8495f9 Bug 1479787 - use NSS mozpkix in Firefox, r=mt,keeler,glandium
Differential Revision: https://phabricator.services.mozilla.com/D2725
Differential Revision: https://phabricator.services.mozilla.com/D2860

--HG--
extra : rebase_source : 189c13c2a3104c106fcabad5998af6cb2e20d4a5
2018-10-02 14:59:34 +02:00
Jan Beich
6e97175276 Bug 1495221 - Bump minimum required NSS version to 3.40. r=froydnj 2018-09-29 10:02:00 +03:00
Nathan Froyd
d8685e6b76 Bug 1491419 - move --enable-reflow-perf to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd
b0effdaae3 Bug 1491419 - move --enable-tasktracer to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd
cf4c48d851 Bug 1491419 - move --enable-hardware-aec-ns to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd
2048436656 Bug 1491419 - move --enable-raw to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd
b318e37e44 Bug 1491419 - move MOZ_{SCTP,SRTP} to moz.configure; r=nalexander
These settings are just dependent on WebRTC being enabled.
2018-10-01 14:51:27 -04:00
Nathan Froyd
4ab0b4cf0b Bug 1491419 - move --enable-verify-mar to moz.configure; r=nalexander 2018-10-01 14:51:28 -04:00
Nathan Froyd
dc14f73882 Bug 1491419 - move --enable-bundled-fonts to moz.configure; r=nalexander 2018-10-01 14:51:28 -04:00
Nathan Froyd
a259110dc9 Bug 1491419 - move --enable-maintenance-service to moz.configure; r=nalexander 2018-10-01 14:51:28 -04:00
Benjamin Bouvier
2ab4b1419f Bug 1490948: Add support for extra bindgen flags when compiling Cranelift; r=froydnj
Some build flags are being passed by the build system: they're passed in a text
file called extra-bindgen-flags.in that's filled at configure time.

Other flags have to be inferred from the current target/host combination, in
Cranelift's build script directly. This is mostly cargo-culted from the
ServoBindings.toml file, and should probably be merged in the build system at
some point.

Some Windows-specific adjustments were needed to provide access to libclang for
bindgen support, by adding clang-cl to the plain Spidermonkey Windows builds.

--HG--
extra : rebase_source : 0bda40b1d1eb38c2657593f094c951013711d00a
extra : histedit_source : aad930a5f9099e299d385ae4de2deb81aed9b6d5
2018-09-25 15:31:22 +02:00
Thomas P.
fde56b2dde Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 2018-09-20 21:21:38 +00:00
Andreea Pavel
a6ba34f2ad Backed out 2 changesets (bug 1483780) for build bustages on a CLOSED TREE
Backed out changeset 2b0a42c589c5 (bug 1483780)
Backed out changeset 48d133cbafd3 (bug 1483780)
2018-09-21 05:43:03 +03:00
Thomas P.
dae33d978b Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj superreview=decoder
--HG--
extra : histedit_source : 6fd1a37c3fb5d8997be11f7846b2976fc7b8a647
2018-09-11 03:49:37 +00:00
Narcis Beleuzu
61b03524fb Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-09-19 19:45:46 +03:00
Ryan VanderMeulen
c5bf22cd9a Bug 1491671 - Upgrade to SQLite 3.25.1. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D6207

--HG--
extra : moz-landing-system : lando
2018-09-19 13:28:02 +00:00
Nathan Froyd
90c91d64dc Bug 1491901 - move MK*SHLIB to moz.configure; r=ted.mielczarek
It's nicer to have all that logic in one place, and to be able to common
up the Unix-y flags setting.  The Makefile constructs in string values
is gross, but it's no worse than we had before.
2018-09-19 10:03:42 -04:00
Ryan VanderMeulen
f53c113d39 Bug 1491467 - Update libpng to 1.6.35. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D5913

--HG--
extra : moz-landing-system : lando
2018-09-18 18:33:11 +00:00
Tom Ritter
0a9605a5c2 Bug 1490566 Do not pass --enable-stdcall-fixup to clang in a x86 Windows build r=froydnj
clang doesn't recognize --enable-stdcall-fixup as an option. We needed this for the
mingw-gcc build (added in Bug 787653) because gcc had difficulty dealing with
Angle's symbol linking

Differential Revision: https://phabricator.services.mozilla.com/D6072

--HG--
extra : moz-landing-system : lando
2018-09-18 13:44:05 +00:00
Ted Mielczarek
201bd292e7 Bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache; r=glandium
Currently mozconfig.cache overrides a few build options for sccache.
This patch moves them into toolchain.configure so that the build system
will set them properly when sccache is in use.  Additionally,
{CC,CXX}_WRAPPER are set in config.mk, so just avoid setting them when
sccache is in use.
2018-09-14 12:12:34 -04:00
Chris Peterson
da01f965e0 Bug 1490575 - Remove MOZ_MULET checks from build files. r=froydnj
Mulet was a Firefox OS simulator that is no longer supported: https://wiki.mozilla.org/Mulet

Differential Revision: https://phabricator.services.mozilla.com/D5734

--HG--
extra : rebase_source : 5d6c8563fe7f5b3bafa9a17d1057eb3a3db6e241
extra : source : f7c8de6bc4a978421f49e43b951188597086874b
2018-09-11 23:16:36 -07:00
Jim Chen
216db72bef Bug 1480834 - 4. Specify -Werror for pthread_cond_timedwait_monotonic_np check; r=glandium
On 64-bit Android, `pthread_cond_timedwait_monotonic_np` is only
available for API 28+. The issue is, even though the NDK header does not
define `pthread_cond_timedwait_monotonic_np` for API 27 and below, the
NDK library _does_ include the function (in order to support builds
targeting API 28+).

During our configure test, the compiler only emits a warning about
`pthread_cond_timedwait_monotonic_np` being undefined, but linking
succeeds because the function is present in the library. Because linking
succeeds, the test inadvertently passes. This patch adds a '-Werror'
flag to the compilation, so the warning turns into an error to make the
test fail.

Differential Revision: https://phabricator.services.mozilla.com/D4482
2018-09-13 12:09:25 -04:00
Nathan Froyd
e829874703 Bug 1490765 - delete code for application-specific subconfigure scripts; r=nalexander
We don't need this code nowadays, and it probably doesn't work anyway.
2018-09-12 16:22:10 -04:00
Masatoshi Kimura
6e443c9a86 Bug 1414060 - move NONASCII to moz.configure; r=mshal 2018-09-10 18:57:40 -04:00
Nathan Froyd
4454f01d19 Bug 1480552 - handle aarch64 windows when determining MOZ_D3DCOMPILER_VISTA_DLL; r=ted.mielczarek
AArch64 Windows includes the necessary DLL in its default configuration,
so we don't need to bother locating it in the SDK.  We made need to
distribute an updated version that won't by on the system by default,
though, so we need some extra checking.
2018-09-04 16:41:08 -04:00
Myk Melez
7978cd2fe4 Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
In conjunction with the cc crate changes in https://github.com/alexcrichton/cc-rs/pull/342 (which I'll land in https://phabricator.services.mozilla.com/D4699), this hides warnings generated by C code in Rust crates (by removing warnings flags from CFLAGS when compiling Rust libraries).

MozReview-Commit-ID: 9CZgLGbWjbA

Differential Revision: https://phabricator.services.mozilla.com/D3939

--HG--
extra : moz-landing-system : lando
2018-08-30 17:29:54 +00:00
Mike Hommey
1a6f5a62c7 Bug 1485759 - Pass --build-id=sha1 to the linker instead of --build-id. r=froydnj
BFD ld's --build-id means --build-id=sha1, but with lld it means
--build-id=fast. Both support the explicit --build-id=sha1, so use that.
Gold supports --build-id=sha1 too.
ld64, used for mac builds doesn't support neither --build-id=sha1 nor
--build-id.
2018-08-29 08:02:07 +09:00
Nathan Froyd
b40f3ab975 Bug 1481513 - disable ffvpx on aarch64 windows; r=gps
There's no support for it in our local tree.
2018-08-28 13:44:54 -04:00
Mike Hommey
95f25c8a5d Bug 1485610 - Avoid copy relocations in binaries we build. r=froydnj
See bug 1485562 for an example of bad things that can happen with such
relocations, and see also
c90379ddfe/ELF/Relocations.cpp (L496-L537)
2018-08-24 08:57:04 +09:00
Nathan Froyd
13c9216e36 Bug 1485367 - disable libjpeg-turbo support for aarch64 windows; r=dmajor 2018-08-22 12:15:19 -04:00
David Major
3226912d99 Bug 1485072: Remove some unnecessary (on-by-default) LDFLAGS from Windows builds. r=froydnj
-DEBUGTYPE:CV, -NXCOMPAT, and -DYNAMICBASE are on by default in both link.exe and lld-link.

--HG--
extra : rebase_source : 3b50b88bb8ac9257689df2e10146906ef9962b08
2018-08-21 17:16:45 -04:00
Nathan Froyd
7661e89923 Bug 1480558 - part 3 - unset AS_DASH_C_FLAG for aarch64 windows; r=mshal
The assembler for this platform doesn't need the special handling
AS_DASH_C_FLAG provides.
2018-08-21 11:00:35 -04:00
Mike Hommey
7b448e6258 Bug 1484872 - Remove --enable-llvm-hacks. r=froydnj
It calls for cargo-culting its use when using clang, when it's specific
to skipping one linker flags for sanitizers.
2018-08-21 08:40:00 +09:00
Nathan Froyd
2c50d79c91 Bug 1481864 - disable the sandbox on aarch64 windows by default; r=gps
The Chromium sandbox doesn't have the necessary arch-specific support.
2018-08-20 17:22:44 -04:00
Masatoshi Kimura
3d01e517aa Bug 1484184 - Remove now unused _RAISE macro check to deal with MSVC 2017 15.8. r=froydnj
--HG--
extra : source : b38403f36056d301321c128be96ee60d14739859
2018-08-17 01:27:29 +09:00
Narcis Beleuzu
96343e8f1f Backed out 3 changesets (bug 1484184, bug 1484190, bug 1484191) for bustages on test_toolchain_configure.py. CLOSED TREE
Backed out changeset dca5444170e0 (bug 1484190)
Backed out changeset 1ef81d07bc5b (bug 1484184)
Backed out changeset 2a42fd4df1bb (bug 1484191)
2018-08-20 19:49:37 +03:00
Masatoshi Kimura
59a91c2a72 Bug 1484184 - Remove now unused _RAISE macro check to deal with MSVC 2017 15.8. r=froydnj
--HG--
extra : rebase_source : d93dbda28fff9cdbf0f6a908e0c1d59c152665e5
extra : source : b38403f36056d301321c128be96ee60d14739859
2018-08-17 01:27:29 +09:00
Mike Hommey
f6560362a9 Bug 1480004 - Normalize optimization level passed to the linker when doing LTO with clang. r=froydnj 2018-08-14 07:25:09 +09:00
Chris Manchester
e481e46c6f Bug 1482442 - Do not check for gamepad related headers in an artifact build. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D3119

--HG--
extra : moz-landing-system : lando
2018-08-10 19:23:44 +00:00
Masatoshi Kimura
5386e9c84f Bug 1472254 - Backed out changeset 69259eedc1e6 as the final fix has landed. r=dmajor
--HG--
extra : rebase_source : f77217d0946d4c99c421f1cd4611044935131024
2018-08-10 18:42:10 +09:00
Nathan Froyd
49dcc19d92 Bug 1481505 - add aarch64 bits to DEFINES and DSO_LDOPTS; r=dmajor
Not having _ARM64_ in DEFINES makes any number of things go wrong.
2018-08-08 16:37:05 -04:00