Commit Graph

826 Commits

Author SHA1 Message Date
Kartikaya Gupta
4e68a766db Bug 1495293 - Make enable-rust-simd a JS option so JS crates get built with the RUSTC_BOOTSTRAP=1 flag in automation. r=froydnj 2018-10-01 21:15:27 -04: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
5ab704b3a9 Bug 1491419 - remove --enable-gamepad from old_configure_options; r=nalexander
Apparently we made gamepad support mandatory and ditched the option.
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
Ciure Andrei
a8953550a3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-28 11:58:15 +03:00
Mike Shal
a4782418de Bug 1494833 - Bump tup version to v0.7.8; r=chmanchester
This incorporates some fixes for ccache, icecream, and a better display
output (decreasing count instead of an increasing count). It may also
let us experiment with incremental rust support, though I think that
feature still needs some more work.

MozReview-Commit-ID: 7zPGiL9Ob6N

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

--HG--
extra : moz-landing-system : lando
2018-09-28 02:33:53 +00:00
Chris Manchester
9b4e589152 Bug 1490147 - Require rustc 1.29. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D6998

--HG--
extra : moz-landing-system : lando
2018-09-26 22:18:25 +00:00
Mark Banner
3043f2a053 Bug 1482435 - Separate out nodejs finding logic from configure and use it for ESLint. r=firefox-build-system-reviewers,gps
This extracts the current logic for finding nodejs into its own module in mozbuild. Configure and ESLint then use it.

For ESLint, this will change the first location it looks for nodejs to be the .mozbuild directory.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 18:15:51 +00: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.
c047fdb3fb Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj
--HG--
extra : histedit_source : b7caa42560c3d8e7ba1dbf61fcacfe0698790801
2018-09-20 21:21:38 +00: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
Mike Hommey
e4d11fe477 Bug 1481338 - Disable -Werror for -Watomic-alignment r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6347

--HG--
extra : moz-landing-system : lando
2018-09-20 02:05:24 +00: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
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
Masatoshi Kimura
480bad1d12 Bug 1490654 - Drop support for MSVC 2017 Update 6. r=froydnj 2018-09-16 22:22:31 +09:00
Dorel Luca
7a91966c10 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-15 12:46:59 +03:00
Mike Hommey
61e6bceefa Bug 1490549 - Fix some comments r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5916

--HG--
extra : moz-landing-system : lando
2018-09-15 01:14:29 +00:00
Mike Hommey
410b4939d9 Bug 1490549 - Make configure choose clang by default on all platforms r=froydnj
Now that we ship builds using clang on all platforms, pick it during
configure. It is still possible to opt-in to building other compilers by
setting CC/CXX (or even only CC) to the desired compiler.

Depends on D5829

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

--HG--
extra : moz-landing-system : lando
2018-09-14 18:01:23 +00:00
Mike Hommey
1beed8c891 Bug 1490549 - Change how host compilers are found r=froydnj
Before this change, we'd derive a host compiler and handle things as if
HOST_CC/HOST_CXX had been passed. With this change, we change the list
of compilers that are tested with check_prog instead.

Depends on D5828

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

--HG--
extra : moz-landing-system : lando
2018-09-14 17:40:52 +00:00
shindli
0c0c6fddd8 Backed out changeset aae4f349fa58 (bug 1479503) per developer's request on IRC a=backout
--HG--
rename : taskcluster/docker/static-analysis-build/Dockerfile => taskcluster/docker/infer-build/Dockerfile
2018-09-14 16:35:23 +03:00
Robert Bartlensky
af9de513f7 Bug 1479503: Check infer in ./mach static-analysis autotest. r=nalexander
Adds infer to ./mach static-analysis autotest.

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

--HG--
rename : taskcluster/docker/infer-build/Dockerfile => taskcluster/docker/static-analysis-build/Dockerfile
extra : moz-landing-system : lando
2018-09-13 20:58:03 +00:00
Jim Chen
6ce80dbdc4 Bug 1480834 - 5. Keep target flag when building for Android on Linux; r=glandium
Currently, when building for Android x86-64 on Linux x86-64, we drop the
'--target' flag, which causes the build to fail. This patch adds a check
for OS mismatch, so we keep the '--target' flag in this situation.

Differential Revision: https://phabricator.services.mozilla.com/D4483
2018-09-13 12:09:26 -04:00
Jim Chen
d968bd5148 Bug 1480834 - 2. Add x86-64 build support; r=nalexander
Add x86-64 as an option for Android builds in the build system.

