Граф коммитов

489 Коммитов

Автор SHA1 Сообщение Дата
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
Gregory Szorc 869db005b9 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 : 38b4af7b668830589126e8a83f5d5ab73914d07c
2017-07-25 22:00:38 -07:00
Mike Hommey 4b822dd9f0 Bug 1382502 - Remove ${var}_IS_SET variables. r=ted
In bug 1181040, we added ${var}_IS_SET variables for
mk_add_options-defined variables. In the two years since, that has never
been used for anything else than MOZ_PGO_IS_SET, and the only use for
that has now been removed, so remove those ${var}_IS_SET variables.

--HG--
extra : rebase_source : 2fc9abe0c3badbf06f3858fcf326237e67891fee
2017-07-20 14:22:11 +09:00
Gregory Szorc 204ba452aa Bug 1382930 - Remove configure references to gonk; r=glandium
Some gaia-related code was also found and removed as part of the
cleanup.

MozReview-Commit-ID: DEjVSljzzu1

--HG--
extra : rebase_source : 58c4c34df44a258d90029853f29ea01338bd142b
2017-07-20 21:48:10 -07:00
Tom Ritter 3efa760176 Bug 1370007 Generate Shaders on a MinGW Cross Compile on Linux r=dvander,ted
Bug 1365859 introduced a dependency on the Visual Studio binary 'fxc'
to generate Shader bytecode. This was unavailable when compiling for
Windows on Linux as part of a MinGW build.

