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

370 Коммитов

Автор SHA1 Сообщение Дата
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