Differential Revision: https://phabricator.services.mozilla.com/D4480
2018-09-13 12:09:25 -04:00
Jim Chen
054f1436df Bug 1480834 - 0. Drop mips and update NDK platform to 16; r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D5602
2018-09-13 12:09:24 -04:00
Thomas P.
ac7fc2f5a6 Bug 1474488: add --enable-undefined-sanitizer with custom checks r=froydnj 2018-09-11 02:47:23 +00:00
Masatoshi Kimura
762361579f Bug 1485224 - Update Windows builders to VS 2017 15.8.4 and Windows SDK 17134. r=glandium
--HG--
extra : rebase_source : 15906168b0e2e2d545ea841cb3e11e7102bc9b39
2018-09-07 07:15:19 +09: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
Margareta Eliza Balazs
f79a9159ca Backed out 2 changesets (bug 1485224) for perma bc3 failures e.g.: Error getting fileid for Z:\task_1536750533ad] WARNING: NS_ENSURE_TRUE CLOSED TREE
Backed out changeset fe2c607f4af7 (bug 1485224)
Backed out changeset f7a6e536532e (bug 1485224)
2018-09-12 15:37:19 +03:00
Masatoshi Kimura
c7adec1ec3 Bug 1485224 - Update Windows builders to VS 2017 Update 8 and Windows SDK 17134. r=glandium
--HG--
extra : source : 2face0081dbf1ba256f6f533eea8b865e8360b78
2018-09-07 07:15:19 +09:00
Andreas Tolfsen
07dcb317a5 bug 1471281: build: make asan depend on --help; r=froydnj
The asan definition needs to depend on --help for the --enable-geckodriver
flag to depend on it through geckodriver_default.
2018-09-11 10:40:30 +01:00
Margareta Eliza Balazs
e620c683cb Backed out 2 changesets (bug 1474488) for causing failures in build/src/obj-firefox/dist/include/mozilla/Assertions.h CLOSED TREE
Backed out changeset ffce46424c69 (bug 1474488)
Backed out changeset e4b9fa5f7592 (bug 1474488)
2018-09-11 10:59:28 +03:00
Thomas P.
357f9deb02 Bug 1474488 - add --enable-undefined-sanitizer with custom checks. r=froydnj 2018-09-11 02:47:23 +00:00
Masatoshi Kimura
6e443c9a86 Bug 1414060 - move NONASCII to moz.configure; r=mshal 2018-09-10 18:57:40 -04:00
Robert Longson
63cb9a2572 Bug 1482196 - Increase minimum clang version to 3.9 r=froydnj 2018-09-10 18:59:07 +01:00
Mike Hommey
cd06f032af Bug 1079662 - Always enable PIE. r=froydnj
Last attempt, a few years ago, blatantly failed because nautilus (the
GNOME file manager) can't start PIE executables, which look like shared
libraries, and that it thus considers not being executables.

Downstreams don't actually have the problem, because users won't be
launching Firefox from a file manager, but for mozilla.org builds, it is
a problem because users would download, then extract, and then likely
try to run the Firefox executable from a file manager.

So for mozilla.org builds, we still need to find a way around the
nautilus problem.

A .desktop file could be a solution, but .desktop files have not
actually been designed for this use case, which leads to:
- having to use an awful one-liner shell wrapper to derive the path
  to the executable from that of the .desktop file,
- not even being able to associate an icon,
- the .desktop file not being copiable to a location where .desktop
  files would normally go, because it would then fail to find the
  executable.

Another possibility is to go back to using a shell wrapper, but that's
not entirely appealing.

What we chose here is similar, where we have a small `firefox` wrapper
that launches the real `firefox-bin` (which is still leftover from those
old times where we had a shell wrapper, for reasons).

The small `firefox` wrapper is a minimalist C executable that just
finds the path to the `firefox-bin` executable and executes it with the
same args it was called with. The wrapper is only enabled when the
MOZ_NO_PIE_COMPAT environment variable is set, which we only take into
account on Linux. The variable is only really meant to be used for
mozilla.org builds, for the nautilus problem. Downstreams will just pick
the default, which is changed to build PIE.

On other platforms, PIE was already enabled by default, so we just
remove the --enable-pie configure flag.

Differential Revision: https://phabricator.services.mozilla.com/D5109
2018-09-08 07:41:21 +09:00
Mike Hommey
f74b691a6e Bug 1488587 - Don't default to lld when building with clang LTO. r=dmajor
As described in c2b5cf7bde83, it is still preferable to build with BFD
ld when doing clang LTO, and one of the reasons we defaulted to lld in
the first place is that we didn't have the LLVM gold plugin on
automation, which, as of bug 1488307, we now have.

Differential Revision: https://phabricator.services.mozilla.com/D4987
2018-09-06 08:01:39 +09:00
Mike Hommey
9dae4fbe09 Bug 1487931 - Avoid using linker scripts as file lists when doing LTO with BFD ld. r=froydnj
At least, when that combination doesn't work. This requires passing the
LTO flags to the compiler invocations for the test, which in turn
requires actually calling the linker directly on Windows, instead of
directly through the compiler, as when actually building.

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

