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

5307 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd a780e0f5a1 Bug 1541068 - add Rust compilation directories to GARBAGE_DIRS; r=nalexander
We add to `GARBAGE_DIRS` in the toplevel `Makefile.in` because all of
our Rust libraries share a single `CARGO_TARGET_DIR`, located in
topobjdir.

We add to `GARBAGE_DIRS` for Rust programs because Rust programs
currently do not share compilation artifacts with Rust libraries (as our
libraries are built with `panic=abort` and our programs are not, sharing
compilation artifacts between the two is a non-starter).

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

--HG--
extra : moz-landing-system : lando
2019-04-09 18:59:19 +00:00
Henri Sivonen 1240f02f32 Bug 1536575 - Stack size on aarch64 Windows should match stack size on x86_64 Windows. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26272

--HG--
extra : moz-landing-system : lando
2019-04-09 08:15:24 +00:00
Petr Sumbera eb6f9e60ac Bug 1540079 - Firefox NSPR build on Solaris SPARC need to include os_SunOS_sparcv9.s r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26131

--HG--
extra : moz-landing-system : lando
2019-04-05 06:43:52 +00:00
André Bargull 16d9e7dfcd Bug 1533481 - Part 5: Update in-tree ICU to release 64.1. r=jwalden!
--HG--
extra : rebase_source : 9dfdf09968fb65ba1288b5d79d8dd238c270e34f
2019-03-28 07:29:13 -07:00
André Bargull a6b52311ad Bug 1533481 - Part 4: Prepare update to ICU 64. r=jwalden!
Summary:

- ICU no longer supports removing resource files manually, instead the new data
  filter builder needs to be used.
- This includes test data, which also must be preserved in ICU 64.
- umutex.h contains an implicit call to `new` in ICU64 which needs to be allowed
  in check_vanilla_allocations.py.
- Drive-by: Make ICU with multiple jobs for faster rebuilds.

Reviewers: jwalden

Reviewed By: jwalden

Bug #: 1533481

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

--HG--
extra : rebase_source : 9fde775ee9b189c84a29f69f11ebd955f0030b38
2019-04-04 11:52:54 +03:00
Jed Davis 65bfb7a861 Bug 1516325. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D22638

--HG--
extra : moz-landing-system : lando
2019-03-23 10:25:18 +00:00
Noemi Erli cfaf79673c Backed out changeset e5117d2f9311 (bug 1533051) for Android xpcshell failures CLOSED TREE 2019-03-28 01:33:00 +02:00
Nick Alexander 3dce09e76f Bug 1533051 - Package GeckoView prefs at architecture-specific paths for Android fat AAR/GeckoView multi-architecture builds. r=glandium
Bug 1533425 makes Gecko try to load from $ARCH/greprefs.js, etc on
Android.  This patch teaches the packager to put preferences into
those architecture-specific locations for that code to find.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 17:35:26 +00:00
André Bargull cc456464eb Bug 1527879: Explicitly set ICU's data directory to stop ICU from trying to load individual files on Windows. r=jwalden
And change the shell to use JS_InitWithFailureDiagnostic instead of plain
JS_Init, so any ICU data loading errors will be printed to stderr instead of
simply exiting the application.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 23:32:40 +00:00
Mike Hommey 49a0cbadc9 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:05:18 +00:00
Mike Hommey 46318ccb91 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:06:11 +00:00
Noemi Erli 81350b76e9 Backed out 2 changesets (bug 1524396) for mass build bustages CLOSED TREE
Backed out changeset 3a444460cb6c (bug 1524396)
Backed out changeset 0480bca0d680 (bug 1524396)
2019-03-22 06:23:04 +02:00
Mike Hommey d58c9a5f85 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:40:41 +00:00
Mike Hommey 27044ed480 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:40:23 +00:00
ffxbld 6008843d84 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-03-18 11:01:13 +00:00
Mike Hommey e8b6f15845 Bug 1529194 - Allow to opt-in to widevine on aarch64 Windows. r=firefox-build-system-reviewers,chmanchester
This uses artifacts from a win32 build to get the necessary DLLs.

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

