Commit Graph

510 Commits

Author SHA1 Message Date
Makoto Kato
6a7100fa7b Bug 1397764 - Part 1. Move STLPORT_CPPFLAGS to moz.configure. r=chmanchester
To build sytlo, we have to set compiler flags via BINDGEN_CFLAGS.  Since we
 pass stlport flags to clang, I would like to move STLPORT_CPPFLAGS to
moz.configure.

MozReview-Commit-ID: 26jvUqUvwTY

--HG--
extra : rebase_source : 5568627368fbf2dce02904918e50a241713d0a85
2017-09-29 16:45:44 +09:00
Mike Hommey
6a8726dd5f Bug 1319332 - Derive the rust targets from the build host/target. r=froydnj
--HG--
extra : rebase_source : acf6ee7f0a3f172480e653acc58c5ced1c13c254
2017-10-05 16:10:45 +09:00
Christian Holler
a351d70944 Bug 1406081 - Make --enable-coverage flag available in JS shell. r=froydnj
MozReview-Commit-ID: 5GGTGu2oMc3

--HG--
extra : rebase_source : 85c079b02f6b408ddfd13e518ed136c3a26b20b1
2017-10-05 18:30:26 +02:00
Mike Hommey
4d379e455b Bug 1403366 - Remove the --with-default-mozilla-five-home configure flag. r=froydnj
--HG--
extra : rebase_source : 354efac644a7fdeea507c0e87cf44183d773413d
2017-09-28 11:02:45 +09:00
Sebastian Hengst
15179c0abe Backed out changeset aa58d5c8fe1a (bug 1403366) 2017-10-04 01:26:45 +02:00
Mike Hommey
d9378b1e26 Bug 1403366 - Remove the --with-default-mozilla-five-home configure flag. r=froydnj
--HG--
extra : rebase_source : 354efac644a7fdeea507c0e87cf44183d773413d
2017-09-28 11:02:45 +09:00
Nathan Froyd
2d3d2c4950 Bug 1373878 - part 1 - add --enable-rust-tests configure option; r=rillian
Because Rust tests require panic=unwind crates and therefore recompiling
all crates we normally use (since most of our crates use panic=abort),
we've elected to enable Rust tests only if the user asks for it.  Hence,
this configure option.

The configure option also enables build-time execution of the crates,
since it's not straightforward to determine at configure time the name
of the test binary Cargo will produce (Cargo produces test binaries of
the form ${NAME}-${HEX_FINGERPRINT}, but there's no way to determine
what ${HEX_FINGERPRINT} is without actually compiling the test binary).
2017-10-02 09:21:22 -04:00
Sebastian Hengst
863d9030ca Backed out changeset 48a74b8750b4 (bug 1403366) 2017-09-29 17:19:22 +02:00
Mike Hommey
4c9ac7836e Bug 1403366 - Remove the --with-default-mozilla-five-home configure flag. r=froydnj
--HG--
extra : rebase_source : e2723771fb76392269ea27de00c590e2e2bc6d9b
2017-09-28 11:02:45 +09:00
Tom Prince
518a10833d Bug 1403982: Pass --disable-xcode-checks to js/src's configure; r=gps
MozReview-Commit-ID: I9rSz26D1nR

--HG--
extra : rebase_source : 4c9c0c57863310714ddf61a635300dc1846f5d9d
2017-09-28 09:46:30 -06:00
Gregory Szorc
5c1ab3be87 Bug 1395907 - Require Visual Studio 2017 15.3+; r=glandium
There is a known compilation bug that is fixed in Visual Studio 2017
15.3.

This commit establishes minimum version requirements for Visual
Studio 2017 to ensure modern and more supported toolchains are used.

We previously only had a minimum version requirement for Visual
Studio 2015.

MozReview-Commit-ID: WRrry8J5Yf

--HG--
extra : rebase_source : 1e60bb4277ae1ec679cfa103b0a730a7260b52c2
2017-09-27 11:28:37 +02:00
Gregory Szorc
a1b0fe8ef7 Bug 1366564 - Validate Xcode installation state in configure; r=rillian
MozReview-Commit-ID: 9dNuGqaqZyU

