Commit Graph

1295 Commits

Author SHA1 Message Date
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
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
Carsten "Tomcat" Book
3a762886de Merge mozilla-central to mozilla-inbound 2017-04-07 15:33:03 +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
Michael Layzell
df411f4313 Bug 1320179 - Part 2: Add the nserror rust crate and generate NS_ERROR codes, r=froydnj
MozReview-Commit-ID: FFU6WfEqev
2017-04-06 17:22:08 -04:00
Kartikaya Gupta
8e237884f7 Bug 1350001 - Run cargo in a clean environment when running in a MozillaBuild shell. r=ted
This prevents the variables set in vcvars.bat from causing build failures when
cargo tries to process build scripts in an environment where the default rust
toolchain doesn't match the MozillaBuild shell (in terms of 32-bit or 64-bit).

MozReview-Commit-ID: 5VRnQToYUYf

--HG--
extra : rebase_source : 4ac11f13e17ab04e70c7cb6f60ff46865027f506
2017-04-06 09:59:14 -04:00
Mike Hommey
77e5b564fc Bug 1353640 - Also check sources in the objdir to preprocess generated sources. r=mshal
--HG--
extra : rebase_source : f4334635680d54e730346798450db8722f0443ff
2017-04-05 16:39:51 +09:00
Mike Hommey
91b701d7c6 Bug 1353640 - Use more targetted vpath instead of broad VPATH for preprocessor rules. r=mshal
VPATH applies to everything, but vpath applies to files matching the
pattern it's given.

--HG--
extra : rebase_source : 17339820e34f4d2f3d4ddde1a8a4325e92bfdb9e
2017-04-05 16:36:24 +09:00
Mike Hommey
9939009c87 Bug 1353640 - Avoid the preprocessor rules creating dependency files. r=mshal
--HG--
extra : rebase_source : bb9916f99533f518f1e65d5309130024c9288fb6
2017-04-05 16:33:37 +09:00
Mike Hommey
b7fd4125eb Bug 1353640 - Factor the preprocessing rules to avoid all the redundancy. r=mshal
--HG--
extra : rebase_source : 4e45edfc94b06877ce25f1df5832faf61b236f66
2017-04-05 16:31:40 +09:00
Mike Hommey
767a11189c Bug 1353259 - Remove build system parts that generate a dtrace ELF object. r=mshal
The code doing that was already excluding OSX, so we obviously don't
need it on OSX. On FreeBSD, afaict, USDT (userspace dtrace) probes don't
require that extra ELF object. Solaris presumably does, but the 6 years
old bug 702179 says it's not been working for that long, and configure
doesn't support Solaris targets anyways.

Keeping this build system code working past the changes coming in bug
1262241 is not guaranteed and can't be tested, so I'd rather get rid of
effectively dead code rather than trying to maybe not break it while
moving it.

--HG--
extra : rebase_source : b41ab77804c17529e2580ced8e8b5fd302ff7831
2017-04-04 13:30:44 +09:00
Mike Hommey
f4f1b7ba10 Bug 1353259 - Remove rules.mk sections depending on DTRACE_LIB_DEPENDENT. r=mshal
Nothing sets DTRACE_LIB_DEPENDENT.

--HG--
extra : rebase_source : adc650b19f1fa3af519d47482998033ccabb83a3
2017-04-04 13:28:11 +09:00
Xidorn Quan
12ae34813a Bug 1348157 - Add RUST_BACKTRACE=1 for cargo build. r=glandium
MozReview-Commit-ID: LOqNlOWZ2fC

--HG--
extra : source : a71fcfc7da72c159537cb3fd5ff9e3ef26168dac
2017-03-22 10:08:48 +11:00
Geoff Brown
df122d5bfa Bug 1340584 - Remove devicemanagerSUT and references to sutagent; r=wlach
sutagent is no longer built or used; devicemanagerSUT is completely
unused. After this change, devicemanagerADB is the only implementation of
devicemanager, and test harness options like --dm_trans are eliminated.
2017-03-21 12:20:01 -06:00
Makoto Kato
37ffe9aa86 Bug 1340393 - Remove -FS option on SIMPLE_PROGRAM. r=glandium
Although bug 1322703 is backed out, we can remove -FS options to build SIMPLE_PROGRAM.

MozReview-Commit-ID: 7uO3We5hc5n

--HG--
extra : rebase_source : 6f909c4f38ba5a5bdffed7f9ca5be0030b9c681b
2017-03-07 17:19:04 +09:00
Chris Manchester
69554aaee0 Bug 1339673 - Only force re-linking during PGO builds for the compile tier. r=glandium
Depending on a library or program in misc during a pgo build causes extraneous
rebuilding due to an added FORCE dependency, so we stop adding it except during
the compile tier.

MozReview-Commit-ID: 91dZFa6IRzt

