Commit Graph

4819 Commits

Author SHA1 Message Date
Ryan VanderMeulen
9b7a73b65a Merge m-c to autoland. a=merge
UPGRADE_NSPR_RELEASE UPGRADE_NSS_RELEASE

--HG--
extra : amend_source : a59e53ba2f8db608f613f21ad6da2b5be8814aa4
2017-06-07 22:55:56 -04:00
Marco Castelluccio
adc55303d4 Bug 1322803 - Allow setting additional rustflags via mozconfig. r=ted
--HG--
extra : rebase_source : 996d0e0f9ac85c10ad7b188585e823da74407384
2017-06-06 01:05:10 +01:00
Petr Sumbera
65cd55b48b Bug 1354576 - Allow to build NSPR on Solaris again. r=ted 2017-05-30 01:36:00 -07:00
Makoto Kato
9aa2fd8eed Bug 1364023 - Remove LOCALE_SNAME define for ICU build. r=glandium
Since we set WINVER=601 after dropping Windows XP support, it is unnecessary to define LOCALE_SNAME.  So, we should remove it to remove compiler warning.

MozReview-Commit-ID: EawbHAznXNA

--HG--
extra : histedit_source : d3157300315052048756c22ac2c999523d28679d
2017-06-05 14:13:16 +09:00
Petr Sumbera
1528ff18ca Bug 1369061 - Add Solaris atomic.h to system-headers. r=glandium
--HG--
extra : rebase_source : 688bb5e4532a83fad0d27067e8146c5839fc7d25
2017-05-31 07:39:41 -07:00
Masatoshi Kimura
755eb30580 Bug 1370511 - Suppress more warnings from MSVC when compiling ICU. r=ted.mielczarek
MozReview-Commit-ID: 6N48ksCMnyn

--HG--
extra : rebase_source : 02130293e25495f8bed3c00e580ae50d9ae548fc
2017-06-06 21:06:42 +09:00
Andreas Tolfsen
e2e6d226e5 Bug 1368264 - Fix missing RUST_PROGRAMS entry in if-condition r=froydnj
Final target Rust programs are currently not picked up and
symlinked/copied to ${objdir}/dist/bin because the RUST_PROGRAMS output
variable is missing from the if-condition.

This change causes Rust binaries from RUST_PROGRAMS to be placed alongside
the other final target programs.

MozReview-Commit-ID: 5OIH1UMmCq2

--HG--
extra : rebase_source : cfcff21e9371b920c895ad27df344008962d7471
2017-06-01 20:08:27 +01:00
Nathan Froyd
0fe161627a Bug 1368177 - quote {LIB,}CLANG_PATH for cargo; r=rillian
These paths can contain spaces, particularly if they point into
${HOME}/.mozbuild on Windows.  If people are bold enough to use the
Windows packages from llvm.org, the LLVM packages are installed by
default into C:\Program Files\LLVM, so paths from there would contain
spaces as well.
2017-05-28 17:13:30 -04:00
Ralph Giles
40e81c774e Bug 1365993 - Don't pass mac frameworks to cargo linker. r=froydnj
Procedural macros for rust are compiled as dynamic libraries.
The compiler subsequently loads those libraries at runtime
when it compiles crates which make use of them.

We pass the generic LDFLAGS to our linker wrapper which ensures
cargo links static libraries with the correct flags. However
this also means that any final system dependency libraries
end up linked into the procedural macro dynamic libraries
whether they use them or not.

When building on macOS 10.7, this causes a SIGTRAP when dlopen
calls CFInitialize for system libraries like Cocoa off the main
thread. We believe this is a macOS bug, reported fixed in macOS 10.9.
https://openradar.appspot.com/7209349

Work around the issue by stripping those libraries and Frameworks
from the linker flags we pass to cargo. We could do a more careful
job of parsing and removing all -framework and -lfoo arguments
inside the linker script, but since this is a temporary issue
while we're using older build machines, I thought just stripping
them once in the build system was simpler.

MozReview-Commit-ID: CGXD8ARvojj