--HG--
extra : moz-landing-system : lando
2019-03-05 08:41:04 +00:00
Dorel Luca 4b0b9944c9 Backed out 2 changesets (bug 1516325) for xpcshell failures in netwerk/test/unit/test_udpsocket.js. CLOSED TREE
Backed out changeset 7f9508dc59e1 (bug 1516325)
Backed out changeset 28eb88277ffc (bug 1516325)
2019-03-06 20:51:39 +02:00
Jed Davis 07a3a4354d Bug 1516325 - Use poll() in NSPR on MacOS. r=glandium
This is being changed in Firefox's build config rather than NSPR's
to avoid possibly introducing regressions into other NSPR users due
to bugs in MacOS's poll, such as the POLLPRI issue addressed in the
previous patch.  (There is also a known bug when calling poll() with
zero descriptors, but PR_Poll already has code to call PR_Sleep instead
in that case.)

Depends on D21321

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

--HG--
extra : moz-landing-system : lando
2019-02-27 15:12:21 +00:00
Mike Hommey fa7300a70b Bug 1531680 - Don't disable LTO on standalone profile-generate builds. r=chmanchester
On one-go MOZ_PGO builds, it's generally not wanted to do LTO during the
profile-generate phase. And the build system doesn't really support
different build options between both phases in this case, so we relied
on MOZ_PROFILE_GENERATE to disable the LTO flags.

However, in standalone profile-generate builds, if --enable-lto is
passed explicitly, the build should respect that choice.

So instead of checking MOZ_PROFILE_GENERATE to disable the LTO flags,
we disable them when MOZ_LTO is not set, and we force it to be disabled
during the profile-generate phase of one-go MOZ_PGO builds.

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

--HG--
extra : moz-landing-system : lando
2019-03-05 22:09:46 +00:00
Robert Helmer 228ecafc9c Bug 1523312 - build msgpack separately from libprio r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D21076

--HG--
extra : moz-landing-system : lando
2019-02-27 18:58:37 +00:00
David Major c402a2d8be Bug 1530483 - Use UNIFIED_SOURCES in NSPR's moz.build r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D21060

--HG--
extra : moz-landing-system : lando
2019-02-26 07:05:23 +00:00
Ted Mielczarek 0539de896a bug 1481614 - detect icecream usage in build telemetry. r=chmanchester,glandium
This patch adds detection for when icecream is in use to build telemetry.
icecream is commonly enabled in two ways: by either setting CC/CXX to point
to icecream's cc/c++ symlinks, or by setting adding
mk_add_options 'export CCACHE_PREFIX=icecc' to a mozconfig when also using
ccache. For the former, this patch adds a simple configure check to see
if CXX is a symlink to a file named 'icecc'. For the latter this patch adds
CCACHE_PREFIX as a configure subst to capture the value.

We don't currently have a facility for writing telemetry tests that depend on
configure values. Local manual testing shows that it does work as expected.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 19:06:27 +00:00
Jeff Gilbert eac3025b28 Bug 1349064 - Add <regex> to config/std-headers. r=froydnj 2019-02-21 11:23:58 -08:00
Jeff Gilbert cd538febf3 Bug 1349064 - Sort std-headers. r=froydnj 2019-02-21 11:23:57 -08:00
Mike Hommey edeae90ee0 Bug 1529139 - Add proper dependencies for win{32,64}.asm. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D20587

--HG--
extra : moz-landing-system : lando
2019-02-21 00:11:04 +00:00
Matthew Gaudet 367d45c49a Bug 1528028 - Remove obsolete Shark profiling support r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D20323

--HG--
extra : moz-landing-system : lando
2019-02-19 19:56:48 +00:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Andy Wingo 585800608e Bug 1522436 - Enable BigInt compilation by default r=jandem,terpri,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D17487

