Commit Graph

600 Commits

Author SHA1 Message Date
Jim Chen
055a903128 Bug 1360291 - Detect NDK version number; r=nalexander
Detect the NDK major/minor version numbers, and feed that to Breakpad.
For AArch64, some Breakpad headers try to workaround NDK oddities by
checking the ANDROID_NDK_MAJOR_VERSION and ANDROID_NDK_MINOR_VERSION
macros.
2017-05-04 19:19:31 -04:00
Jim Chen
5a39ae87ca Bug 1360291 - Set minimum NDK platform version to 21 for 64-bit builds; r=nalexander
64-bit is only supported in android-21 and above in the NDK.
2017-05-04 19:19:30 -04:00
Alex Gaynor
9ca18555b2 Bug 1360299 - When --enable-hardening is used, --enable-pie will be automatically enabled r=froydnj
r=froydnj

MozReview-Commit-ID: 7QFOTzSlXSj

--HG--
extra : rebase_source : 3dfde8102bdaf5afcd3fb4c9b5e9b78023e2d779
2017-05-01 15:00:50 -04:00
Frank-Rainer Grahl
2f2263123a Bug 1360631 - Fix VS2015 x86 cross compiling using start-shell.bat. r=ted 2017-04-30 03:40:00 -04:00
Nathan Froyd
d9e05176d0 Bug 1329737 - part 1 - define a RUST_TARGET_ENV_NAME config variable; r=rillian
We need this for forming various Cargo environment variables.
2017-04-28 14:06:42 -04:00
Wes Kocher
9528ad9a03 Merge m-c to inbound, a=merge
MozReview-Commit-ID: DaH1djmEY5A
2017-04-27 13:29:07 -07:00
Ted Mielczarek
f12882b7f6 bug 1318143 - add a --with-visual-studio-version to choose which VS version configure chooses when multiple versions are installed. r=gps
MozReview-Commit-ID: C6IoZJNHR4G

--HG--
extra : rebase_source : 60afcf53d61b8314cbd9e621ead8efd282e28a39
2017-04-20 12:43:44 -04:00
Ted Mielczarek
e0a932a9ba bug 1318143 - add support for detecting Visual Studio 2017 to configure. r=gps
This patch adds a copy of vswhere.exe to build/win32, downloaded from the
current latest release (1.0.62):
https://github.com/Microsoft/vswhere/releases/download/1.0.62/vswhere.exe

It changes toolchain.configure to invoke vswhere.exe instead of reading
the registry, since that no longer works for VS2017 (but vswhere can locate
VS2015). It also removes a layer of complexity in that code by dropping
support for non-64-bit host systems, since we don't really support building
on 32-bit Windows anymore anyway.

There's a little bit of fixup in windows.configure where some LIB paths
have changed in 2017.

MozReview-Commit-ID: 5XLWjidS6W4

--HG--
extra : rebase_source : 90f79b6f4a2d8d925dd20eb0bf6ab96262c227d5
2017-04-26 15:18:48 -04:00
Tom Ritter
f8c3899ea0 Bug 1353541 Fix rustc in MinGW build r=froydnj,ted
rustc generates .lib files for its libraries when compiling for Windows
(even using MinGW on Linux). But MinGW expects .a files. So we add in
rust-specific prefix and suffixes so MinGW builds can find the libs that
rustc generates. (And the RUST_LIB- variables default to the same vales
as the LIB_ variables otherwise.)

MozReview-Commit-ID: ClsA0YuJaxh

--HG--
extra : rebase_source : 7b46460c94ceb34b7a5a302ce91d3f1dca600041
2017-04-26 12:08:59 -05:00
Sebastian Hengst
6d6d39a029 Backed out changeset 6eb93543bf16 (bug 1318143) for Windows build bustage. r=backout 2017-04-25 22:38:36 +02:00
Sebastian Hengst
21f78de4ba Backed out changeset fc094009b7c1 (bug 1318143) 2017-04-25 22:38:09 +02:00
Ted Mielczarek
3a3b0348ed bug 1318143 - add a --with-visual-studio-version to choose which VS version configure chooses when multiple versions are installed. r=gps
MozReview-Commit-ID: C6IoZJNHR4G

--HG--
extra : rebase_source : 33a4aeae84f897e5402f1e41ac5e4f18a68c0eea
2017-04-20 12:43:44 -04:00
Ted Mielczarek
aaf6f64815 bug 1318143 - add support for detecting Visual Studio 2017 to configure. r=gps
This patch adds a copy of vswhere.exe to build/win32, downloaded from the
current latest release (1.0.62):
https://github.com/Microsoft/vswhere/releases/download/1.0.62/vswhere.exe

It changes toolchain.configure to invoke vswhere.exe instead of reading
the registry, since that no longer works for VS2017 (but vswhere can locate
VS2015). It also removes a layer of complexity in that code by dropping
support for non-64-bit host systems, since we don't really support building
on 32-bit Windows anymore anyway.

There's a little bit of fixup in windows.configure where some LIB paths
have changed in 2017.

MozReview-Commit-ID: 5XLWjidS6W4

--HG--
extra : rebase_source : 15c69aeca3295a1811c85a9cf4c2793312dcd122
2017-04-25 06:29:30 -04:00
Alex Gaynor
1de783d5aa Bug 620058 - Add a --enable-hardening flag, which compiles with -fstack-protector-strong on GCC and Clang r=froydnj
This flag enables the stack-cookie exploit mitigation for all functions which
manipulate stack-based buffers, providing better protections than
-fstack-protector, at considerably lower performance overhead than
-fstack-protector-all.

r=froydnj

MozReview-Commit-ID: 7ZNAHHAf376

--HG--
extra : rebase_source : 6d5ccbb9537372912c3f5a73fe0fdc65bb68ac08
2017-04-12 13:58:22 -04:00
Wes Kocher
58582c5053 Backed out changeset 042c7c020a3b (bug 1362872) for build failures in test_toolchain_configure.py a=backout CLOSED TREE
MozReview-Commit-ID: DwmjdL7C5VX

--HG--
extra : amend_source : 7499f887d0ec66151537768175d84227d87985b4
2017-05-08 14:45:58 -07:00
Makoto Kato
0ce2bd7615 Bug 1362872 - Use mbcs encoding for vswhere output. r=gps
We add vswhere.exe to support VS2017.  But the description output of this command is localized, so it causes UnicodeDecodeError.

So we should use 'mbcs' encoding for this output. And for minor languages, we should also use replace to avoid decode error.

MozReview-Commit-ID: AkryAzrgSzs

--HG--
extra : rebase_source : 8413c623902b04785b43eb77047ed436bf82a5aa
2017-05-08 15:31:44 +09:00
Edmund Wong
33a667c380 Bug 1358403 - Add a colon to complete the rust url when mach build dies when it can't find the rust compiler. r=froydnj
MozReview-Commit-ID: 3E3A9laTdoX

--HG--
extra : rebase_source : 2c5745eadd935b0e20abfb2d106bdb247ea0b5e8
2017-04-21 15:43:14 +08:00
Chris Peterson
1345634886 Bug 1356843 - Enable -Wcomma clang warnings. r=glandium
Warn about possible misuse of the comma operator such as between two statements or to call a function for side effects within an expression. Only enable these -Wcomma warnings for C++ code because there are almost two hundred -Wcomma warnings in third-party C libraries. I reviewed the C warnings and confirmed none of them were latent bugs. We won't fix these libraries' warnings so they are just noise.

MozReview-Commit-ID: 1JXJumg6DsJ

--HG--
extra : rebase_source : c48189653361aa84edd3004188315cd73aefa9b5
extra : amend_source : 30be5afeb03eff26d59ccde57c0eb547b743c304
2017-04-08 12:36:48 -07:00
Carsten "Tomcat" Book
54c9498baf Merge mozilla-central to mozilla-inbound 2017-04-20 13:03:06 +02:00
Dragana Damjanovic
ecca1ff420 Bug 1310197 - Implement fast open nspr part. r=mcmanus,bagder 2017-04-20 14:11:26 +08:00
Tom Ritter
7d7682b05b Bug 1314979 Support cross compilation with MINGW in windows.configure r=glandium
MINGW builds do not need any of the checks that are performed in the
windows.configure file. Nor do they the D3D compiler DLL that is
needed for ANGLE, so we can skip that entire section in
old-configure.in.

MozReview-Commit-ID: DqufbgGoGy4

--HG--
extra : rebase_source : d5f1ed371f79a8a16f888ccc5d058ac72a69f34f
2017-04-19 10:18:01 -05:00
Petr Sumbera
0e17adee7c Bug 1354510 - Firefox build should recognize Solaris. r=glandium
--HG--
extra : rebase_source : 2bec2709a26a5295e723b0ecc424b0d648715bb7
2017-04-11 00:01:32 -07:00
Mike Hommey
e91179eda5 Bug 1344038 - Remove --enable-gnomeui. r=karlt
--HG--
extra : rebase_source : 562519f2f6727750afe7d4a8503b41e722222d7d
2017-03-08 15:35:53 +09:00
Mike Hommey
94c16743bb Bug 1344038 - Remove --disable-gio. r=karlt
--HG--
extra : rebase_source : 3b5b820536b0e9b1fb1da3a16c444ed7839770b9
2017-04-05 14:06:25 +09:00
Iris Hsiao
15a34cacd2 Backed out 3 changesets (bug 1344038) for bustage
Backed out changeset 4befea89d81b (bug 1344038)
Backed out changeset c859506b2e4e (bug 1344038)
Backed out changeset 5d28a6382285 (bug 1344038)