This commit adds a configure check for fxc, and also searches for
fxc2, which was written (https://github.com/tomrittervg/fxc2) to be
a tiny application that wraps D3DCompileFromFile and can produce
similar (but not exactly the same) output as fxc.

fxc2 is compiled using MinGW for Windows, and runs under wine, so
we need to check for wine also.

Finally, fxc outputs some include information fxc2 doesn't, so
we will just change that assert to not take effect.

MozReview-Commit-ID: 8LVxuODi6cV

--HG--
extra : rebase_source : 9116d266663284d6594e34aa53bd37eae01ba67f
2017-07-24 14:32:08 -05:00
Sylvestre Ledru e49fe93233 Bug 1382364 - Do not fail the build when the linker is unknown. r=glandium
Instead, tag it as 'other'

MozReview-Commit-ID: 1yyLuMKkR7a

--HG--
extra : rebase_source : cf49793d52a7062b29f1476850ca121e6fb1442c
2017-07-21 10:03:30 +02:00
Nathan Froyd 320fa56056 Bug 1384220 - remove --with-crashreporter-enable-percent configure option; r=ted.mielczarek
This option was added ~decade ago; AFAICT from bug archaeology, the
option was added to prevent our servers from being overwhelmed.
Somewhere over the years, however, we obtained more capable servers and
the option disappeared from mozconfigs.  It seems moderately unlikely
that we'll have a need for this option again, and we could reintroduce
this patch very easily in any event.  Let's go ahead and remove it.
2017-07-26 11:16:43 -04:00
Bob Owen 847e4be624 Bug 1364137: Get both 32-bit and 64-bit registry values when searching for the Windows SDK. r=glandium
The values that we need to find in the registry can be inconsistent across
different installations, so we retrieve values from both views in our search
for a valid SDK. This also ensures this works for 32-bit and 64-bit python.
2017-07-22 11:32:24 +01:00
Gregory Szorc 79daf7649a Bug 1377216 - Search for hg.exe before hg; r=glandium
Mercurial installs on Windows often provide both a native hg.exe
and a hg shell script. This allows them to work from both Windows
and UNIX-like shells.

While the which Python package searches for .exe and other common
executable extensions on Windows automatically, it doesn't prefer
these results to an extension-less value. This meant that "hg"
was resolved to the shell script. When we went to run it, it
failed because it isn't a valid Win32 application.

We work around the problem by preferring "hg.exe" over "hg"
for the binary name.

Ideally this would be platform specific. But the harm should be
minimal.

--HG--
extra : rebase_source : 1354c739de1ff738812ad100176ad7e9d08fadde
2017-07-20 23:07:55 -07:00
Gregory Szorc 6f0154d4c2 Bug 1377216 - Add dependency on --help to vcs_checkout_type; r=glandium
This is now required as of 00ef8018730c.

Landing on a CLOSED TREE.

--HG--
extra : rebase_source : 410e4a677cdc1f1238f778a00078ac6e6de420bd
extra : amend_source : e81cf510948bedd76ac77790eb96aae1fe3cda1c
2017-07-20 15:08:20 -07:00
Gregory Szorc fa4893f658 Bug 1377216 - Discover version control info in configure; r=glandium
For reasons unknown to me, Windows CI is periodically failing to find
the Mercurial binary.

In addition, we've also reimplemented various VCS logic throughout
the build system. There is room to cut down on code complexity by
e.g. recording VCS info in configure instead of determining it
at run-time.

Also, for forensic purposes it is sometimes desirable to know which
VCS tool is in use by a build and which version of that tool is being
used.

This commit adds VCS type detection, binary searching, and version
resolution to configure.

substs now contains VCS_CHECKOUT_TYPE, HG, and GIT, which can be
consulted by downstream consumers.

If the Mercurial or Git versions could not be resolved, all variables
are not set. Otherwise, VCS_CHECKOUT_TYPE and one of HG or GIT is set.

If MOZ_AUTOMATION is set, we require that the VCS info be resolved.
This helps prevents weirdness in automation due to unexpected
environment configuration.

MozReview-Commit-ID: AMLy0Hfx5rD

--HG--
extra : rebase_source : edef9165d32dc47308a14b0fbabce3c1d3d28176
2017-07-18 18:07:29 -07:00
Gregory Szorc b47fb974f1 Bug 1377216 - Accept environment variables to check_cmd_output; r=glandium
And include code to work around a bug on older Python versions.

MozReview-Commit-ID: 4pBnMQQJOGB

--HG--
extra : rebase_source : 6f7c5784230bd37b3496b9bb1781e8d342f741b4
2017-07-18 18:06:03 -07:00
Gregory Szorc 499d2ea19c Bug 1381741 - Only fail gold detection when --enable-gold is specified; r=glandium
developer_options (!--enable-release) implies to search for and prefer
the gold linker. As part of porting gold detection to moz.configure
in d0e782180741 (bug 1351109), the logic inadvertently changed to
require gold when either --enable-gold or !--enable-release were
present.

This commit relaxes the requirement to find gold when only --enable-gold
is true.

MozReview-Commit-ID: HTBicWNUkvy

--HG--
extra : rebase_source : dd3938a7914f5db6c315fb775e7cc5ea177bf600
2017-07-20 08:24:36 -07:00
Mike Hommey 0cdaafffc5 Bug 1374727 - Apply check_prog's `when` to more of what it "expands" to. r=chmanchester
check_prog, when used with a `when` argument, doesn't work the same way
as putting it under a `with only_when()` block, while it should. The
difference comes from the fact that `with only_when()` applies the
`when` to every option and depends used in the block (which check_prog
calls a bunch of).

So, we "manually" apply the `when` to all option and depends in
check_prog. An alternative solution would be to put the whole function
under a `with only_when()` block, but that would mean reindenting the
whole function.

Either way, as a consequence, this requires the `when` to have a
dependency on --help for "non-trivial" functions, which fortunately,
there's only one of.

--HG--
extra : rebase_source : d91eca9e303c7062394d92a526983714ef3e612f
2017-06-21 07:19:33 +09:00
Ryan VanderMeulen 741a7a5ea3 Backed out 6 changesets (bug 1377216) for SM(pkg) bustage on a CLOSED TREE.
Backed out changeset b5701f3ce506 (bug 1377216)
Backed out changeset 1f37aebe0f43 (bug 1377216)
Backed out changeset c8931588f674 (bug 1377216)
Backed out changeset ded5328ba74c (bug 1377216)
Backed out changeset 6cb234539746 (bug 1377216)
Backed out changeset ce836965fd58 (bug 1377216)
2017-07-19 22:14:03 -04:00
Gregory Szorc c310ba24a6 Bug 1377216 - Discover version control info in configure; r=glandium
For reasons unknown to me, Windows CI is periodically failing to find
the Mercurial binary.

In addition, we've also reimplemented various VCS logic throughout
the build system. There is room to cut down on code complexity by
e.g. recording VCS info in configure instead of determining it
at run-time.

Also, for forensic purposes it is sometimes desirable to know which
VCS tool is in use by a build and which version of that tool is being
used.

This commit adds VCS type detection, binary searching, and version
resolution to configure.

substs now contains VCS_CHECKOUT_TYPE, HG, and GIT, which can be
consulted by downstream consumers.

If the Mercurial or Git versions could not be resolved, all variables
are not set. Otherwise, VCS_CHECKOUT_TYPE and one of HG or GIT is set.

If MOZ_AUTOMATION is set, we require that the VCS info be resolved.
This helps prevents weirdness in automation due to unexpected
environment configuration.

MozReview-Commit-ID: AMLy0Hfx5rD

--HG--
extra : rebase_source : edef9165d32dc47308a14b0fbabce3c1d3d28176
2017-07-18 18:07:29 -07:00
Gregory Szorc c29efbaf05 Bug 1377216 - Accept environment variables to check_cmd_output; r=glandium
And include code to work around a bug on older Python versions.

MozReview-Commit-ID: 4pBnMQQJOGB

--HG--
extra : rebase_source : 6f7c5784230bd37b3496b9bb1781e8d342f741b4
2017-07-18 18:06:03 -07:00
Ryan VanderMeulen a064d6dbfc Merge m-c to inbound. a=merge 2017-07-18 13:00:03 -04:00
Bob Owen f33fd037aa Bug 1356493: Add the SDK version number to the bin path for Windows 10 SDK v10.0.15063.0 and above. r=glandium
This patch also works for the current preview SDK v10.0.16232.0.
2017-07-18 14:21:32 +01:00
Jean-Yves Avenard 77f31bcb34 Bug 1379190: P2. Remove OMX related config. r=glandium
They are no longer used.

MozReview-Commit-ID: BTTjmhoqKgi

--HG--
extra : rebase_source : 395f6385f7d5ee6bd4413e6247297aa5002ea137
2017-07-13 13:00:23 +02:00
Sylvestre Ledru b4dc56b423 Bug 1351109 - Move the gold linker support to the python configure r=glandium
MozReview-Commit-ID: 1FC0W7EqdCI

--HG--
extra : rebase_source : 6df832649a6130869b106cf8c79164b85d1f1ca6
2017-07-05 11:27:56 +02:00
Ralph Giles 2108ee3e4e Bug 1368083 - Pass -isysroot to bindgen. r=gps
When cross-compiling, rust-bindgen needs the -isysroot
flag we pass to the C++ compiler to find the correct
headers. Add a new BINDGEN_CFLAGS environment variable
for passing this and other relevant options, and reformat
its contents in toolchain.configure so we can use autoconf-
style template substitution to poke it into a bindgen.toml
file to be read by build scripts like build_gecko.rs.

Set this variable from the macosx/cross-mozconfig.common
to the same extra flags we pass to CXX so automation
builds work correctly with --enable-stylo.

MozReview-Commit-ID: 7wabObiFtVb

--HG--
extra : rebase_source : eeba30e3d64112da65e2e6830ef5fc1b54965529
2017-07-06 11:34:03 -07:00