--HG--
extra : rebase_source : 33f28e8fbafb43dbdd257d9162a6e792fca79e51
2017-05-25 14:49:32 -07:00
Ryan VanderMeulen
22d214ae4b Merge autoland to m-c. a=merge 2017-05-23 10:32:42 -04:00
Bruce Sun
30306bfc32 Bug 1358023: (2/2) Build freetype2 by using moz.build; r=glandium 2017-05-22 12:02:14 +08:00
Gregory Szorc
2b1957d1e5 Bug 1361172 - Rewrite code for finding files in VCS checkout; r=glandium
We're getting an intermittent failure running `hg manifest` in CI. I
have no clue why.

What I do know is that we now have the mozversioncontrol Python package
for containing utility code for interacting with version control. It is
slightly more robust and I'm willing to support it more than I am
check_utils.py.

This commit adds a new API to our abstract repository class to obtain the
files in the working directory by querying version control.

Since I suspect cwd was coming into play in automation, I've also
added a utility function to mozversioncontrol to attempt to find
a version control checkout from the current working directory. It
simply traces ancestor paths looking for a .hg or .git directory.

Finally, I've ported all callers of the now-deleted API to the new
one. The old code had some "../.." paths in it, meaning it only
worked when cwd was just right. Since we resolve the absolute path
to the checkout and store it on the repo object, I've updated the
code so it should work no matter what cwd is as long as a repo can
be found. I'm not 100% confident I found all consumers assuming cwd.
But it's a start.

I'm not 100% confident this will fix the intermittent issues in CI. But
at least we should get a better error message and at least we'll be
running less hacky code.

MozReview-Commit-ID: AmCraHXcTEX

--HG--
extra : rebase_source : 815ae369776577ad374333920fd645d412a55148
2017-05-18 16:06:49 -07:00
Xidorn Quan
fed3d8d65c Bug 1336540 - Move config info from build_gecko.rs to a toml file in gecko. r=emilio
MozReview-Commit-ID: 9w9UX38YMUt

--HG--
extra : source : 36bcb2c10614c9b9f597f13d302953f9af14f928
extra : amend_source : 8ac25556385e64fe8fae425ccc9bfdc1cbcc49ef
2017-05-19 12:51:48 +10:00
Wes Kocher
090e554ce2 Backed out 2 changesets (bug 1336540) for build bustage a=backout
Backed out changeset 1bef3928a127 (bug 1336540)
Backed out changeset 42feca9f0e17 (bug 1336540)

MozReview-Commit-ID: 8NH4gZcDy6E
2017-05-18 18:11:12 -07:00
Xidorn Quan
029693f013 Bug 1336540 part 1 - Move config info from build_gecko.rs to a toml file in gecko. r=emilio
MozReview-Commit-ID: 9w9UX38YMUt

--HG--
extra : rebase_source : 36bcb2c10614c9b9f597f13d302953f9af14f928
2017-05-19 10:25:36 +10:00
Iris Hsiao
0bbdca7c50 Merge mozilla-central to autoland
--HG--
rename : memory/mozjemalloc/jemalloc.c => memory/mozjemalloc/mozjemalloc.cpp
2017-05-18 14:15:19 +08:00
Nathan Froyd
4d16361faf Bug 1365668 - turn off select warnings for ICU; r=ted.mielczarek
We don't really care about these warnings, and they're just cluttering
the build.
2017-05-17 14:50:08 -04:00
Jon Coppeard
e26d8d5744 Bug 1361458 - Generate the phase tree for GC statistics recording ahead of time r=sfink 2017-05-17 10:37:18 +01:00
Sebastian Hengst
0c5a87d59f Backed out changeset 36f2908f6650 (bug 1361458) for crashing [@ js::GCMarker::drainMarkStack], e.g. in devtools' devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemaps.js. r=backout 2017-05-17 12:53:58 +02:00
Jon Coppeard
03c00562c3 Bug 1361458 - Generate the phase tree for GC statistics recording ahead of time r=sfink 2017-05-17 10:37:18 +01:00
Makoto Kato
456d320877 Bug 1364840 - Part 1. Add sys/auxv.h to system-headers. r=glandium
gfx/skia/skia/src/core/SkCpu.cpp might use sys/auxv.h to detect CPU feature.  So we should add it to system-headers