--HG--
extra : rebase_source : a4ab1dfe3f98edf3503a6c9b4f675c457e7149a4
2017-09-26 19:56:38 +02:00
Tom Ritter
83f834aede Bug 1392643 Turn on c++14 for MinGW globally r=bagder,froydnj
Technically this turns on gnu++14. I encountered a few errors when using c++14:
1) _USE_MATH_DEFINES needed to be defined for MinGW
2) MinGW did not define _finite under c++14
3) MinGW's float.h did not define Microsoft specific float functions under c++14

All of these were because c++14 defines _STRICT_ANSI_ which MinGW obeys and
avoids defining certain functions. The first two could be patched around, but
the third was a blocker, so we switched to gnu++14

MozReview-Commit-ID: 6Y7gEQgApYp

--HG--
extra : rebase_source : dabbd40c049c36e780b585e0bef0a8e25887d089
2017-09-22 12:26:42 -05:00
Chris Manchester
68ede80645 Bug 1401654 - Move MOZ_WEBRTC and some related defines to moz.configure. r=mshal
MozReview-Commit-ID: Kp7lCLqJ6FH

--HG--
extra : rebase_source : f2f9d3fb85e1c22df6c0c7cee3072e54a8b8b3e0
2017-09-20 16:29:39 -07:00
Nathan Froyd
acc7776ea7 Bug 1325632 - part 1 - modify re-checking the compiler with flags; r=glandium
toolchain.configure checks for information about the compilers we're
using and accumulates additional flags that we might need to
pass (e.g. switches for C/C++ versions, proper compiler targets, etc.),
and then rechecks the compilers with those additional flags to verify
that those flags are sufficient to configure the compiler properly.
Only after we've checked for the proper flags do we move on to verifying
the compiler versions are sufficient.

It's possible, however, that the flags we try to add might not be
supported by the compiler being tested, in which case we'd get an
unfriendly error about an "unknown compiler", rather than something like
"version X of Y not supported".  In this case, we'd rather use the
information we gathered from the first run to provide information
messages.  So we modify the second check to ignore any thrown exceptions
during the check itself.

This change results in another problem: the check for whether we had any
extraneous flags is done prior to version checks for the compilers we
support, which is also unhelpful.  We choose to move this check after
the version checks themselves.
2017-09-21 12:40:02 -05:00
Makoto Kato
08e9866266 Bug 1350822 - Remove --with-android-gnu-compiler-version. r=glandium
gcc 4.9 is the last version in Android NDK and our minimum requirement of gcc is 4.9+.  --with-android-gnu-compiler-version is unnecessary option because gcc version of Android is always 4.9.

MozReview-Commit-ID: 1sutqlvbQU5

--HG--
extra : rebase_source : 77e42aba81da5276bcddd945ea41895ce2461afa
2017-09-20 20:34:18 +09:00
Makoto Kato
44d3f0277d Bug 1401448 - Remove libstdc++ support from Android buildconfig. r=froydnj
libstdc++ support is broken after moving to moz.configure.  No one uses this option and NDK will remove GCC, so we should remove this and --with-android-cxx-stl option.

MozReview-Commit-ID: 3mqyHoRCE00

--HG--
extra : rebase_source : 35aa911a69e159e67f624ab5ab9aea8af4c5342f
2017-09-20 16:38:48 +09:00
Sebastian Hengst
006a58c35d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 2iVDKexRjxu
2017-09-13 23:58:43 +02:00
Botond Ballo
c080667b4c Bug 1398966 - Suggest checking JAVA_HOME if javac is out of date. r=nalexander
MozReview-Commit-ID: FJDrLsTxwIr

--HG--
extra : rebase_source : 758b365905202ece86154e52bf88e6096a11b817
2017-09-11 19:06:26 -04:00
Bob Owen
d64bab3c76 Bug 1380609: Make Windows Universal CRT SDK version 10.0.10586.0 the minimum. r=glandium 2017-09-13 11:19:40 +01:00
Nathan Froyd
397f70843c Bug 1396882 - pass extra_toolchain_flags to linker detection invocation; r=glandium
The linker detection essentitally invokes `$CC -Wl,--version` to
determine which linker will be used.  This invocation works OK for GCC
from the Android NDK, which can find the linker in the same directory;
it doesn't work so well for clang from the NDK, which needs additional
command-line options to point at the directory containing the linker.