--HG--
extra : rebase_source : 9994a5c05865c81d95ea075c753e270d3c223570
2017-02-17 11:08:50 -08:00
Sebastian Hengst
0c32b64e57 Backed out changeset 4aa866ebfeaa (bug 1322703) 2017-03-01 18:45:56 +01:00
Ted Mielczarek
be6f12e547 bug 1322703 - use -Fd to specify unique PDB filename per-object-file for MSVC. r=glandium
MozReview-Commit-ID: CxpLruksaHg
2017-03-01 18:41:46 +01:00
Ted Mielczarek
b89045917e backout b7a2f7ff5e87 (bug 1322703) for making local xul.dll link times way slower
MozReview-Commit-ID: 5QVFWVhfFfD
2017-03-01 10:37:35 -05:00
Nathan Froyd
1cbbd567b5 Bug 1302704 - part 1 - define CARGO_TARGET_DIR in the backend; r=chmanchester
CARGO_TARGET_DIR is currently hardcoded to the current directory, but
we'd like the ability to choose a value for Rust libraries.
2017-02-23 10:35:07 -05: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
5d759be63f bug 1318370 - stop using -Z7 for MSVC compilation with sccache. r=glandium
We've been using -Z7 to make MSVC emit CodeView debug info directly in
the object files instead of in PDB files because sccache can't cache
PDB files if the same one is written to by multiple compiles, which
was previously happening in our build system, and was hard to override
in the NSS build. Now that those are fixed this should work fine.

This adds a bit to the compile rule to remove the PDB file before
compilation, since sccache won't cache a compilation if the PDB file
it is supposed to generate already exists (for the aforementioned reason).

MozReview-Commit-ID: rFlX0XfTGw

--HG--
extra : rebase_source : 8f991ce72115537466f5720c20dc53083f3b2b35
2016-12-14 14:58:26 -05:00
Ralph Giles
1021cfbd7f Bug 1340672 - Don't clobber CARGOFLAGS in non-debug builds. r=froydnj
Previously, we overrode the CARGOFLAGS when we set --release
for non-debug builds. This was an oversight from bug 1310939.

MozReview-Commit-ID: LOBkCmxwDzc

--HG--
extra : rebase_source : 0325d1705cb28d6c82369abffc6fac3ca5ee6f0a
2017-02-17 12:50:29 -08: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
Mike Shal
e86326d270 Bug 1338559 - Use the tier system to recurse for 'make check'; r=glandium
This helps us avoid recursing over every directory when we only need to
run 'make check' in a select few.

MozReview-Commit-ID: BJ3hJBOneIz

--HG--
extra : rebase_source : 2493f924b9ccba3c779e512d7a8b7a2c26f43797
2017-02-03 16:47:28 -05:00
Ted Mielczarek
778b18b977 bug 1322703 - use -Fd to specify unique PDB filename per-object-file for MSVC. r=glandium
MozReview-Commit-ID: CxpLruksaHg

--HG--
extra : rebase_source : 16087aba96fb7e0d7f764b4ca21d27a78a19df4d
2016-12-14 14:40:59 -05:00
Kartikaya Gupta
7ed8a4e41a Bug 1337895 - Make the pkg-config rust crate happy when cross-compiling. r=froydnj
MozReview-Commit-ID: 1430wwCYbj4

--HG--
extra : rebase_source : a66e085219992f0cb75857afebeb1003df95bbdd
2017-02-08 14:13:50 -05:00
Gregory Szorc
19ffcf1738 Bug 1322769 - Declare servo rust feature properly; r=manishearth
268fa5f3bc25 grafted an old patch to define --features=servo in
rules.mk. That patch was written before RUST_LIBRARY_FEATURES
existed. This commit fixes it up.

MozReview-Commit-ID: L5atm5CsP8d

--HG--
extra : amend_source : 9362db15a696ebd5871df94afb429d6f828de184
2017-02-02 16:32:54 -08:00
Gregory Szorc
aaae03d7a8 Bug 1322769 - Add a "servo" feature; r=manishearth
MozReview-Commit-ID: A9dNTxNkl39

--HG--
extra : rebase_source : b9d115025beb00d596d34ca8d414a69b8ea2ba07
extra : source : f142ed52978bfab6407c252b7c56c53d0c3fcecd
2017-02-02 15:30:16 -08:00
Wes Kocher
f5eab47fb9 Merge m-c to autoland, a=merge
MozReview-Commit-ID: HVH8TbXbw7N
2017-02-01 16:30:50 -08:00
Michael Layzell
0dadca05f7 Bug 1335203 - Synchronize rust debug-assertions with C++ DEBUG, r=froydnj
MozReview-Commit-ID: JPD9eNFg89S
2017-02-01 13:54:22 -05:00
Chris Manchester
d668d760b9 Bug 1333135 - Do not attempt to install SIMPLE_PROGRAMS during MOZ_PROFILE_GENERATE. r=mshal
MozReview-Commit-ID: BNvX0dFAIUf