MozReview-Commit-ID: SijyUYvLgn

--HG--
extra : rebase_source : 0b509c2f5b4f3272578ae511e9c69cf6b0999c42
2017-05-15 18:30:49 +09:00
Ralph Giles
f56cb16c14 Bug 1336153 - Remove MOZ_RUST. r=ted
We now have code that unconditionally requires the rust
compiler and are committed to adding more. Remove this
last vestige of conditional support.

MozReview-Commit-ID: EK6FBnAbR

--HG--
extra : rebase_source : 6efda10a74f9ca0482304c2b1ffe6941e42138f8
2017-05-09 11:36:13 -07:00
Lee Salzman
20ac00c192 Bug 1350262 - implement prime rehash policy compat for unordered_map and unordered_set in libstdc++. r=glandium
MozReview-Commit-ID: 1zlGjRMKcBM
2017-05-09 22:15:18 -04:00
Iris Hsiao
0b748916e8 merge mozilla-inbound to mozilla-central a=merge 2017-05-08 11:11:20 +08:00
Nathan Froyd
60baca157f Bug 1362516 - disable custom Cargo linker for TSan builds; r=rillian,f=bwc
For all the same reasons as why we disable the linker for ASan builds.
2017-05-05 16:53:37 -04:00
Ralph Giles
67df295692 Bug 1314147 - Add --enable-av1 configure switch. r=froydnj
Build system switch for optional inclusion of libaom
for support of the Alliance for Open Media AV1 video
codec.

MozReview-Commit-ID: 2C4o1ogRS9v

--HG--
extra : rebase_source : d4a68f1fc4654895f62a905666f0b75726e20e7f
2017-04-18 09:08:18 -07:00
Nick Alexander
744e5386aa Bug 1361418 - Remove Java Addons from Firefox for Android. r=sebastian
The Java Addons mechanism never got traction and is not Web Extensions
compatible.  Removing it simplifies the product and the build system.

MozReview-Commit-ID: ABUxkqqMISa

--HG--
extra : rebase_source : 346f88882774f072316714cf637a54d771d81a9a
2017-05-02 11:49:16 -07:00
Gregory Szorc
3712aeca37 Bug 1304508 - Remove makefile mkdir testing; r=ted
Several years ago, joey starting writing a handful of unit tests for
primitives in our make files. IIRC a lot of the impetus behind this
work was to flush out bugs between GNU make and pymake.

AFAICT the only survivor of these tests today is check_mkdir.py. The
test is a one-off and has been a bit fragile over the years,
contributing technical debt along the way. And as part of removing the
last references to pymake in automation, it is once again showing
itself and failing in a way that has to do with the way the test
is written and not an issue with the code it is testing. Enough is
enough. This commit removes the test and eliminates the technical
debt. I don't think it will be missed.

MozReview-Commit-ID: 3OzurtFbcyD

--HG--
extra : rebase_source : 6d3cf6121c90e9c47948862b8c4117bb1d3e5afd
2017-04-26 13:27:37 -07:00
Nathan Froyd
d3325ce1a2 Bug 1329737 - part 3 - use an alternate linker for Cargo invocations; r=rillian
For linking static libraries, rustc will use whatever `cc` it finds (or
the equivalent on Windows).  For our purposes, however, `cc` is not what
we use to link and we may have additional options we would like to pass
to the linker.

To do this, we need to tell Cargo about our alternate linker (currently
only used for target compilations, on the theory that the host compiler
rustc finds is probably good enough) and we also need to pass our linker
options into the process.  We do this with environment variables, which
is not a great solution, but works surprisingly well.