We already have extra_toolchain_flags for communicating such options to
other compiler invocations for the target; we should be using
extra_toolchain_flags here as well.
2017-09-12 09:52:13 -04:00
Mike Hommey
db9abf4e98 Bug 1395070 - Remove the MOZ_MEMORY_$platform defines. r=njn
--HG--
extra : rebase_source : d98dc4afaec44a3c65e4e1ff34824f6f8c512c8d
2017-08-30 17:01:30 +09:00
Makoto Kato
f1c26e1010 Bug 1391547 - DIA SDK is missing when using MSVS2017. r=ted.mielczarek
MSVC path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503
DIA SDK path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\DIA SDK

dia_sdk_dir of windows.configure tries finding invalid path.

MozReview-Commit-ID: KQDNA1tdpW2

--HG--
extra : rebase_source : 5a5cf32202ac55ae773b3c11f65a4cb304bff417
2017-08-22 15:16:07 +09:00
Tom Ritter
284b42206f Bug 1393222 Disable the unused-function warning when compiling with gcc for Windows r=froydnj
In some cases, they are false positives. In other cases, the callsite is #ifdef-ed
out, so it's a true positive, but not one we would correct.

MozReview-Commit-ID: 6ThZH3wEXTp

--HG--
extra : rebase_source : aabdb93cb924e74cf9592a93c86062c4435ceaad
2017-08-23 16:08:30 -05:00
Tom Ritter
d69ec3ed28 Bug 1393216 Disable unknown pragma warnings when compiling for Windows with gcc r=froydnj
MozReview-Commit-ID: 6cZ96xe4h8C

--HG--
extra : rebase_source : f538720b67d54cb9755e7cf8a60441aa0c3b2389
2017-08-23 16:18:28 -05:00
Gregory Szorc
5ce1624c85 Bug 1392886 - Determine if sparse checkout is being used; r=mshal
The Repository interface gains a new method to determine if a sparse
checkout is present. Mercurial's implementation is somewhat crude,
but it should work (Mercurial's sparse support is still experimental
and I only intend to support sparse checkout in Firefox CI until it
is less experimental). Git's always returns False (for now).

To prove it works and to expose the information more widely, we hook
it up to moz.configure. We do this by first implementing a function
that returns a Repository instance. Then we simply call a function on
it to resolve the sparse checkout flag.

MozReview-Commit-ID: AlsT5LdSPdZ

--HG--
extra : rebase_source : f1e9aaa7d15f11c7c5e8d268d4ad82468732103b
2017-08-22 20:26:46 -07:00
Chris Peterson
ee0e6ae64b Bug 1389851 - build: Enable clang's -Wunreachable-code-return warnings. r=glandium
MozReview-Commit-ID: 8Zl0mbzcFBm

--HG--
extra : rebase_source : 36c92b50fac9e1f7991d977e1c878b4945e97528
2017-08-08 23:12:41 -07:00
Nathan Froyd
802e57346a Bug 1390524 - correctly pass extra_toolchain_flags only to target compiles; r=glandium
We define extra_toolchain_flags for passing extra flags to the target
compiler during configure.  But the way things are currently set up, we
pass those flags to the host compiler during configure as well.  This
behavior is incorrect, and we should only be passing the flags from
extra_toolchain_flags if we're compiling for the target.
2017-08-18 12:05:05 -04:00
Sebastian Hengst
88e9d5fb24 Backed out changeset 772250315e76 (bug 1390524) for build bustage in test_compile_checks.py: compiler_class() takes exactly 2 arguments (1 given). r=backout on a CLOSED TREE 2017-08-17 21:31:00 +02:00
Nathan Froyd
cd71d2de73 Bug 1390524 - correctly pass extra_toolchain_flags only to the target; r=glandium
We define extra_toolchain_flags for passing extra flags to the target
compiler during configure.  But the way things are currently set up, we
pass those flags to the host compiler during configure as well.  This
behavior is incorrect, and we should only be passing the flags from
extra_toolchain_flags if we're compiling for the target.
2017-08-17 14:03:20 -04:00
Gregory Szorc
80d6e033a7 Bug 1385381 - Detect and expose Python 3 to the build system; r=chmanchester
Various people want to start experimenting with Python 3 in the build
system and in related tools (like mach).