--HG--
rename : netwerk/protocol/gio/moz.build => extensions/gio/moz.build
rename : netwerk/protocol/gio/nsGIOProtocolHandler.cpp => extensions/gio/nsGIOProtocolHandler.cpp
2017-04-06 10:35:56 +08:00
Mike Hommey
a96508cc4d Bug 1344038 - Remove --enable-gnomeui. r=karlt
--HG--
extra : rebase_source : cf3cd5795af68fd08ee1e1f0d7b89a67d453fa87
2017-03-08 15:35:53 +09:00
Mike Hommey
0543a25916 Bug 1344038 - Remove --disable-gio. r=karlt
--HG--
extra : rebase_source : b380d5ebfc3689a9d8d4e3825c83028f837838f2
2017-04-05 14:06:25 +09:00
Sylvestre Ledru
aaea07bd8e Bug 1351108 - Add the onerror argument to try_compile r=glandium
MozReview-Commit-ID: 9WNcdWhmUEB

--HG--
extra : rebase_source : 39ffa3de812c0cfc51a5505331acbf767a484821
2017-03-27 23:12:56 +02:00
Wes Kocher
1183e95625 Backed out changeset 54d50e4a99b2 (bug 1310197) for win64 bustage a=backout 2017-04-13 15:30:35 -07:00
Dragana Damjanovic
4a9976e555 Bug 1310197 - Implement fast open nspr part. r=mcmanus,bagder 2017-04-13 22:44:54 +02:00
Dan Minor
2f2e51556a Bug 1343557 - Update build for gtest and gmock 1.7.0; r=ted.mielczarek
I've moved the mozilla specific gtest stuff to link directly in xul-gtest
rather than in the gtest static library to make it possible for standalone
programs to link against this library and not have to link
against other mozilla libraries. This allows us to build
media/webrtc/signaling/fuzztest against this version of gtest rather than the
webrtc version of gtest, which I plan to remove in a follow on bug.

I had to add a global disable for -Wgnu-zero-variadic-macro-arguments as we
hit that everywhere we use the INSTANTIATE_TEST_CASE_P macro.

This brings forward the fix from Bug 844630 to the visibility of environ in
gtest-death-test.cc.

I also removed code that set GTEST_API_ to a visibility that conflicts with
what we've defined elsewhere in tree.

MozReview-Commit-ID: 3cfuapC6vn0

--HG--
extra : rebase_source : 6e5d2684718b6ddaa5a64c1f26a0172c91b5a719
2017-03-03 14:54:05 -05:00
Edmund Wong
947993dd6e Bug 1343781 - Ensure MozconfigLoader uses the right topsrcdir. r=glandium 2017-03-09 10:50:35 +08:00
Jan Beich
20e7357c74 Bug 1340594 - Make sure Cargo version check can fail. r=froydnj
MozReview-Commit-ID: 9ggzbuE42Wc

--HG--
extra : rebase_source : b6af4b738c020004dc9f08ffa3221695c46bfa01
2017-02-25 04:11:26 +00:00
Jan Beich
b2013667fb Bug 1330240 - Limit -Wthread-safety to WebRTC due to lack of annotations. r=cpeterson,froydnj,jesup
MozReview-Commit-ID: HuoXFwZkdYo

--HG--
extra : rebase_source : 8f07a7a6de6d794b26b0f2b18eb95452d65c8f40
2017-01-11 16:50:18 +00:00
Wes Kocher
47dc9207cd Backed out changeset 20a81b2adf80 (bug 1330240) under suspicion of turning android mda1 nearly permafail a=backout
MozReview-Commit-ID: LUKhxorIzwU
2017-02-23 16:25:18 -08:00
Jan Beich
959d5215d6 Bug 1330240 - Limit -Wthread-safety to WebRTC due to lack of annotations. r=cpeterson,froydnj,jesup
MozReview-Commit-ID: HuoXFwZkdYo

--HG--
extra : rebase_source : 8f07a7a6de6d794b26b0f2b18eb95452d65c8f40
2017-01-11 16:50:18 +00:00
Phil Ringnalda
53ccf8158e Backed out 5 changesets (bug 1318370) for mozilla-central Windows static-analysis bustage
Backed out changeset 196f9ddbf7aa (bug 1318370)
Backed out changeset 72f6eace33a1 (bug 1318370)
Backed out changeset c0c0e10ed613 (bug 1318370)
Backed out changeset a8032ae9cb2a (bug 1318370)
Backed out changeset 0848b3201c40 (bug 1318370)
2017-02-21 21:22:01 -08:00
Ted Mielczarek
056368b30f bug 1318370 - fix clang-cl builds. r=bustage
MozReview-Commit-ID: 8imNZDxMkVF

--HG--
extra : rebase_source : 58a6a51428b5c7229dc968e3cc74ea9b751f051e
2017-02-21 06:20:12 -05:00
Ted Mielczarek
0ba51f3683 bug 1318370 - 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.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : cc7e4346869b98a52840c101824044abc236637f
2017-01-10 16:52:27 -05:00
Ralph Giles
d3fb57abec Bug 1340587 - Remove MOZ_CARGO_SUPPORTS_FROZEN. r=froydnj
We now require cargo by version, and the minimum (0.16)
supports --frozen, so we don't need to check for this.

MozReview-Commit-ID: GPoadLkhRO5

--HG--
extra : rebase_source : e191e5dd2533e28c1bca0812f2776196cc3559cf
2017-02-17 12:16:45 -08:00
Tom Tromey
b6eaee7842 Bug 1060419 - add -Werror=format to the warnings.configure, r=froydnj
MozReview-Commit-ID: 9pvECUzAjF1

--HG--
extra : rebase_source : 4a1e1d8b243128e62359c32b3d7c5ad01d3cefac
2016-12-15 09:57:59 -07:00
Mike Hommey
885f0dae93 Bug 1339670 - Use cargo --version --verbose output when available. r=froydnj
Fallback to regexp on older versions of cargo.

--HG--
extra : rebase_source : d67c25ad48b1b23c9bb555b65e4241920914886f
2017-02-15 11:22:34 +09:00
Jan Beich
397f7a4910 Bug 1339161 - Add more rustc targets for cross-compilation. r=rillian
MozReview-Commit-ID: 5C7Bgsx2B2z

--HG--
extra : rebase_source : ee4e14091b772121f391568d21dd56ef68ac95be
2017-02-13 19:08:53 +00:00
Nathan Froyd
552f6522ad Bug 1298600 - part 2 - check Cargo's version; r=rillian
We need a particular version of Cargo, and we can't assume that because
the user has Rust 1.X, they necessarily have Cargo 0.(X+1).
2017-02-13 10:42:33 -05:00
Nathan Froyd
a7c48382ee Bug 1298600 - part 1 - reindent rustc_info; r=rillian
For whatever reason, rustc_info was indented a bit too far.
2017-02-13 10:42:33 -05:00
Ralph Giles
d9052fefa0 Bug 1337153 - Require rust 1.15.1. r=Ehsan
Bump the minimum version of the rust toolchain we require to
build. The 1.15 release includes support for custom #[derive]
directives, letting us use the serde serialization crate without
checking in a lot of generated code.

This is primarily motivated by webrender and the audio remoting
work, and lets us drop the heavy syntex dependency.

MozReview-Commit-ID: 6IObHhouPAn

--HG--
extra : rebase_source : 4be8b148fb653a48f6df4309811ab1d8755f7edf
2017-02-09 09:38:48 -08:00
Tom Ritter
8d3b0051f6 Bug 1336569 Define SYMBOL_UNDERSCORE for ffi in the mingw build r=glandium
MozReview-Commit-ID: 6BiTcohFDPk

--HG--
extra : rebase_source : d783f2950009d07ea45cdcc693771f4141df6ee9
2017-02-08 09:36:04 -06:00
Landry Breuil
54965a1d24 Bug 1336825 - Add i686-unknown-openbsd to known rust targets. r=froydnj 2017-02-05 12:36:00 -05:00
Mike Hommey
9de779f50a Bug 1335666 - Remove @depends_when. r=chmanchester
In bug 1296530, we made @depends take a when argument, it can now replace
all uses of @depends_when.

--HG--
extra : rebase_source : d090723fcbf3a56e06bd9c2defc3301cac04d8b0
2017-02-01 16:25:29 +09:00
Ralph Giles
4efb911890 Bug 1284816 - Remove --disable-rust. r=ted
Remove the option to build without rust code. We are not testing
this configuration and expect to land non-optional rust code in
the near future, so it doesn't make sense to maintain this option.

MozReview-Commit-ID: CwTlMXGvr5n

--HG--
extra : rebase_source : 080a9df5b4828c66aa2452ad1c16a503bcd5e689
2017-02-01 15:38:49 -08:00
Mike Hommey
9982192790 Bug 1322025 - Provide variants of host and target that depend on --help. r=chmanchester
We want to avoid giving --help dependencies to host and target, so that
they we don't spawn config.guess and config.sub when running configure
--help, and don't need to reach out to the which module to find a
suitable shell to execute them.

So, when --help is given, we return a fake host/target namespace, and
avoid the config.guess/config.sub-invoking code being executed.

Then, by giving the --help option to the linter, it can properly find
that the config.guess/config.sub-invoking code doesn't need the
dependency on --help.

This effectively unbreaks configure --help after bug 1313306.

--HG--
extra : rebase_source : 9ed4cbe5a81121b139d0d86aff6af542c2dff53b
2017-01-25 17:54:16 +09:00
Mike Hommey
c754dd4f3e Bug 1256730 - Fail configure when API key files do not exist or are empty. r=chmanchester,mikedeboer
--HG--
extra : rebase_source : 33b182bf0bffefacc408e9b52dd004c987ffc648
2016-08-09 18:17:35 +09:00
John Paul Adrian Glaubitz
5a74d13630 Bug 1329194 - mozbuild: Add SH4 as target architecture. r=glandium 2017-01-20 09:11:54 +09:00
Ted Mielczarek
72abec04a5 bug 1329320 - replace makecab with rust-makecab in symbolstore. r=gps
It turns out that running makecab to compress PDB files takes a significant
amount of time in the buildsymbols step. I wrote an implementation of
makecab in Rust that implements only the subset of features we use and
it's significantly faster:
https://github.com/luser/rust-makecab