This alternate linker is disabled for ASan builds due to peculiar
crashes when running Rust build scripts and for Windows, because we
don't do any interesting cross-compiling there.
2017-04-28 14:06:41 -04:00
Nathan Froyd
67c11f7395 Bug 1329737 - part 2 - turn CARGO_BUILD into a callable function; r=rillian
This change paves the way for injecting target- or host-specific
environment variables for a particular `cargo build` invocation.  Doing
this is not strictly necessary: all of our current `cargo build`
invocations use mostly target-specific environment
variables (e.g. PKG_CONFIG_ALLOW_CROSS).  But separating things out
makes the code notationally cleaner and also avoids weirdness when
target==host.
2017-04-28 14:06:42 -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
Mike Shal
bdcfea4abc Bug 1359852 - Use REPORT_BUILD for .xpt files; r=chmanchester
By using $(REPORT_BUILD) instead of just echoing the filename, there is
no change during a regular build without REBUILD_CHECK, but specifying
REBUILD_CHECK in the environment will show which files triggered an .xpt
to rebuild. This is helpful in debugging why these files may be built
unnecessarily.

MozReview-Commit-ID: GGNaKAl02Ea

--HG--
extra : rebase_source : 098a81265deed9afc0b284d9863f18ebd74fda33
2017-04-18 09:27:36 -04:00
Robert O'Callahan
5bfc8d6e8f Bug 279212 - More robust argument detection for ELOG; r=bryner
--HG--
extra : rebase_source : 05a6ef097ceec287091dbce09da551cf0093599d
extra : amend_source : b0cc0b867e8f16bce13f0b41df40bfa48a5ef174
2005-01-21 03:56:31 +00:00
Kartikaya Gupta
0993695398 Bug 1355464 - Only clean out the environment variables that are affected by 32- vs 64-bit builds. r=ted
Instead of using the -i flag to clean out the entire set of environment
variables, we explicitly just clear out the variables that are affected by
32- vs 64-bit builds in vcvars.bat. This still allows cargo to use it's
internal autodetection to do host/target builds as it wants when cross-compiling,
but also allows other things that rely on include directories and so on to
work properly.

MozReview-Commit-ID: 99SECKv1zQa

--HG--
extra : rebase_source : 2c2a7d79201b66ac3262afcc5f060936ca2e8fa2
2017-04-11 13:35:40 -04:00
Nathan Froyd
15f364135a Bug 1358597 - always make Cargo verbose in automation; r=ted.mielczarek
This change brings Cargo closer to what our C/C++ build already does,
and some forms of Cargo failure are only diagnosed when you pass
`--verbose`, so let's eliminate that extra step for people.
2017-04-21 22:25:59 -04:00
Dragana Damjanovic
ecca1ff420 Bug 1310197 - Implement fast open nspr part. r=mcmanus,bagder 2017-04-20 14:11:26 +08:00
Mike Hommey
305ba77f06 Bug 1355671 - Add optimization flags to HOST_CXXFLAGS similarly to HOST_CFLAGS. r=gps
--HG--
extra : rebase_source : a8a0bef056cc7af6325c16b138134bcac561b97a
2017-04-07 17:03:21 +09:00
Sebastian Hengst
65b0030bdb Backed out changeset af627820b970 (bug 1355671) 2017-04-19 00:02:56 +02:00
Mike Hommey
6a7ad030a1 Bug 1355671 - Add optimization flags to HOST_CXXFLAGS similarly to HOST_CFLAGS. r=gps
--HG--
extra : rebase_source : 24148bbac4a6dc712d333473c5ce0a42b5e8c5bb
2017-04-07 17:03:21 +09:00
Nathan Froyd
2989feb7d7 Bug 1353810 - add a --enable-rust-debug option; r=chmanchester
For people working on Rust code, compiling in debug mode (Cargo's "dev"
profile) is convenient: debug assertions are turned on, optimization is
turned off, and parallel compilation inside of rustc itself can be
used.  These things make the build faster and the debugging experience
more pleasant.

To obtain that currently, one needs to --enable-debug at the Gecko
toplevel, which turns on debug assertions for the entire browser, which
makes things run unreasonably slowly.  So it would be desirable to be
able to turn *off* debug mode for the entirety of the browser, but turn
on debug mode for the Rust code only.