--HG--
extra : moz-landing-system : lando
2019-02-06 13:41:56 +00:00
Mike Hommey 76882a03f3 Bug 1512541 - Don't force-include mozilla-config.h in rust-built C/C++ code. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D18653

--HG--
extra : moz-landing-system : lando
2019-02-06 21:02:20 +00:00
Mike Hommey bdaa5d90e4 Bug 1522609 - Pass compilers and flags down to cargo on sanitizer/fuzzying/ccov builds. r=ted
Depends on D18280

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

--HG--
extra : moz-landing-system : lando
2019-02-06 03:05:52 +00:00
Mike Hommey 401ecc4521 Bug 1522609 - Pass HOST_CC/HOST_CXX/HOST_CFLAGS/HOST_CXXFLAGS down to cargo. r=ted
While this isn't related to the bug, since we're going to touch the
cargo compiler flags, we might as well do this too.

It wasn't previously reliable to pass those flags down because what
cargo uses as target for build scripts and procedural macros is
determined by the rust host, which was not necessarily the same as the
build system host. But as of bug 1523143, they are always the same.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 23:23:13 +00:00
Mike Hommey 30cc95d370 Bug 1522614 - Pass CC/CXX/CFLAGS/CXXFLAGS/AR down to cargo on Windows. r=froydnj
Now that Make invokes cargo without going through an msys shell,
environment variables are going to be preserved properly, and we can now
"safely" pass the compiler-related variables down to cargo on Windows.

This makes rust target builds use the expected compiler and flags,
instead of the cc-rs crate guessing, picking cl.exe, and using the wrong
one, with the build later failing when linking it all together because
one of the objects is not for the right target.

Interestingly, the lmdb code is today built for the wrong target on
aarch64, but somehow, it doesn't break the build on automation,
presumably because the lmdb code is actually dead code, and the linker
eliminates the object as unused, masking the problem.

Depends on D18186

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

--HG--
extra : moz-landing-system : lando
2019-02-05 21:43:28 +00:00
Mike Hommey 32cb1d63a2 Bug 1522614 - Replace double quotes with single quotes. r=froydnj
Double quotes on a command line forces Make to use a msys shell when
invoking the command. Single quotes don't have this effect. This is the
last bit that prevented Make from invoking cargo directly on Windows.

Depends on D18184

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

--HG--
extra : moz-landing-system : lando
2019-02-05 21:39:00 +00:00
Mike Hommey af821199b6 Bug 1522614 - Move remaining cargo environment variable settings to recipes. r=froydnj
These require some awkward setup to keep things working on
non-cross-compiles on non-Windows, but we'll change that shortly in a
later bug.

Depends on D18183

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

--HG--
extra : moz-landing-system : lando
2019-02-05 21:38:55 +00:00
Mike Hommey 604a536a37 Bug 1522614 - Move RUSTFLAGS to per-recipe environment variables. r=froydnj
Depends on D18182

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

--HG--
extra : moz-landing-system : lando
2019-02-05 21:42:58 +00:00
Mike Hommey 34a96a7a13 Bug 1522614 - Move check from bug 1376621 to the RUST_LIBRARY_FILE recipe. r=froydnj
This is a drive-by change, allowing to keep the
force-cargo-library-build recipe more like the others.

Depends on D18181

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

--HG--
extra : moz-landing-system : lando
2019-02-05 21:41:31 +00:00
Mike Hommey fe99ca1c78 Bug 1522614 - Move most environment variables we pass to cargo to make exports. r=froydnj
The `env` program, on windows, comes from msys, so invoking `env cargo`
guarantees an msys roundtrip, which usually breaks environment variable
in interesting ways.

This moves most of the environment variables we set with `env` (the
easiest ones) to exporting the same values from make itself.

Depends on D18180

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