This patch adds a makecab check to moz.configure, adds a release build of
the makecab binary to the Windows tooltool manifests, points the build at
it from mozconfig.win-common, and changes symbolstore.py to use MAKECAB
from substs instead of calling `makecab.exe` directly.

MozReview-Commit-ID: 76FHLIZFCXS

--HG--
extra : rebase_source : af4cf2e4db4607ec9329b2811cc0175d3e113b66
2017-01-06 05:57:10 -05:00
Sylvestre Ledru
b68ae46ad6 No bug - Add a space in the configure script. We are currently showing 'Mozillaautomation' r=trivial
MozReview-Commit-ID: KDn1ob7Pt6q
2017-01-09 10:12:45 +01:00
Mike Hommey
6b392d8d0c Bug 1324998 - Error out when a in-tree mozconfig is included. r=gps
Many people have been shooting themselves in the foot for too long by
including in-tree mozconfigs.

This change adds a guard that makes it an error when this happens on
builds not running on automation.

Analysis of the in-tree mozconfigs indicate that
build/mozconfig.automation is properly included by the in-tree
mozconfig that matter, directly or indirectly.

The only ones that don't include it are:
  b2g/config/mozconfigs/common.override
  b2g/graphene/config/mozconfigs/common.override
  browser/config/mozconfigs/linux64/source
  browser/config/mozconfigs/win64/common-win64
  build/mozconfig.cache
  build/mozconfig.clang-cl
  build/mozconfig.common.override
  build/mozconfig.rust
  build/mozconfig.vs-common
  build/mozconfig.win-common
  build/unix/mozconfig.gtk
  build/unix/mozconfig.stdcxx
  build/win32/mozconfig.vs-latest
  build/win32/mozconfig.vs2015-win64
  build/win64/mozconfig.vs-latest
  build/win64/mozconfig.vs2015
  mobile/android/config/mozconfigs/common.override

which are either empty for use in try builds (override files), or would
already cause great pain if they were directly included, so there's
little chance they would be.

--HG--
extra : rebase_source : 0e6accf241759f8d44868f253874f6546dbadb52
2016-12-21 16:58:38 +09:00
Carsten "Tomcat" Book
5615a8aaba Bug 1323901 - Bustage fix from glandium 2016-12-28 09:29:31 +01:00
Mike Hommey
74f8bb6e5e Bug 1323901 - Force which to use lowercase extensions on Windows. r=cmanchester+432261
--HG--
extra : rebase_source : 1932e63f7e02a80e5c83ee6bc0963d2c98d7fdd9
2016-12-23 06:28:03 +09:00
Nathan Froyd
a4e86a0fbf Bug 1322792 - require GCC 4.9 to build; r=glandium 2016-12-23 05:47:31 -05:00
Carsten "Tomcat" Book
0aed7a4ac5 Merge mozilla-central to mozilla-inbound
--HG--
rename : testing/docker/base-build/HASH => taskcluster/docker/base-build/HASH
rename : testing/docker/base-test/HASH => taskcluster/docker/base-test/HASH
rename : testing/docker/centos6-build-upd/HASH => taskcluster/docker/centos6-build-upd/HASH
rename : testing/docker/centos6-build/HASH => taskcluster/docker/centos6-build/HASH
rename : testing/docker/decision/HASH => taskcluster/docker/decision/HASH
rename : testing/docker/image_builder/HASH => taskcluster/docker/image_builder/HASH
rename : testing/docker/recipes/tooltool.py => taskcluster/docker/recipes/tooltool.py
rename : testing/docker/tester/HASH => taskcluster/docker/tester/HASH
2016-12-22 16:25:35 +01:00
Makoto Kato
57a8e37fef Bug 1324994 - Add Linux/aarch64 target to rust.configure. r=glandium
MozReview-Commit-ID: 2St6G9FiOHz

--HG--
extra : rebase_source : 62c3e963035972d02c4e6f0e8b7770ded25e42d1
2016-12-21 14:44:11 +09:00
Masatoshi Kimura
a654e25d18 Bug 1317569 - Unship d3dcompiler_43.dll. r=glandium
MozReview-Commit-ID: DSOOKc94wNV

--HG--
extra : rebase_source : 007a4c974ba16f2dc6e77e4b78e919769e0af8d1
extra : source : b448674d91482b214fb2a6c4e83d2e86638f28ef
2016-11-15 06:56:01 +09:00
Ryan VanderMeulen
946e064ee8 Bug 1319901 - Enforce Visual Studio 2015 Update 3 as the minimum supported compiler version for Windows builds. r=ted 2016-12-15 19:27:03 -05:00
Mike Hommey
36952d2ae0 Bug 1283898 - Don't check for rust outside of toolkit builds. r=rillian
Spidermonkey doesn't currently depend on rust code, and this
unblocks enabling rust by default on gecko builds until we
can get the appropriate toolchain hooked up to all of the
SM automation jobs.

The include must be conditional to avoid breaking artifact builds.

MozReview-Commit-ID: 1PmcFvcZLM2

--HG--
extra : rebase_source : 1a22232e064dd253b80ebaa55decfde1ba7e1ea0
2016-12-15 13:40:06 -08:00
Ralph Giles
3a9dd658c4 Bug 1283898 - Enable rust by default. r=ted
Switch from --enable-rust to optionally enable rust code
to --disable-rust to optionally disable it.

MozReview-Commit-ID: C8cQr5MXUzV

--HG--
extra : rebase_source : 0372be3cc3da56b49104b80c41974139a488ecb2
2016-11-24 16:11:27 -08:00
Ralph Giles
d3c4fa1f17 Bug 1320710 - Target i686 rust code on linux32. r=froydnj
Official Mozilla builds no longer support non-SSE2 x86 cpus,
so we can use the default i686 rust target here. This allows
better code generation and removes a dependency on the extra
i585 rust std library.

MozReview-Commit-ID: BHrm4tieIym

--HG--
extra : rebase_source : e791068b6128b9f3153b9c85ebd8551d583c2bc7
2016-11-28 09:17:11 -08:00
Ralph Giles
af3411a664 Bug 1321696 - Require rust 1.13 with --enable-rust. r=chmanchester
Bug 1320425 using the '?' operator stabilized in rust 1.13.0.
Update the minimum supported version to reflect this.

MozReview-Commit-ID: 3HKrhfNavEZ

--HG--
extra : rebase_source : 3acb73d551b5c24dff61254e74d0c1c514b2a77c
2016-12-01 17:35:52 -08:00
Ralph Giles
eec7f7ee4a Bug 1321691 - Suggest boostrap if configure fails to find rust. r=chmanchester
Now that `./mach boostrap` installs rustup, suggest this if
configure fails to find the toolchain when building with
--enable-rust.

Also point out https://rustup.rs/ for those who want more control.

MozReview-Commit-ID: 8JIbERfz12f

--HG--
extra : rebase_source : a23b3f747f1d430120f16b56e79085dabf3b2018
2016-12-01 17:01:55 -08:00
Ralph Giles
492e3e6a3b Bug 1320741 - Recommend rustup target add. r=chmanchester
Provide some guidance on how to resolve the common

  error: can't find crate for `std`

when cross-compiling rust code. This most commonly comes up
with the Android build.

MozReview-Commit-ID: 8PKKt7tf1KS

--HG--
extra : rebase_source : 5d18bb3a2ef8b3c4c5700b87c4a899b26160999d
2016-11-28 10:51:59 -08:00
Mike Hommey
4dfb89fd86 Bug 1316957 - Include windows.configure conditionally instead of using @depends_win. r=chmanchester
--HG--
extra : rebase_source : 51cadae94195439797524b8e81f72c21960aed67
2016-11-12 06:05:07 +09:00
Mike Hommey
07083a8dfb Bug 1317504 - Make MSVC builds use the LINK variable instead of LD. r=chmanchester
At the same time, remove HOST_LD. It was only used for MSVC builds,
which don't support cross-compile anyways, so we can, at least for now,
use LINK for both host and target.

--HG--
extra : rebase_source : 9ee9e7e1bd3edefc043fa63d5c03f2a242f76982
2016-11-24 15:45:16 +09:00
Mike Hommey
39e4c74722 Bug 1317504 - Warn that LD is not used by the build system. r=chmanchester
It turns out that, in practice, the LD variable is not used by the build
system, except on Windows, where it's used to feed the default for LINK,
which is then re-injected as LD.

The upcoming changes are going to normalize the use of LD/LINK.

--HG--
extra : rebase_source : 2a1a9924e963e082e119ff3874e8ff24247f4f94
2016-11-24 15:07:01 +09:00
Nathan Froyd
00c9adec24 Bug 1293253 - part 3 - add configure support for determining a --target value for Rust host code; r=chmanchester
We'll need this for compiling host binaries.  We could just call `rustc`
without any --target value whatsoever, but since we use --target for
target code, we might as well be consistent and explicit, and use
--target for host code as well.
2016-11-28 11:20:39 -05:00
Carsten "Tomcat" Book
61849e269d merge mozilla-inbound to mozilla-central a=merge 2016-11-24 16:41:59 +01:00
Makoto Kato
f593baff8c Bug 1318189 - mach configure cannot detect MFC library path on VS2017. r=glandium
VS2017's directory structure for mfc is the following.

 Directory of C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\vc\Tools\msvc\14.10.24629\atlmfc\lib

2016/11/21  13:57    <DIR>          .
2016/11/21  13:57    <DIR>          ..
2016/11/21  13:57    <DIR>          arm
2016/11/21  14:00    <DIR>          x64
2016/11/21  13:59    <DIR>          x86

So this structure is changed, we cannot detect mfc when using VS2017.


MozReview-Commit-ID: 2ft4stYPZbe