We want to make it easy to find and use an appropriate Python 3
binary.

This commit introduces a generic function for finding a Python 3
binary and resolving its version.

We use the new code in configure to set PYTHON3 and PYTHON3_VERSION
subst entries for later consultation.

We also expose a cached attribute on the base class used by many
mach and build system types to return a Python 3 executable's info.

By default, we only find Python 3.5+. From my experience, Python 3.5
was the first Python 3 where it was reasonable to write code that
supports both Python 2 and 3 (mainly due to the restoration of the
% operator on bytes types). We could probably support Python 3.4
in the build system. But for now I'd like to see if we can get
away with 3.5+.

MozReview-Commit-ID: BlwCJ3kkjY9

--HG--
extra : rebase_source : b00464972183ef1a97a0b5d888520be425717ae7
2017-07-27 21:19:25 -07:00
Matt Brubeck
503070ad8d Bug 1386371 - Disable LTO by default, but enable in automation. r=froydnj
MozReview-Commit-ID: 2DIY9ex3Mch

--HG--
extra : rebase_source : 61f2f073adabfa7c46c324470a308adab23e7781
2017-08-10 11:38:10 -07:00
Sylvestre Ledru
fa1440cf47 bug 1320656 - When exists, add -Wno-noexcept-type to the js build flags until we have a proper fix r=glandium
MozReview-Commit-ID: HeDMTxopx9V

--HG--
extra : rebase_source : a48fbfcd687d44ffe16be39f5c5e945d8df31b17
2017-08-11 10:46:02 +02:00
Sylvestre Ledru
77b71da58c Bug 1336978 - Add support of lld by adding a configure option --enable-linker='bfd', 'gold', 'lld', 'other' r=glandium
MozReview-Commit-ID: 7LI2lMXO2lG

--HG--
extra : rebase_source : d8531917f81e8f6e313b362ae182540312a5c676
2017-07-26 15:14:07 +02:00
Nathan Froyd
6b3217da7f Bug 1385276 - move PROFILE_*FLAGS to moz.configure; r=mshal
We are guaranteed to use a GCC or clang new enough that we don't have to
bother checking whether the flags are supported or not.
2017-08-04 13:56:38 -04:00
Nathan Froyd
ff612fa73f Bug 1387185 - remove --enable-b2g-* options from moz.configure whitelist; r=mshal
These options do not exist in the old configure.
2017-08-04 13:56:38 -04:00
Nathan Froyd
26eec13ba0 Bug 1387185 - remove --enable-png-arm-neon-support from moz.configure whitelist; r=mshal
This option does not exist in the old configure.
2017-08-04 13:56:38 -04:00
Nathan Froyd
3a8877d401 Bug 1387185 - remove --enable-safe-browsing option from moz.configure whitelist; r=mshal
This option does not exist in the old configure.
2017-08-04 13:56:38 -04:00
Nathan Froyd
d7190c617c Bug 1387185 - remove --enable-url-classifier configure option; r=mshal
Nothing uses the corresponding defines and substs.
2017-08-04 13:56:38 -04:00
Nathan Froyd
51495a8284 Bug 1387185 - remove --disable-mozril-geoloc configure option; r=mshal
Nothing uses the defines and substs that it sets, and no in-tree
mozconfigs pass it as an option.
2017-08-04 13:56:38 -04:00
Ralph Giles
2a2cfd92f6 Bug 1383311 - Require rust 1.19.0. r=froydnj,gps
Bump the minimum required version of the Rust toolchain to
the current stable release so we can take advantage of new
features.

Highlights of the 1.19.0 release:

* C-compatible `union` (untagged enums).
* Support for Visual Studio 2017.
* Non-capturing closures can be coerced to `fn` bindings.
* Numeric field names in tuple struct initializers.
* Higher macro recursion limit.
* `break` can return a value from `loop` expressions.
* Better error handling with mis-configured Visual Studio environments.

This change also enables 1.18.0 features. Some highlights:

* `pub(mod)` &c. for better control of symbol visibility.
* struct packing for better memory footprint in generated code.
* Faster build times.