--HG--
extra : rebase_source : ef5ccc377253b27012c7501197c232a18097a4f5
2017-02-01 10:59:41 -08:00
Benjamin Smedberg
ca77995f5d Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and related is_sdk support in the build goop, r=mshal
MozReview-Commit-ID: 52vPyDXdFte

--HG--
extra : rebase_source : c3217730bb70eb7319152dd07536b12f49d6a597
2017-01-30 11:24:10 -05:00
Nathan Froyd
960aa50e1b Bug 1324296 - only enable verbose cargo output if BUILD_VERBOSE_LOG; r=ted.mielczarek
This mirrors what we do elsewhere for C/C++/etc.
2017-01-26 20:38:27 -05:00
Chris Manchester
26adeacc8a Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
MozReview-Commit-ID: It8VH5Obnx5

--HG--
extra : rebase_source : bc4dabb18ff51c45ac8df5a409881d0d4a7279fa
2017-01-19 14:58:10 -08:00
nfroyd@mozilla.com
8b92f8beb8 Bug 1302028 - part 6 - pass LIBCLANG_PATH and CLANG_PATH environment variables to cargo build; r=gps 2017-01-20 16:33:04 +00:00
Xidorn Quan
a2cddc7eb7 Bug 1323127 - Pass absolute path of DIST to cargo. r=froydnj
MozReview-Commit-ID: GOK2MSA6imC

--HG--
extra : rebase_source : 4abe1a93ff488a4612f4f6f4ca3961c9db3456e7
2016-12-13 15:38:37 +11:00
Nathan Froyd
1c12d3858c Bug 1319156 - part 2 - handle Rust library features in the recursivemake backend; r=chmanchester 2016-12-02 11:39:15 -05:00
Nathan Froyd
8783deedb3 Bug 1318981 - part 2 - pass MOZ_DIST as an environment variable to cargo build; r=chmanchester
rust-bindgen, at least, will need to know where Gecko's headers are to
parse them.
2016-12-02 11:38:45 -05:00
Nathan Froyd
b3f52ed877 Bug 1318981 - part 1 - factor out a CARGO_BUILD makefile variable; r=chmanchester
This change makes the individual cargo rules easier to understand, and
provides a single place to change e.g. environment variables passed to
cargo.
2016-12-02 11:38:45 -05: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
Nathan Froyd
36fb414815 Bug 1293253 - part 6 - add build and installation rules for {HOST_,}RUST_PROGRAMS; r=chmanchester
The only complicating factor here is having to split out the --target
flag from cargo_build_flags, so we can pass the appropriate one
depending on our build target.
2016-11-28 11:20:39 -05:00
Nathan Froyd
3d6a6a666a Bug 1293253 - part 5 - move cargo_build_flags determination out of RUST_LIBRARY_FILE block; r=chmanchester
We need cargo_build_flags not just for Rust libraries now, but for Rust
programs as well.
2016-11-28 11:20:39 -05:00
Nathan Froyd
cd91c3196d Bug 1293253 - part 1 - modify existing Rust library build rules to be explicitly about libraries; r=chmanchester
In preparation for a world where we have cargo building binaries too,
the existing rules should be renamed to reflect their library
associations.  The lone Cargo invocation should be updated to explicitly
build libraries only, so libraries and binaries in the same directory
will work correctly.

Fixup a leftover comment from a previous set of changes while we're here.
2016-11-28 11:20:39 -05:00
Nathan Froyd
55243ce768 Bug 1300835 - enable --disable-optimize --enable-debug to DTRT for Rust code; r=ted.mielczarek 2016-11-21 17:39:39 -05:00
Gregory Szorc
389dbcf95f Bug 1315785 - Invoke cargo with --color=always when original stdout is a TTY; r=glandium
Combined with the previous patch that sets MACH_STDOUT_ISATTY, the
practical effect of this patch is that cargo is invoked with
`--color=always` when mach was attached to a TTY and colorized output
is sent to the terminal.

Note: this doesn't work with Rust/Cargo 1.10 for reasons unknown to me.
It appears there was a bug with Rust/Cargo because `--color=never` still
sent colorized output on that version! Cargo/Rust 1.12.1 works fine.

MozReview-Commit-ID: 6uXS3t3413i

--HG--
extra : rebase_source : 72df6e8248cb14c96850964f694576c7fd2f5fbb
2016-11-07 13:46:15 -08:00
Aaron Klotz
a426b005cc Bug 1310841: Modify build rules to allow specification of a manifest for Windows DLLs; r=gps
MozReview-Commit-ID: EdY8Kx8irYW

--HG--
extra : histedit_source : 2c62d93279b54c30840910fb3fe54f9276a80f01
2016-10-17 16:03:11 -06:00