--HG--
extra : rebase_source : c985022eb5b99f32398f1f5c1d2e274c2a4677e7
extra : amend_source : 8b94aba289397dc84d0d360991666ed5a5a8ac07
2016-11-21 10:55:50 +09:00
Mike Hommey
84aa5c4927 Bug 1319959 - Set _topsrcdir, _objdir, MOZ_BUILD_ROOT and DIST from python configure. r=gps
In some cases, on OSX, python's `os.path.realpath` and shell's `pwd -P`
don't agree on the case of paths on case-insensitive filesystems.

So make everyone agree by using the value from python configure.

--HG--
extra : rebase_source : 4d26bf30f3f125c4f75d42f79d8a80a4a0bf11ec
2016-11-24 09:47:15 +09:00
Ted Mielczarek
fa343243d0 bug 1286934 - Switch to using sccache2. r=gps
This patch does a few things:
1) Change all the in-tree tooltool manifests to contain sccache2 instead of the existing Python sccache
2) Change mozconfig.cache to point at sccache.
3) Lightly tweak the --with-cccache configure option to support sccache, and detect whether we're using ccache or sccache and set an option appropriately.
4) Add a MOZ_SCCACHE_VERBOSE_STATS option, and add a target in the top-level Makefile to make sccache spit out its stats at the end of the build. This is useful to see the cache hits/errors until we get something better.
5) Add MOZ_USING_SCCACHE to the build telemetry. Not that I think it will be immediately useful, but for future use.

MozReview-Commit-ID: 9lrdLwNj5Bm

--HG--
extra : rebase_source : d323457df10d0ee0ac5811940e518d9422a7e070
2016-08-25 18:39:57 -04:00
Ted Mielczarek
26ebd20ebf bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium
This patch contains a number of changes to the gyp_reader code:
* Add three new flags to GYP_DIRS:
** no_chromium, to skip forcing the includes/etc needed for chromium gyp files
** no_unified, to force building all sources without unification
** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES
* Handle the flags mentioned above in read_from_gyp
* Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action.
* Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports.
* Handle shared_library and executable gyp targets
* Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS
* Handle generated source files
* Handle .def files in sources by mapping them to SYMBOLS_FILE
* Special-case some include_dirs:
** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports)
** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS
* split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits


MozReview-Commit-ID: FbDmlqDjRp4

--HG--
extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 12:37:09 -05:00
Mike Hommey
9b452a533f Bug 1317359 - Propagate MOZ_ADJUST_SDK_KEY to old-configure. r=chmanchester
--HG--
extra : rebase_source : 207defc410cd9fe01689b136c79e84046b7d3ae9
2016-11-15 07:43:39 +09:00
Mike Hommey
5fd2ce5f30 Bug 1317359 - Move add_old_configure_* functions to util.configure. r=chmanchester
--HG--
extra : rebase_source : 240fd42920ed4a17592c368ab764672cac01ca31
2016-11-15 14:35:22 +09:00
Gregory Szorc
4732e7cb34 Bug 1171610 - Automatically enable color in compiler output; r=glandium
GCC and Clang will colorize compiler output automatically if stdout is a
TTY. Unfortunately, when the build backend is invoked via `mach`,
stdout is not a TTY.

6e9a4c0b9cd8 (bug 1315785) changed mach so it exports an environment
variable indicating whether mach's original stdout is a TTY. This was
later used to add color flags to `cargo` invocations.

Building on that work, this patch adds color flags to compiler
invocations if the compiler supports color and a mach TTY is
detected. The result is that compiler output from `mach build`
will be colorized automatically if Clang or a modern version of
GCC is used.

The only issue I see with this is that Clang doesn't "unset" its color
sequences when printing a newline. As a result, mach's time line
prefixing can sometimes inherit "bold" or other stylings. AFAICT this is
only a minor cosmetic concern. GCC does not exhibit this issue.

MozReview-Commit-ID: 5Icu6aXGZBL

--HG--
extra : rebase_source : 5b2bf5a287fdf8075b3d7dde36b91f3c65b60728
2016-11-09 14:01:24 -08:00
Phil Ringnalda
21a7a3eb46 Backed out changeset 6d6366a2842e (bug 1317359) for test_checks_configure.py bustage
CLOSED TREE
2016-11-14 21:36:44 -08:00
Mike Hommey
e8b62f1ea5 Bug 1317359 - Propagate MOZ_ADJUST_SDK_KEY to old-configure. r=chmanchester
--HG--
extra : rebase_source : ad7b1089d99b9c3477ef882a5664341fe648b41f
2016-11-15 07:43:39 +09:00
Wes Kocher
c71ee484aa Backed out changeset c403ebdab6b8 (bug 1317359) for build bustage a=backout CLOSED TREE
--HG--
extra : amend_source : 578c7a50c7d04c6578448d780ee06076069ee783
2016-11-14 16:48:00 -08:00
Mike Hommey
36d47d7464 Bug 1317359 - Propagate MOZ_ADJUST_SDK_KEY to old-configure. r=chmanchester
--HG--
extra : rebase_source : fb3ba7a9f158a6d0e95b748b82f1b193903a75f0
2016-11-15 07:43:39 +09:00
Mike Hommey
6fa3828b4e Bug 1316844 - Remove unused dependencies. r=chmanchester
--HG--
extra : rebase_source : f9c4f39b198fbb83aa02b2eee65863695e7b75ca
2016-11-11 12:52:37 +09:00
Wes Kocher
f6f88173df Backed out changeset 2b174353e76a (bug 1316957) at glandium's request a=backout 2016-11-11 18:58:24 -08:00
Mike Hommey
fb3661afd7 Bug 1316957 - Include windows.configure conditionally instead of using @depends_win. r=chmanchester
--HG--
extra : rebase_source : ae9d0b364d11e351735d731c33757fb6f30f1bfa
2016-11-12 06:05:07 +09:00
Mike Hommey
17153e5c27 Bug 1314894 - Avoid path changes from b6be0e9e3e1e. r=chmanchester
Importing 'os' in python configure functions, on Windows, changes the
separate the various os.path functions use, and that can have
unexpected, badly handled, consequences. While on the long term, it is
desirable to make @imports('os') modify os.path to use the same base
functions as if there were no @imports, let's go with the simpler
workaround of restoring the non-{isfile,isdir,exists} os.path functions
from b6be0e9e3e1e.

--HG--
extra : rebase_source : a1857b5dce2aa818c72a77d0d9727ac6ce16cb8f
2016-11-04 06:50:43 +09:00
Ralph Giles
efaa5037bb Bug 1266792 - Target armv7 android. r=kinetik,snorp
We actually target armv7, so we need this distinct triple
with the rust toolchain, while it's implicit with the
android ndk.

MozReview-Commit-ID: LUwdpOaWB6M

--HG--
extra : rebase_source : 820de90d0844e1519f9e02a583c8cc3abf1dfdc0
2016-10-27 12:19:59 -07:00
Mike Hommey
900e53b021 Bug 1293675 - Error out when GetShortPathName returns a long path name. r=gps
--HG--
extra : rebase_source : fa95f8a1356009c44b33701b76d878e75fba7324
2016-11-01 08:06:40 +09:00
Mike Hommey
be15eb6990 Bug 1313306 - Remove --help dependencies from @dependable and delayed_getattr. r=chmanchester
This sadly requires to replace a few @dependendable to pass the lint
check.

--HG--
extra : rebase_source : e0fd1c6f104076ea9f2c3474aadb7bebdf9a7fd8
2016-10-27 15:00:51 +09:00
Mike Hommey
b89b671cc8 Bug 1313306 - Don't expose os.path.{exists,isdir,isfile} to python configure without an @imports. r=chmanchester
We want functions without an @imports to not have any side effects, and
to not use external resources. So remove the few functions we expose from
os.path without @imports('os') that do.

--HG--
extra : rebase_source : a9485ec269d4de5785d66d7772eda4fae5a84b4a
2016-10-26 11:49:58 +09:00
Phil Ringnalda
4880541dd8 Backed out changeset 6c105cd2bf71 (bug 1293675) for Windows failures in test_checks_configure.py 2016-10-31 18:46:00 -07:00
Mike Hommey
bd70f6640e Bug 1293675 - Error out when GetShortPathName returns a long path name. r=gps
--HG--
extra : rebase_source : b871d4527cdba54ec1764fe99cef1261bf09d868
2016-11-01 08:06:40 +09:00
Phil Ringnalda
435a27119b Merge m-c to m-i
MozReview-Commit-ID: 8nqgw9Q3gSY
2016-10-25 22:07:07 -07:00
Chris Manchester
f63cec632c Bug 1305145 - Move --enable-tree-freetype to Python configure. r=glandium
This commit also removes the option, as it's only known to work
on Android, where it is the default.

MozReview-Commit-ID: JqdC5Q5dwQH
2016-10-14 11:06:31 -07:00
Chris Manchester
95f73bebb9 Bug 1305145 - Make libs and flags set by pkg_check_modules available to the caller. r=glandium
MozReview-Commit-ID: 7uZheAOXKwE
2016-10-14 11:06:30 -07:00
Chris Manchester
b09b78a7c5 Bug 1298740 - Populate Python environment with variables from mozconfig. r=glandium
MozReview-Commit-ID: KDCoxxh37Um
2016-10-14 11:06:30 -07:00
Mike Hommey
8ddc508e1d Bug 1263876 - Improve python configure handling of toolchain prefix. r=chmanchester
The toolchain checks are now such that we can stop special casing x86-64
<-> x86 cross compiling. OTOH, depending on the target, the toolchain
prefix can be of the form `cpu-os` or `cpu-machine-os`. We were only
using the former, and we change this to allow to try both.
Finally, the toolchain prefix being a gcc thing, it applies on all
target platforms where we try to use gcc.

However, the status quo is kept for the value of TOOLCHAIN_PREFIX
exposed to old-configure and the build system, until the various tools
paths (such as ar, readelf, etc.) are handled in python configure.