Hence this added switch, --enable-rust-debug, which does what it
suggests and defaults to the value of --enable-debug.  For our own
sanity and because we judge it a non-existent use case, we do not
support --enable-debug --disable-rust-debug.
2017-04-12 21:49:25 -04:00
Chris Manchester
5c47bb8d2e Bug 1337986 - Dump symbols during the compile tier. r=ted
This commit moves symbol dumping to the compile tier, to be run via "syms"
targets. Tracking files are used for the sake of incremental builds, because
dump_syms may genearate multiple outputs whose paths are not known ahead of
time.

Minimal changes to symbolstore.py are made here. More extensive
simplifications will be made in a future commit on the basis of symbolstore.py
handling one file at a time.

MozReview-Commit-ID: 3mOP8A6Y7iM

--HG--
extra : rebase_source : bfe97afcdfc05b9e79f01577701c83e8b00eb4e9
2017-02-10 08:34:08 -08:00
Chris Manchester
03bb24b8ba Bug 1337986 - Build dump_syms before any syms target. r=glandium
MozReview-Commit-ID: CXlmMVMhzmf

--HG--
extra : rebase_source : 0ce885e1827b406cc4342309a060a0c1fa57ba8b
2017-04-10 10:27:49 -07:00
Chris Manchester
4db8e0b54a Bug 1337986 - Generate "syms" targets for directories containing programs or shared libraries. r=glandium
This creates "syms" targets that depend on the corresponding "target" for
directories containing shared libraries or programs. These targets are added
to the main compile graph in automation, and can be invoked through a special
"symbols" target. A future commit will use these targets to dump symbols for
shared libraries and programs during the compile tier.

MozReview-Commit-ID: KLuvmqsK4Zj

--HG--
extra : rebase_source : 8d76b999cb6fac8f11168ac6ebfb58774dfc2d3c
2017-04-10 10:27:49 -07:00
André Bargull
f68188a9e5 Bug 1318403 - Part 4.1: Handle special casing characters in String.prototype.to(Lower|Upper)Case. r=Waldo 2017-04-06 10:11:05 +02:00
Carsten "Tomcat" Book
3a762886de Merge mozilla-central to mozilla-inbound 2017-04-07 15:33:03 +02:00
André Bargull
5923180124 Bug 1353649 - Update tzdata in ICU data files to 2017b. r=Waldo
--HG--
extra : rebase_source : 48f6ab3a2bc6c91a1b6cc7429dd1ac0cb12d68ff
extra : histedit_source : 9687446c9877953592b99dd51a6a4d22af874a70
2017-04-05 10:49:53 +02:00
Michael Layzell
a6f6b4a390 Bug 1320179 - Part 4: MOZ_OBJDIR->MOZ_TOPOBJDIR and update m-c-changes.patch for protobuf changes, r=fitzgen
MozReview-Commit-ID: EPhkF350sGY
2017-04-06 18:37:31 -04:00
Michael Layzell
981693a30f Bug 1320179 - Part 2: Add the nserror rust crate and generate NS_ERROR codes, r=froydnj
MozReview-Commit-ID: FFU6WfEqev
2017-04-06 18:37:25 -04:00
Wes Kocher
1f91b9d155 Backed out 4 changesets (bug 1320179) for causing merge conflicts a=backout
Backed out changeset b8aa677f7452 (bug 1320179)
Backed out changeset 9e2f77570128 (bug 1320179)
Backed out changeset 470d8143b350 (bug 1320179)
Backed out changeset ea4f1b3cc7b1 (bug 1320179)
2017-04-06 15:29:24 -07:00
Michael Layzell
c33097aeaa Bug 1320179 - Part 4: MOZ_OBJDIR->MOZ_TOPOBJDIR and update m-c-changes.patch for protobuf changes, r=fitzgen
MozReview-Commit-ID: EPhkF350sGY
2017-04-06 17:37:13 -04:00