MozReview-Commit-ID: 2OpUjAcytpE

--HG--
extra : rebase_source : 2ed0d7c4e7b78c26f7a7476e7b284bf1bdbe7c8b
2017-07-24 07:51:57 -07:00
Nick Alexander
6e4a13fad8 Bug 1376306 - Bootstrap and upload java_home.tar.xz; bump Java to 1.8. r=dustin,sebastian
MozReview-Commit-ID: 3EOsrOp924f

--HG--
rename : taskcluster/scripts/misc/repackage-jdk-centos.sh => taskcluster/docker/android-gradle-build/bin/repackage-jdk-centos.sh
extra : rebase_source : 308d03828a78036076f6cdb68587be6694ac49ae
2017-07-25 20:43:14 -07:00
Gregory Szorc
3eae4bab54 Bug 1384396 - Detect Watchman Mercurial integration in configure; r=nalexander
Configure now detects VCS info. Configure now detects Watchman.
We can combine the two so configure can detect if Mercurial
is configured with Watchman enabled.

This commit does two things:

1) collects the Mercurial config so it is available to downstream checks
2) examines the config for presence and state of the fsmonitor
   extension

We don't yet do anything with the fsmonitor state. But it should be
useful soon. Also, the return value is kinda wonky. This will almost
certainly be improved as soon as there is an actual consumer.

MozReview-Commit-ID: HyHZ2X8VI0h

--HG--
extra : rebase_source : e53928127470340275f0c0f07db72b536bba885b
extra : source : a8373914cbfd9b8595fc24f36c876cab0a26c02a
2017-07-27 14:12:35 -07:00
Gregory Szorc
f6426ce5ad Bug 1384396 - Add a @depends_all utility function; r=nalexander
Often you only want to evaluate a function if all its dependencies
are true. Expressing this in a "when" can be difficult. So let's
add a convenience decorator for it.

The existing code for @depends_if() was refactored to take an
evaluation function as its first argument. This prevents some
duplicate code and turns @depends_if() and @depends_all() into
one-liners.

MozReview-Commit-ID: Jbugvf0lioM

--HG--
extra : rebase_source : 177741b80ac4fbfb547d6b36a6f5777fe514d91a
extra : source : 0c2bc12f4ebe44428385745266d2fd158e0c3382
2017-07-25 22:00:38 -07:00
Sebastian Hengst
75704b249a Backed out changeset 0c2bc12f4ebe (bug 1384396) for breaking builds when hg username has non-ascii characters. r=backout a=backout on a CLOSED TREE
MozReview-Commit-ID: 2mqBxbDHsH0
2017-07-27 14:56:29 +02:00
Sebastian Hengst
359a334524 Backed out changeset a8373914cbfd (bug 1384396)
MozReview-Commit-ID: I8IOrpGH89l
2017-07-27 14:53:41 +02:00
Carsten "Tomcat" Book
d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Wes Kocher
ad35031103 Merge m-c to inbound, a=merge
MozReview-Commit-ID: LhiAcCiFBus
2017-07-26 18:33:18 -07:00
Sylvestre Ledru
bd568835bd Bug 1384449 - Implement the support of when= for js_option r=glandium
MozReview-Commit-ID: Eg4klzaCaAH

--HG--
extra : rebase_source : a7ab78d852d8b472d32e886229bc9ef51fc77c20
2017-07-26 10:22:47 +02:00
Gregory Szorc
4d26cc09b2 Bug 1384396 - Detect Watchman Mercurial integration in configure; r=nalexander
Configure now detects VCS info. Configure now detects Watchman.
We can combine the two so configure can detect if Mercurial
is configured with Watchman enabled.

This commit does two things:

1) collects the Mercurial config so it is available to downstream checks
2) examines the config for presence and state of the fsmonitor
   extension

We don't yet do anything with the fsmonitor state. But it should be
useful soon. Also, the return value is kinda wonky. This will almost
certainly be improved as soon as there is an actual consumer.

MozReview-Commit-ID: HyHZ2X8VI0h

--HG--
extra : rebase_source : d245d316cc8a27b2827b7824204549b91465bd34
2017-07-25 22:05:23 -07:00