--HG--
extra : rebase_source : 1fe2e0708e317f061a03e2b4f058bbd08b5525f1
2016-10-21 07:50:40 +09:00
Mike Hommey
513e313d64 Bug 1311761 - Fixup after bug 1311069. r=chmanchester
--HG--
extra : rebase_source : 3ec168fd8d6cd67583718d3c2c7849e053428f08
2016-10-21 06:15:38 +09:00
Mike Hommey
e5ba3fd67a Bug 1296530 - Replace include_when with include, and remove include_when. r=chmanchester
--HG--
extra : rebase_source : e2efd38b3875dde3dae996405838e9ca20475c32
2016-10-13 17:15:24 +09:00
Mike Hommey
caeb1547de Bug 1296530 - Move more things in the new DependsFunction and add a repr() for it. r=chmanchester
--HG--
extra : rebase_source : 739ff145c9f50438d9b7997ab12a7270d4c1b4e5
2016-10-13 13:28:06 +09:00
Mike Hommey
359529b830 Bug 1296530 - Store DependsFunction information for the sandbox as class instances instead of tuples. r=chmanchester
--HG--
extra : rebase_source : 5b05df452074180669bc9cc16501acfe7be7be50
2016-10-13 13:04:18 +09:00
Mike Hommey
16f5c51446 Bug 1296530 - Rename DependsFunction to SandboxDependsFunction. r=chmanchester
--HG--
extra : rebase_source : 60d2ef6f9d8eda36a9f9e3fb82c017958eab18a3
2016-10-13 12:45:24 +09:00
Makoto Kato
48d2b365a6 Bug 1253809 - Add Android/aarch64 build config. r=glandium
MozReview-Commit-ID: 2WN6GOWb572

--HG--
extra : rebase_source : 956280be205109d1d28f8e33a3348811caa7d215
2016-10-07 19:46:57 +09:00
Sebastian Hengst
cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Carsten "Tomcat" Book
3522f1d38a merge mozilla-inbound to mozilla-central a=merge 2016-10-05 15:42:48 +02:00
Wes Kocher
b4e6b8fba5 Merge m-c to autoland, a=merge 2016-10-04 17:42:48 -07:00
Nathan Froyd
d05eb39d9d Bug 1296737 - make clang-cl compile in c++14 mode; r=glandium
MSVC headers have C++14 features without appropriate guards, so clang-cl
needs to be instructed to default to a C++14-compatible mode by default.
2016-10-04 20:34:04 +00:00
Chris Manchester
90dd38f890 Bug 1300164 - Move VISIBILITY_FLAGS to Python configure. r=glandium
MozReview-Commit-ID: Ku1oUGVdtdm
2016-10-04 11:48:21 -07:00
Mike Hommey
09e520c674 Bug 1307355 - Add an implicit dependency on --enable-compile-environment to pkg_check_modules. r=chmanchester
--HG--
extra : rebase_source : bd16320895f54d42c8207722a4a4c366d1332170
2016-10-04 15:33:37 +09:00
Mike Hommey
a12afd68fa Bug 1297471 - Move --enable-ctypes to js/moz.configure. r=chmanchester
--HG--
rename : build/moz.configure/ffi.configure => js/ffi.configure
extra : rebase_source : 99a3956456fb4c39c1f1ad9b7d0f7aaf2c7529ca
2016-10-04 14:57:00 +09:00
Mike Hommey
bdf0719848 Bug 1306138 - Include project-specific moz.configure at a later time. r=chmanchester
It is unfortunately not possible to include it last (or close to last,
before old.configure), but at least putting it after toolchain related
includes will be helpful.

--HG--
extra : rebase_source : bd027a87bc350c60dc1ba3308e2cc3b10782b506
2016-09-28 15:26:23 +09:00
Makoto Kato
d78efa6ffb Bug 1305677 - Remove requirement of libffi on aarch64 as default. r=chmanchester
To support android/aarch64, I want to remove the requirement of system's libffi.

MozReview-Commit-ID: Lc3POx09Cks

--HG--
extra : rebase_source : 384852e7b9e61d0d7a950159535e3ddc8457e889
2016-09-27 19:16:03 +09:00
Chris Manchester
732cc6b973 Bug 1304522 - Fix the "when" argument to check_header to actually make checks conditional. r=glandium
MozReview-Commit-ID: JlYUFsPRGAV

--HG--
extra : rebase_source : 8cd667969fefb043f9769f35ba1fd12fe209a2b4
2016-09-21 22:02:43 -07:00
Chris Manchester
aa2131cd40 Bug 1302909 - Set STDC_HEADERS everywhere instead of relying on AC_HEADER_STDC. r=glandium
MozReview-Commit-ID: DXvcX1i9vuo
2016-09-15 12:11:11 -07:00
Chris Manchester
6736329d5e Bug 1262155 - Use moz.build instead of libffi's build system. r=ted,glandium
MozReview-Commit-ID: 3wobNk0HDU5
2016-08-08 16:58:54 -07:00
Chris Manchester
07b0b7c518 Bug 1262155 - Add some generic compiler-based conditions to moz.configure. r=ted
MozReview-Commit-ID: FHlbDPp7Hni
2016-09-21 12:04:08 -07:00
Nathan Froyd
05b3912397 Bug 1193452 - don't use -fallback with clang-cl; r=glandium
We no longer need this.
2016-12-21 06:56:48 -05:00
Carsten "Tomcat" Book
c737c8cee6 Merge mozilla-central to autoland 2016-09-13 13:09:21 +02:00
Mike Hommey
935ad653b8 Bug 1299919 - Set CPP/CXXCPP from python configure. r=chmanchester 2016-09-13 13:25:18 +09:00
Akihiko Odaki
3ac9332f73 Bug 1298565 - Do not decode preprocessor output as ASCII r=glandium
MozReview-Commit-ID: BmXVO4KHRR2

--HG--
extra : rebase_source : b39f1289bb45d5b318e370ea54d48450f6cd37d2
2016-08-30 18:47:28 +09:00
Mike Hommey
6070365bf2 Bug 1289946 - Work around preprocessor default defines in get_compiler_info(). r=gps
Some compilers on some platforms by default #define some of the values
we're using in the source we use in get_compiler_info(). Namely,
mingw-gcc #defines WINNT by default, and the WINNT in the source is then
replaced by 1, breaking the check.

The C preprocessor, fortunately, doesn't expand macros inside C strings.
So instead of `%KERNEL WINNT`, we output `%KERNEL "WINNT"`, and strip
out the double quotes. For good measure, we do this for all values in
the source used in get_compiler_info().

--HG--
extra : rebase_source : dd4cc2b8c3bf0cb508b09598706b74ccc12162be
2016-09-08 07:27:56 +09:00
Ralph Giles
ca13da128b Bug 1299864 - Target i585 linux when building rust code. r=glandium
Update linux32 tooltool manifest to use a gecko build of rustc and cargo
for x86_64-unknown-linux-gnu host targeting both x86_64 and i586.

    rustc built with --enable-llvm-static-stdcpp --disable-docs
    --enable-debuginfo --release-channel=stable from 'stable' branch
    rust 1.11.0 (commit 9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3)

Pass --target i585-unknown-linux-gnu when building for 32-bit linux.
We mostly want this for official builds, but Debian needs it too,
in both cases to support old machines without SSE2 instruction set
support, so while it means developers will have to `rustup target add
i585-unknown-linux-gnu` when building for this architecture that is
not a common task (most linux devs will be on 64-bit) and it reduces
variance and surprise if binaries are distributed.

MozReview-Commit-ID: 3mAjWxYGpwZ
2016-09-07 10:40:29 -07:00
Chris Manchester
8577fd7039 Bug 1298536 - Move --with-linux-headers to Python configure. r=glandium
MozReview-Commit-ID: FWovXD9rjed

--HG--
extra : rebase_source : 4a9693b512c51b37abd5cdafcedc21cff8b4434c
2016-08-31 14:29:29 -07:00
Chris Manchester
70af134705 Bug 1298536 - Allow flags passed to try_compile to be a depends function. r=glandium
MozReview-Commit-ID: BH9oJPHei3r

--HG--
extra : rebase_source : bfbb5402401d8602fe54a8869a813ab85422def2
2016-08-31 14:23:20 -07:00
Nathan Froyd
61228089c3 Bug 1299145 - use the proper debuginfo option for clang-cl; r=mshal
clang-cl, oddly, does not accept -g and wants the MSVC-esque -Zi
option instead.

MozReview-Commit-ID: JHecFCdfjbz

--HG--
extra : rebase_source : 1c191e9c17437b2ef97b67960104f7da5427ea25
2016-08-30 10:17:21 -04:00
Mike Hommey
4b2aff3235 Bug 1291356 - Ensure building with --with-servo keeps building with mozjemalloc, whatever the default jemalloc is. r=chmanchester
--HG--
extra : rebase_source : 0eddfe8262dd1f015a38de8e10a2889ef9f3d342
2016-08-26 10:28:04 +09:00
Mike Hommey
9aa5c1b0b4 Bug 1137305 - Move --enable-skia{,-gpu} to python configure and enable skia by default on little-endian platforms. r=chmanchester
--HG--
extra : rebase_source : 4038081460a8c071510a326df8127e9e6d1ae653
2016-08-26 07:55:16 +09:00
Chris Manchester
942b77d16c Bug 1294803 - Move MOZ_SYSTEM_FFI to moz.configure in preparation for moving libffi to our build system. r=glandium
This patch introduces a small change in behavior: we now unconditionally
require libffi > 3.0.9 when using system ffi, rather than accepting 3.0.9
when using GCC, as 3.0.10 was released 5 years ago, and should be widely
available.