--HG--
extra : moz-landing-system : lando
2018-09-04 21:49:16 +00:00
Nathan Froyd
684e72b2ab Bug 1486905 - add a HOST_LINKER variable for cross windows builds; r=dmajor
This setup seems to work well enough to enable me to link
HOST_SIMPLE_PROGRAMS with an AArch64-cross setup.  Necessary library
paths are passed to the linker via -LIBPATH and HOST_LDFLAGS rather than
letting MSVC fish them out of the environment.  The change to
HOST_SIMPLE_PROGRAMS to pass HOST_LDFLAGS was necessary for this to
work, in addition to the HOST_LINKER changes.
2018-08-30 10:28:15 -04:00
Landry Breuil
24b40917e5 Bug 1457092 - Define XP_*BSD for OpenBSD/NetBSD/FreeBSD. r=glandium
--HG--
extra : histedit_source : eb42e923719f997e8bcdf3a38e9904c0e97c9af2
2018-08-23 04:55:00 +03:00
Chris Peterson
1f8394cea3 Bug 1483761 - Enable clang's -Wtautological-overlap-compare warning. r=glandium
-Wtautological-overlap-compare is an opt-in warning added in clang 3.5. It warns about overlapping comparisons that are always true or false, such as:

if (x > 4 || x < 10) {} // warning! always true
int b = x < 2 && x > 5; // warning! always false
return x > 4 || x < 10; // warning! always true

https://clang.llvm.org/docs/DiagnosticsReference.html#wtautological-overlap-compare

There are currently no -Wtautological-overlap-compare warnings in mozilla-central.

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

--HG--
extra : rebase_source : e6aa211a338633e5fb7507b3a8f341709d72d6c9
2018-08-14 22:39:03 -07:00
Chris Peterson
8cddf640b9 Bug 1483761 - Enable clang's -Wshadow-field-in-constructor warnings. r=glandium
This opt-in warning catches bugs where a constructor modifies a constructor parameter that shadows member variable name. The code probably intended to change the member variable value, not the paramter. There are currently no -Wshadow-field-in-constructor warnings in mozilla-central.

https://clang.llvm.org/docs/DiagnosticsReference.html#wshadow-field-in-constructor-modified

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

--HG--
extra : rebase_source : 604ff90e036d536955db41351ee9ee97e8424d92
extra : intermediate-source : 712f538afc160f4efae2383130727edbd1dd70f6
extra : source : 300fff9a58515c7cac0647afc9ccc0e69bc8c5cb
2018-08-20 10:10:57 -07:00
Chris Peterson
874e8bf033 Bug 1483761 - Enable clang's -Wfloat-(overflow|zero)-conversion warnings. r=glandium
-Wfloat-overflow-conversion detects when a constant floating point value is converted to an integer type and will overflow the target type.

https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-overflow-conversion

-Wfloat-zero-conversion detects when a non-zero floating point value is converted to a zero integer value.

https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-zero-conversion

There are currently no -Wfloat-overlap-conversion warnings in mozilla-central. There is one -Wfloat-zero-conversion warning in a webrtc test. It doesn't block enabling this check because the webrtc tests are not compiled with warnings-as-errors.

media/webrtc/trunk/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller_unittest.cc:255:54 [-Wfloat-zero-conversion] implicit conversion from 'const float' to 'int' changes non-zero value from 0.045000002 to 0

We can't enable all -Wfloat-conversion warnings (for any implicit conversion of a floating-point number into an integer) because there are currently over 1400 warnings. I spot checked a few of these -Wfloat-conversion warnings. I didn't find any obvious bugs, but there is some suspicious code, such as implicit conversions of floats to bools.

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

--HG--
extra : rebase_source : 589be9e593749c7000b1f89ca155e4f95a487f8f
2018-08-14 23:03:52 -07:00
Chris Peterson
863d823722 Bug 1483761 - Enable clang's -Wc++2a-compat warnings. r=glandium
Warn about C++ constructs whose meaning change in C++2a.

https://clang.llvm.org/docs/DiagnosticsReference.html#wc-2a-compat

So far the only -Wc++2a-compat check that I know of is for valid pre-C++2a code that inadvertently parses as C++2a's new <=> "spaceship" comparison operator. `f<&A::operator<=>();` is an example of a warning reported for a real project on GitHub. That code can be rewritten as `f< &operator<= >();`.

There are currently no -Wc++2a-compat warnings in mozilla-central.

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

--HG--
extra : rebase_source : 4ec8147ad3fe2d1ef7c543d100c660a000385786
2018-08-15 10:02:07 -07:00