--HG--
extra : moz-landing-system : lando
2019-02-05 21:40:13 +00:00
Mike Hommey f23ed044ba Bug 1522614 - Move rust related rules/setup to a separate makefile. r=froydnj
Because we're going to change how cargo recipes are called to export
environment variables rather than by wrapping the call with `env`, to
avoid msys roundtrips, it's better to avoid the complexity when not
building rust, and including a separate file only when required helps
with that. It is also possible to wrap the entire rust section of
rules.mk in the same condition we use for the include, but using a
separate file also makes things clearer.

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

--HG--
rename : config/rules.mk => config/makefiles/rust.mk
extra : moz-landing-system : lando
2019-02-05 21:38:42 +00:00
Ted Mielczarek 8a4288a193 bug 1506848 - switch Windows debug flags from -Zi to -Z7. r=nalexander
We default to -Zi for Windows debug flags, which is for generating debug info
into a PDB file, but clang-cl doesn't actually implement that so -Zi is
an alias for -Z7 in clang-cl:
http://clang.llvm.org/docs/UsersManual.html#id9

sccache has special handling for -Zi because multiple compiles writing
to the same PDB file is not cacheable, so we've always overridden -Zi with -Z7
in CI when using sccache.

Given that everyone should be using clang-cl nowadays and MSVC will no longer
be supported soon, this patch changes the default and removes some PDB
file name flag setting from rules.mk, as well as the no-longer-necessary
overrides from mozconfig.cache.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 11:12:06 +00:00
Christian Holler df998e7c06 Bug 1522066 - Disable unused ICU code during build. r=froydnj,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D17341

--HG--
extra : moz-landing-system : lando
2019-01-31 12:22:10 +00:00
Mike Hommey bf0e86a9dc Bug 1523540 - Remove WIN64_LIB and WIN64_LINK. r=ted
Now that everything is lined up nicely, we don't need those anymore.

We can fill cargo-linker.bat with HOST_LINKER and HOST_LINKER_LIBPATHS,
which, unfortunately, can't be used as is, so we add a variant for
substitution in .bat files.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:46:39 +00:00
shindli d5c5369355 Merge inbound to mozilla-central. a=merge 2019-01-29 23:37:33 +02:00
Tom Ritter 0a85461461 Bug 1376621 - Search for networking symbols in rust code and fail if they are found. r=glandium
--HG--
extra : amend_source : dfe442d1be95c5f37c959b38c12701d8d14432c1
2019-01-25 12:19:41 -06:00
Mike Hommey 2b3de8f0dc Bug 1523203 - Don't override HOST_LINKER with cargo-linker.bat. r=froydnj
This was added back in bug 1414287, as a sort of quick hack, but since
then, bug 1515528 fixed things such that the hack is not necessary
anymore, and bug 1523201 allows for things to work on automation
(HOST_LINKER ended up being wrong because of the lack of "proper" VC
configuration on automation)

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

--HG--
extra : moz-landing-system : lando
2019-01-28 23:13:40 +00:00
Razvan Maries 969c788da4 Merge autoland to mozilla-central a=merge 2019-01-28 23:43:47 +02:00
ffxbld b3800063cd Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-01-28 04:57:22 -08:00
Andy Wingo 30503c1b25 Bug 1522431 - Implement IC support for BigInt r=jandem,terpri
Differential Revision: https://phabricator.services.mozilla.com/D17483

--HG--
extra : moz-landing-system : lando
2019-01-28 00:21:41 +00:00
Mike Hommey 03a6fa8570 Bug 1521691 - Remove _MSC_VER from configure. r=chmanchester
The only use in configure itself is for a MSVC version check that is now
always true (we don't accept versions < 19.15 anymore).

The only uses in the build system are in code that could just use
CC_TYPE instead.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 00:35:10 +00:00
Cosmin Sabou 7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Chris Manchester 63da49dd4f Bug 1520516 - Set verbose logging for cargo when -v is passed to |./mach build|. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16907

--HG--
extra : moz-landing-system : lando
2019-01-18 19:03:24 +00:00