MozReview-Commit-ID: DtSDPoZSPcx
2016-08-22 15:07:07 -07:00
Chris Manchester
470a2afbb6 Bug 1294803 - Move BUILD_CTYPES to Python configure. r=glandium
MozReview-Commit-ID: 3TlgdpNDLZW
2016-08-22 12:17:19 -07:00
Mike Hommey
b65bccd9ce Bug 1276003 - Move --enable-necko-protocols to python configure. r=chmanchester
--HG--
extra : rebase_source : 6187c1a382b240e2fa01f38f4c739000d5f177ce
2016-08-18 09:57:06 +09:00
Chris Manchester
76d8f148d9 Backed out changeset c0e6aae0b93d (bug 1294803) for breaking artifact builds.
MozReview-Commit-ID: BTrQMCJSCRn
2016-08-19 11:12:07 -07:00
Chris Manchester
65ba8ff0f6 Backed out changeset 7f6047b2bc09 (bug 1294803) for breaking artifact builds.
MozReview-Commit-ID: FdzqUJnaSQT
2016-08-19 11:12:07 -07:00
Chris Manchester
49a7faf599 Bug 1294864 - Move MOZ_PERMISSIONS to Python configure. r=glandium
MozReview-Commit-ID: AyaWOvm5cq
2016-08-18 13:39:40 -07:00
Chris Manchester
4cdee259e5 Bug 1295784 - Use the argument name for when when passing it to Python configure's pkg_check_modules. r=glandium
MozReview-Commit-ID: GcVEzS3nLql
2016-08-17 15:02:31 -07:00
Chris Manchester
7d9c80e4aa Bug 1295784 - Use when instead of condition as an argument name in Python configure's pkg_check_modules for consistency. r=glandium
MozReview-Commit-ID: 61XglTI0BII
2016-08-17 15:02:31 -07:00
Chris Manchester
872c57fe84 Bug 1294803 - Move BUILD_CTYPES to Python configure. r=glandium
MozReview-Commit-ID: 3TlgdpNDLZW
2016-08-17 15:02:31 -07:00
Chris Manchester
269e8590e8 Bug 1294803 - Move MOZ_SYSTEM_FFI to moz.configure in preparation for moving libffi to our build system. r=glandium
This patch introduces a small change in behavior: we now unconditionally
require libffi > 3.0.9 when using system ffi, rather than accepting 3.0.9
when using GCC, as 3.0.10 was released 5 years ago, and should be widely
available.


MozReview-Commit-ID: DtSDPoZSPcx
2016-08-17 15:02:31 -07:00
Wes Kocher
c84ec3b3f3 Merge m-c to inbound, a=merge 2016-08-16 22:06:58 -07:00
Wes Kocher
48b8d407c8 Merge inbound to central, a=merge
a=release to get around the webidl hook for a comment-only change

--HG--
extra : amend_source : f7e57101e1a25d3cf3536a256898ec2a21c54b38
2016-08-16 17:05:30 -07:00
Wes Kocher
073e095b66 Merge fx-team to central, a=merge CLOSED TREE 2016-08-16 16:37:28 -07:00
Ian Stakenvicius
1f75b211c2 Bug 1282843 - Add ability to specify system paths to @old_configure_options. r=glandium 2016-08-16 09:42:00 -04:00
Gregory Szorc
2562138ede Bug 1291944 - Verify makensis binary is 32-bits; r=glandium
This required implementing a utility function to resolve the binary
type. I used GetBinaryTypeW via ctypes because this seems the fastest.
I arbitrarily limited the function to testing 32-bit and 64-bit Windows
executables because hopefully those are the only executables we'll
ever encounter. We can expand the binary detection later, if needed.
This includes support for running on non-Windows platforms.

MozReview-Commit-ID: CYwyDWQrePc

--HG--
extra : rebase_source : 8fd7ca7f253d9e9e18d64784652a5ff934ad2272
2016-08-15 18:11:48 -07:00
Mike Hommey
ebd899b9d6 Another fixup for bug 1294639 on a CLOSED TREE. a=Kwierso 2016-08-16 08:53:33 +09:00
Mike Hommey
3f3d75fb1f Bug 1294632 - Remove unused old_configure_options. r=chmanchester
--enable-approximate-location and --enable-gps-debug were removed in bug
1278410.
--enable-media-navigator was removed in bug 1259581.
--enable-webapp-runtime was removed in bug 1238079.
2016-08-16 08:32:53 +09:00
Mike Hommey
c6d1e73834 Bug 1294585 - Move --with-*-keyfile options to python configure. r=chmanchester 2016-08-16 08:32:51 +09:00
Mike Hommey
02d1dcdac0 Bug 1294585 - Remove the --with-google-oauth-api-keyfile configure flag. r=mikedeboer 2016-08-16 08:32:49 +09:00
Wes Kocher
e9097643d5 Merge inbound to central, a=merge 2016-08-12 13:44:29 -07:00
Ms2ger
78f1853c94 Bug 1293981 - Move --enable-more-deterministic to moz.configure. r=chmanchester 2016-08-10 13:06:55 +02:00
Ms2ger
dc662f1b94 Bug 1293981 - Move --enable-perf to moz.configure. r=chmanchester 2016-08-10 13:06:49 +02:00
Ms2ger
a7c2d8106c Bug 1293981 - Move --enable-gc-trace to moz.configure. r=chmanchester 2016-08-10 13:06:40 +02:00
Mike Hommey
c504a71a5b Bug 1295480 - Move --enable-webspeechtestbackend to python configure. r=chmanchester 2016-08-17 11:01:56 +09:00
Mike Hommey
ff6286a8e2 Bug 1295480 - Move --disable-webspeech to python configure. r=chmanchester 2016-08-17 11:01:52 +09:00
Mike Hommey
86c8b781d4 Bug 1295480 - Move --enable-dbm to python configure. r=chmanchester 2016-08-17 11:01:44 +09:00
Mike Hommey
195a0eb8e7 Bug 1295480 - Move --enable-ipdl-tests to python configure. r=chmanchester 2016-08-17 11:01:40 +09:00
Mike Hommey
9cbe9243c6 Bug 1295480 - Move --enable-websms-backend to python configure. r=chmanchester 2016-08-17 11:01:35 +09:00
Mike Hommey
6f35afadf9 Bug 1295480 - Move --enable-synth-speechd to python configure. r=chmanchester 2016-08-17 11:01:30 +09:00
Mike Hommey
29f57f3e58 Bug 1295480 - Move --disable-printing to python configure. r=chmanchester 2016-08-17 11:01:24 +09:00
Mike Hommey
05f10c47d3 Bug 1294630 - Move --enable-ipc-fuzzer to python configure. r=chmanchester 2016-08-17 11:01:05 +09:00
Mike Hommey
77ee4f3ce4 Bug 1292463 - Move MOZ_C{,XX}_SUPPORTS_WARNING to python configure. r=chmanchester 2016-08-10 10:50:01 +09:00
Mike Hommey
7a80b4e7ee Bug 1292463 - Rename compilechecks.configure and test_header_checks.py. r=chmanchester
to, respectively, compile-checks.configure and test_compile_checks.py.


--HG--
rename : build/moz.configure/compilechecks.configure => build/moz.configure/compile-checks.configure
2016-08-10 10:49:59 +09:00
Mike Hommey
cc883a2e7a Bug 1292463 - Set MOZ_PGO subst/config from python configure. r=chmanchester 2016-08-10 10:49:58 +09:00
Mike Hommey
306558f1eb Bug 1292463 - Always set --enable-warnings-as-errors for MOZ_AUTOMATION builds. r=chmanchester
And remove it from mozconfigs.
2016-08-10 10:49:56 +09:00
Mike Hommey
4585ac7815 Bug 1292463 - Move --enable-warnings-as-errors to python configure. r=chmanchester 2016-08-10 10:49:54 +09:00
Mike Hommey
74733c57c1 Bug 1292463 - Add MOZ_AUTOMATION to python configure. r=chmanchester 2016-08-10 10:49:52 +09:00
Nathan Froyd
81545d0022 Bug 1290957 - ensure MOZ_AUTOMATION builds require a cargo with --frozen support; r=chmanchester
We want to ensure that our automation builds don't pull in libraries
from crates.io, and we need --frozen support in cargo to do that.  If we
don't have that support, we shouldn't build.
2016-08-09 18:10:19 -04:00
Nathan Froyd
d4a5791899 Bug 1268727 - part 1 - update Rust requirement to 1.10; r=chmanchester
We need Rust 1.10 to support the -C panic=abort flag and the
corresponding bits in cargo.
2016-08-09 18:10:20 -04:00
Mike Hommey
afa6c4d5f3 Bug 1292046 - Add a check that the compiler works with -c out of the box. r=chmanchester
The base compiler check in python configure does some preprocessing,
which ensures the compiler works to some extent. Autoconf used to have
a more complete test, doing a compile/link. We do have plenty of tests
afterwards that do that anyways, but it's better if we fail early if
the toolchain fails somehow.

This refactors try_compile such that the *_compiler variable themselves
can be used to trigger compiler tests. Eventually, we'll want something
similar for preprocessing and possibly other invocations.

This also removes similar tests from build/autoconf/toolchain.m4.

--HG--
extra : rebase_source : c60d1d6e39b6bd2a377516687affd9b8932ebc12
2016-08-04 15:51:47 +09:00
Mike Hommey
6bdf5756ec Bug 1292046 - Add language to the compiler namespace. r=chmanchester
--HG--
extra : rebase_source : c258416a1cec59627e27d4f59e40f1425464f9c5
2016-08-04 16:24:29 +09:00
Nathan Froyd
f7fb6722a6 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Nathan Froyd
8e363d817c Bug 1231764 - part 1 - search for cargo when --enable-rust; r=chmanchester
We've going to use it, the location of it should be configurable.
2016-08-06 00:49:26 -04:00
Mike Hommey
202b56d2fe Bug 1293840 - Determine HAVE_64BIT_BUILD from --target. r=chmanchester
Until now, HAVE_64BIT_BUILD was entirely determined by a compiler check.
But we didn't run the check on e.g. artifact builds, while relying on
its result for some non-compilation related things, leading to subtle
discrepancies.

This changes the configure check to derive HAVE_64BIT_BUILD from bitness
determined by the target CPU, and double checked with a compiler check.

--HG--
extra : rebase_source : 5dc0cf2369ed4457bdd9a15736a70265a771d919
2016-08-10 11:39:16 +09:00
Mike Hommey
a918e97bfa Bug 1293837 - Move HAVE_64BIT_BUILD test to python configure. r=chmanchester
Also, now that we're using modern C++11 compilers, we can just rely on
static_assert, instead of the pile of macros used in the autoconf test.

--HG--
extra : rebase_source : 85d507da653d07e6527a971082277486e3502ea2
2016-08-10 09:00:23 +09:00
Mike Hommey
93ac00658e Bug 1293837 - Change try_compile() to return True when the test passes. r=chmanchester
Currently, it returns either None or the contents of the compiler's stdout,
which is always expected to be an empty string, and is not very useful. So
instead, return True in the latter case.

--HG--
extra : rebase_source : ee69cdeab38d27178ce759591fb394da65e694ac
2016-08-10 10:00:43 +09:00
Mike Hommey
4eba7db364 Bug 1293579 - Use the new dependable function in a few places. r=chmanchester
--HG--
extra : rebase_source : 7062361fdb8e61b43a4044a3a7b1bf04f6ef3143
2016-08-09 15:55:10 +09:00
Mike Hommey
3e4c324c93 Bug 1293579 - Add a dependable function/decorator to avoid some of the depends('--help') weirdness in python configure. r=chmanchester
--HG--
extra : rebase_source : 957ae782df951e899d1142bd583423e6afdb605a
2016-08-09 15:54:20 +09:00
Wes Kocher
9605851be0 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)

--HG--
extra : rebase_source : e71360fa4b5e3e74859c82e74e183e13e6211c4c
2016-08-03 16:27:06 -07:00
Nathan Froyd
6b2618fb44 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00
Nathan Froyd
8aab949aa8 Bug 1231764 - part 1 - search for cargo when --enable-rust; r=chmanchester
We've going to use it, the location of it should be configurable.
2016-08-03 19:40:41 -04:00
Carsten "Tomcat" Book
423bdfd2fd Merge mozilla-central to mozilla-inbound
--HG--
rename : dom/media/platforms/apple/ReorderQueue.h => dom/media/platforms/ReorderQueue.h
2016-08-03 17:08:41 +02:00
Mike Hommey
8fa1cdc6fb Bug 1291140 - Deduce Universal CRT SDK path from INCLUDE and LIB when it's not in WINDOWSSDKDIR. r=chmanchester
--HG--
extra : rebase_source : 9913f5ada944d09269605e0eb6b667005465d906
2016-08-02 15:45:08 +09:00
Jan Beich
be3a9d9f97 Bug 1285503 - Fix DragonFly target spelling after bug 1266368. r=glandium
MozReview-Commit-ID: 48qNqNa8CdP

--HG--
extra : transplant_source : %15%F6%E6z%E3%8F%AD%15%9C%0F%2B%AB%AE%BC%F5%EA%18%FE%86%F7
2016-07-08 06:36:11 +00:00
Mike Hommey
51236564fa Bug 1290040 - Find link.exe from python configure. r=gps
This ensures we have a full path to link.exe from MSVC in LD, avoiding
to use /usr/bin/link on msys2.
2016-08-02 13:20:53 +09:00
Mike Hommey
3ec6a69c49 Bug 1290040 - Use full path for mt.exe. r=gps
Now that check_prog, through find_program, returns paths that the build
system can handle, we don't need MT to just be "mt.exe".

However, we still need the PATH to be altered for the other tools we're
not checking in python configure yet (e.g. midl). We also still need
PATH altered for the compiler itself, because for e.g. the amd_x86
version, a necessary DLL is in the amd directory, which means PATH
always needs to be altered for cl.exe.
2016-08-02 13:20:48 +09:00
Mike Hommey
da40819e21 Bug 1290040 - Make find_program return short paths automatically when paths contain spaces on Windows. r=gps
Also fake enough of ctypes to keep the configure unit tests passing
after these changes.
2016-08-02 13:20:44 +09:00
Mike Hommey
c2df8cd611 Bug 1290026 - Automatically set LIB from configure. r=chmanchester 2016-08-02 13:17:19 +09:00
Mike Hommey
c6b7fab94b Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester 2016-08-02 13:17:17 +09:00
Carsten "Tomcat" Book
8321d9897b Backed out changeset a4a381f85dc8 (bug 1290026) 2016-08-01 09:12:37 +02:00
Carsten "Tomcat" Book
2b84fbf042 Backed out changeset 90559af62774 (bug 1290026) 2016-08-01 09:12:36 +02:00
Carsten "Tomcat" Book
fc8e03f0d8 Merge mozilla-central to autoland 2016-07-30 16:49:41 +02:00
Ralph Giles
bb6518c3f2 Bug 1290522 - Parse rustc --version --verbose in moz.configure. r=glandium
This is hopefully more reliable than parsing just the summary line,
and makes available other keys like the commit-hash which we'd like
to pass to the debug symbol automation.

Note that the commit-hash field will have the value 'unknown' for
builds not made out of upstream git. So the key is available with
official and gecko rust builds, but not for example the current
Debian-packaged rustc.

MozReview-Commit-ID: A2G5UPs2ka2
2016-07-29 10:39:17 -07:00
Mike Hommey
96c8b2dca4 Bug 1290019 - Remove MT version check. r=chmanchester
Before bug 1289294, the impossibility to find the version of MT was only
issuing a warning. Warnings in configure are essentially useless, so
since we weren't and still aren't doing anything with the result of that
check, and since there are versions of MT that don't print out a version
number, just remove the check.

--HG--
extra : rebase_source : 4887cebf0f56ca1a297cd02ff1988809c5cb6fdf
2016-07-28 18:29:49 +09:00
Mike Hommey
a3aa2c0999 Bug 1289679 - Support detecting Windows SDK 10. r=chmanchester, a=me
--HG--
extra : amend_source : 4471fc23f09c297308c044baaf822f2ad4f4cde7
extra : transplant_source : %E6%F3%CE-%94%C5%CA%05%87%02%964%01%05%24J%E7%15%EB%D8
2016-07-27 15:37:54 +09:00
Carsten "Tomcat" Book
7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Mike Hommey
1f9624559e Bug 1289294 - Move MT detection to python configure. r=chmanchester
--HG--
extra : rebase_source : c84ade9a0db9aca2f2e64b8a3424fe14dd19a924
2016-07-26 15:15:08 +09:00
Mike Hommey
8398056155 Bug 1289291 - Move Windows SDK detection to python configure. r=chmanchester
At the same time, autodetect the SDK if WINDOWSSDKDIR is not given.

--HG--
extra : rebase_source : 4ee98e2105b607bab5050127f23354e9b291a246
2016-07-22 19:10:04 +09:00
Mike Hommey
1b9c70450b Bug 1289289 - Move --with-windows-version to python configure. r=chmanchester
Also, don't set the MOZ_WINSDK_TARGETVER define anymore, as it's unused.

--HG--
extra : rebase_source : a6aa1458985d6c158abdc7cd7926b73990f4df2a
2016-07-22 17:08:53 +09:00
Mike Hommey
71f37655bd Bug 1289286 - Automatically find MSVC from the registry if it's not in $PATH. r=gps
--HG--
extra : rebase_source : 88eb4ef57fb27b40032dff92684663c7f4880940
2016-07-22 15:51:34 +09:00
Fabrice Desré
aac808639b Bug 1289691 - Get b2g to build again r=glandium 2016-07-27 01:31:08 -07:00
Mike Hommey
cb0e41dd08 Bug 1288313 - Ensure the host and target compilers build for the right endianness. r=chmanchester
--HG--
extra : rebase_source : d47263faac601a0d1b5a89ac6e9d3d373f0b15a1
2016-07-21 08:24:45 +09:00
Mike Hommey
13244904c4 Bug 1288313 - Ensure the host and target compilers build for the right kernel. r=chmanchester
--HG--
extra : rebase_source : 654ec31f94befe4c966570229d15e9e9288ec82f
2016-04-26 15:38:45 +09:00
Mike Hommey
ae1ab9803b Bug 1288313 - Ensure the host and target compilers build for the right CPU. r=chmanchester
And for GCC and clang, try to see if adding -m32, -m64 or --target
works if they don't.

--HG--
extra : rebase_source : 874bc2404a5ccc48e938bc7d9b2fe67ba625cb3e
2016-04-22 15:08:55 +09:00
Mike Hommey
2578400d7b Bug 1288313 - Explicitly reject unknown CPU types. r=chmanchester
Since bug 1264482, unknown CPU types end up triggering a ValueError
exception because of the CPU EnumString. Even if somehow the CPU is
valid, the endianness is not and would trigger a ValueError exception
as well.

So, instead of letting the exceptions happen, use a nicer failure mode
with an explicit die().

--HG--
extra : rebase_source : 68432496712075c677de4bf71ea5d420fc70c35c
2016-04-26 16:27:46 +09:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Mike Hommey
7721a052bc Fixup for bug 1286204 - Update error message to reflect the change in clang requirement. r=me 2016-07-20 20:58:49 +09:00
Mike Hommey
7df7b057ce Bug 1286204 - Require at least clang 3.6. r=froydnj
--HG--
extra : rebase_source : e49f87d8c7d47c48a23650fbbbbf0dafbccc209d
2016-07-08 16:38:55 +09:00
Mike Hommey
8eff2bec09 Bug 1290026 - Automatically set LIB from configure. r=chmanchester
--HG--
extra : rebase_source : 4ca572685169fdd2fbb0c9ae6aac5361d2669569
2016-07-27 18:01:04 +09:00
Mike Hommey
9bca5c6d3a Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester
--HG--
extra : rebase_source : e96decbc05d41e25a80cd3d1d61a7b36ba91f08b
2016-07-27 17:03:09 +09:00
Mike Hommey
fa43fb4a81 Bug 1287023 - Allow to use delayed_getattr in more cases. r=chmanchester
Until now, it's not been possible to do something as straightforward as:

option('--foo', default=delayed_getattr(milestone, 'is_nightly'))

The reason is that option's default needs what it's given, if it's a
@depends function, to depend on --help.

But we can't have every delayed_getattr add dependencies on --help,
because that would make unwanted things to depend on --help and run
when displaying the help.

Until we can totally remove --help dependencies, this change makes the
resulting @depends function created by delayed_getattr depend on --help
if the @depends function it's given already depends on --help.
2016-07-16 08:34:31 +09:00
Carsten "Tomcat" Book
5784adf50e Merge mozilla-central to autoland 2016-07-08 12:18:14 +02:00
Benjamin Smedberg
bf05496a83 Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
MozReview-Commit-ID: EGqHHhCD7vD

--HG--
extra : rebase_source : a4b9593959dd3ba80189db47eabb056ea207490f
extra : amend_source : a744d833693f0fe7adbea961c00bb5fb55a91580
2016-07-07 12:14:25 -04:00
Mike Hommey
9607db6e29 Bug 1283052 - Remove some of the magic around mozconfig detection. r=gps
The mozconfig detection logic has bitten us on many occasions in the
past. The following changes are made to tentatively improve the
situation:

- The API is modified such that autodetection of the mozconfig has
  to be a conscious decision made by the caller, and not triggered
  any time there is no mozconfig given, which could be a conscious
  decision of the opposite.

- mozinfo.json now stores the actual mozconfig (or lack thereof) used
  during configure.

--HG--
extra : rebase_source : c7a632afd414f25daf7bbe7e1a66c3736c26e039
2016-07-08 08:43:17 +09:00
Gregory Szorc
f21ec324a6 Merge mozilla-central to mozilla-inbound 2016-07-06 18:30:58 -07:00
Gregory Szorc
5030a743a1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 8f5061080a3d56dd484f9be03649fb65f0145f67
2016-07-06 09:01:38 -07:00
Wes Kocher
a425a052c1 Backed out changeset d7f98208809f (bug 1186064) for breaking SM(pkg) jobs a=backout 2016-07-06 10:11:04 -07:00
Gregory Szorc
6e4d0edfbc Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 22ab4f47661ead4995d0c5261104abfb02b82aa2
2016-07-06 09:01:38 -07:00
Nathan Froyd
a3b126cdc2 Bug 1277619 - hide libc++ visibility defines on Android when compiling with clang; r=glandium 2016-07-06 15:30:22 -04:00
Carsten "Tomcat" Book
169daf64c7 Backed out changeset 96b590321c21 (bug 1186064) for bustage 2016-07-01 08:41:24 +02:00
Gregory Szorc
ecce5714c1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 94527a0be3f107991998185903f1c6cf6e190f9f
2016-05-31 09:19:00 -07:00
Ted Mielczarek
82d77574ff bug 1266368 - move rust.m4 to configure. r=glandium
MozReview-Commit-ID: 9ol2nMYM0a0

--HG--
extra : rebase_source : 3f3feeac941791d081e09ebb096a3e052540a52c
2016-05-16 15:27:37 -04:00
Ted Mielczarek
f04fd21cff bug 1280220 - find_program should append an exe extension to absolute paths on Windows. r=glandium
MozReview-Commit-ID: 2gaLnL5x2zR

--HG--
extra : rebase_source : 9f5941bbfa73b75c903a64a9be257d205236778d
2016-06-16 12:05:12 +01:00
Chris Manchester
93ef406a76 Bug 1279369 - Move --enable-debug, MOZ_DEBUG_FLAGS, and --enable-debug-symbols to Python configure. r=glandium
Setting MOZ_DEBUG_SYMBOLS as a define was not moved, as this value is not
checked, and exporting MOZ_DEBUG_SYMBOLS was not moved, as this would only
impact nspr, and we're no longer using the nspr build system.

MozReview-Commit-ID: EvBTunhxcsr
2016-06-20 16:02:01 -07:00
Thomas Zimmermann
5d152949dc Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-16 08:43:51 +01:00
Sebastian Hengst
d41fba2a76 Backed out changeset f6f4144c4dbc (bug 1276927) 2016-06-15 12:23:48 +02:00
Thomas Zimmermann
c63293b2ca Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-15 10:59:49 +01:00
Mike Hommey
17821c9ee3 Bug 1279151 - Version'ize the result of yasm_version. r=chmanchester
Before bug 1269513, yasm_version returned a Version object, and it
doesn't anymore, which made the assignment of _YASM_*_VERSION skipped
silently.

Then, configure would go through the yasm version checks as if they were
false and skipping over the AC_MSG_ERRORs, printing out:
/builds/slave/try-m64-0000000000000000000000/build/src/old-configure: line 19615: test: : integer expression expected

which is why this went undetected: the version checks were simply
ignored.

Some shells, however, evaluated the yasm version checks as true, hitting
the AC_MSG_ERRORs.
2016-06-10 09:57:51 +09:00
Christoph Diehl
053c555889 Bug 777067 - "Fuzzing: IPC Protocol Definition Language (IPDL) Protocols". r=wmccloskey
--HG--
extra : rebase_source : f256b70d6f81f82339e52ab4f6bc2d9b4b751c08
2016-05-30 16:33:00 +02:00
Carsten "Tomcat" Book
24d44c69a3 Backed out changeset f3446f35deed (bug 1277483) for Windows 8 x64 opt Build bustage on a CLOSED TREE 2016-06-07 11:46:51 +02:00
Carsten "Tomcat" Book
13344836e1 Backed out changeset 34de8590421f (bug 1277483) 2016-06-07 11:46:17 +02:00
Carsten "Tomcat" Book
733eeabb87 Backed out changeset 6134b92d1b08 (bug 1277483) 2016-06-07 11:46:16 +02:00
Ms2ger
dcb03a5c62 Bug 1277483 - Another followup to fix bustage. 2016-06-07 11:00:31 +02:00
Ms2ger
c635596d78 Bug 1277483 - Followup to fix bustage. 2016-06-07 10:25:47 +02:00
Ms2ger
38579768d4 Bug 1277483 - Move --enable-strip and --enable-install-strip to moz.configure; r=glandium 2016-06-03 11:11:40 +02:00
Chris Manchester
44e4ff1fb6 Bug 1275721 - Remove --enable-android-resource-constrained. r=mshal
MozReview-Commit-ID: DqL0KCkbj9r

--HG--
extra : rebase_source : 18ed93ef68ecdfbd85fb4c13c39283932c38290c
2016-05-26 11:13:58 -07:00
Chris Manchester
198331aa58 Bug 1272530 - Move --disable-tests to Python configure. r=glandium
MozReview-Commit-ID: 5NOMzTInZ1Z
2016-05-24 16:02:54 -07:00
Chris Manchester
0676d58107 Bug 1272535 - Move MOZ_UPDATE_CHANNEL to Python configure. r=glandium
MozReview-Commit-ID: 2NuZZX1hoEP
2016-05-17 14:40:03 -07:00
Chris Manchester
3456d9c06d Bug 1269513 - Move --with-system-hunspell to Python configure. r=glandium
MozReview-Commit-ID: ERnnsr1hnpu
2016-05-17 14:40:03 -07:00
Chris Manchester
3eb90d9dd1 Bug 1269513 - Implement PKG_CHECK_MODULES equivalent in Python configure. r=glandium
MozReview-Commit-ID: mhFMEG0UXz
2016-05-17 14:40:03 -07:00
Chris Manchester
2a763b7273 Bug 1269513 - Add a helper for check_output in Python configure. r=glandium
MozReview-Commit-ID: H3IX5HLyJeu
2016-05-17 14:40:03 -07:00
Chris Manchester
5225069baf Bug 1269513 - Add a template to execute a depends function only when a given value is present. r=glandium
MozReview-Commit-ID: H99fVOqlh8d
2016-05-17 14:40:03 -07:00
Chris Manchester
b7387e8701 Bug 1287924 - Add a template for conditionally including moz.configure files. r=glandium
MozReview-Commit-ID: FyT7jLmTxvP
2016-07-26 15:27:19 -07:00
Chris Manchester
84564f1ce1 Bug 1269517 - Move various header checks to Python configure. r=glandium
MozReview-Commit-ID: CLn3PQUh4gG
2016-07-26 15:27:19 -07:00
Chris Manchester
726b97efc8 Bug 1269517 - Implement check_header in Python configure. r=glandium
MozReview-Commit-ID: 1AypZg3f79a
2016-07-26 15:27:19 -07:00
Chris Manchester
55afa58b7a Bug 1269517 - Move android_platform to python configure. r=glandium
MozReview-Commit-ID: 30bVQUc8hGb
2016-07-26 15:27:19 -07:00
Chris Manchester
414823b805 Bug 1269517 - Implement try_compile for Python configure. r=glandium
MozReview-Commit-ID: AE7uRVneGXJ
2016-07-26 15:27:19 -07:00
Chris Manchester
8a818960e0 Bug 1269517 - Factor Python configure's try_preprocess into an invocation of a lower-level function. r=glandium
MozReview-Commit-ID: LQ1dqs9ChyZ
2016-07-26 15:27:19 -07:00
Mike Shal
dbfbbfe42c Bug 1272483 - Remove MOZ_UPDATE_PACKAGING and --enable-update-packaging; r=chmanchester
MozReview-Commit-ID: A3SDJCc5eHH

--HG--
extra : rebase_source : af8d081c349b27ac0e2567b0f5863fbbeb7f98ce
2016-05-12 12:15:58 -04:00
Chris Manchester
4f42fe999c Bug 1257326 - Replace the env_flag configure template with a template that does not permit setting values directly from the environment or a mozconfig. r=glandium
For most cases, this replaces a value that was set in a way that would ignore
an environment variable, so this restores behavior for values that were
set in confvars.sh.

MozReview-Commit-ID: E31hm8uKq4D
2016-05-12 11:55:58 -07:00