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

2050 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey e7e497234b Bug 1316250 - Allow functions using the fake os module to not depend on --help. r=chmanchester
--HG--
extra : rebase_source : 3a39f6deb657a30713f4864d54530d6b0b454ae1
2016-11-09 15:32:28 +09:00
Mike Hommey 566d70bc03 Bug 1316250 - Don't pretend imported modules in templates are inherited by functions they contain. r=chmanchester
The current state of python configure sandbox execution is that if a
template imports a module, and a function defined in the template tries
to use the module, it doesn't work. Ideally, it would, but rather than
try to fix this corner case, we remove the unit tests that assume it
works (and consequently pass for half bad reasons), and add a unit test
so that the behavior doesn't change unwillingly.

--HG--
extra : rebase_source : 579ba2bc7c19d4fe7df11bbdb1ceb6171a1ee857
2016-11-09 15:22:17 +09:00
Phil Ringnalda 393b414467 Merge m-i to m-c, a=merge
MozReview-Commit-ID: 48WAQwKUCpw
2016-11-02 19:28:38 -07:00
Kim Moir c488cc0a40 Bug 1296396 - remove configs that reference fx-team in tc and buildbot u=aselagea r=kmoir 2016-11-02 10:53:19 -04: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 c35a6888f9 Bug 1313306 - Allow @depends(when=something) without additional dependencies. r=chmanchester
Also allow when=True/False to avoid the chicken-egg problem of using
a generic `when` to use in replacement of @depends('--help') for things
like @dependable.

--HG--
extra : rebase_source : f1571a5b904efb66a361b90f3b7e1edbaa75772e
2016-10-26 16:42:06 +09:00
Mike Hommey 18c9034b4a Bug 1313306 - Relax the rules for --help dependencies. r=chmanchester
--help dependencies currently help identify functions that will run when
running configure --help, which we don't want to have spreading too
much. OTOH, when such functions have no side effect, it's not really
that important to have them explicitly marked.

So, allow missing --help dependencies for functions that:
- don't use @imports
- don't have a closure
- don't use global variables

This is a first step towards entirely removing the --help markings (the
end goal being that --help dependencies will indicate actual --help
dependencies). As such, we don't really care about updating the lint
error message.

--HG--
extra : rebase_source : e81ec9b51ff01c2ee75722904e551286aa0b2bec
2016-10-27 13:40:42 +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
Mike Hommey 016afea56c Bug 1313306 - Move --help dependency checks to the linter. r=chmanchester
Missing such dependencies shouldn't impair running configure itself
after local modifications, but they are currently required for
(mostly) documentation purpose. Which means they are better done in
the linter.

--HG--
extra : rebase_source : 6bfff2342cda2ed1351f561c9eb9623f1fb4e4c4
2016-10-27 10:02:21 +09:00
Mike Hommey e9aa83949b Bug 1313306 - Add a placeholder python configure linter. r=chmanchester
--HG--
extra : rebase_source : d7b17160bbf61e9aca2edfb2874a87182140c144
2016-10-27 09:36:33 +09:00
Eugen Sawin e28632312d Bug 1307886 - [2.3] Compress libraries with XZ during packaging. r=glandium 2016-10-28 12:59:23 +02:00
Eugen Sawin 5999591289 Bug 1307886 - [1.2] Remove szip support. r=glandium 2016-10-28 12:59:23 +02:00
Phil Ringnalda 445097654c Merge m-i to m-c, a=merge
MozReview-Commit-ID: 56Hspl8LZMY
2016-10-27 19:21:47 -07:00
aleth bb41ac3b46 Bug 1311122 - Ensure missing file errors get reported despite missing base path in l10n.py. r=glandium
--HG--
extra : rebase_source : 1171410b3a6df675c3551c694748202176e42cbf
2016-10-18 21:06:36 +02:00
Mike Hommey 158b715543 Bug 1313259 - Fix some preprocessor unit tests to actually do the tests they're supposed to do. r=gps
--HG--
extra : rebase_source : 70e9a8ed265d1bb7f74dd1d37cd8e561e649bd5a
2016-10-27 10:24:27 +09:00
Chris Manchester 29650e6f7d Bug 1312574 - Use cPickle instead of json to serialize the build system's tests database. r=gps
MozReview-Commit-ID: 9xmUtVV6SRN

--HG--
extra : rebase_source : 957bfacfa5c13fa88b298e33dcaf475c08be8776
2016-10-25 12:31:59 -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
Chris Manchester 0d0d70f0f2 Bug 1312520 - Store and process manifest-level defaults in the build system separately from individual tests. r=gps
MozReview-Commit-ID: 1dSMAaOqToJ
2016-10-25 12:23:39 -07:00
aleth b8af6b7271 Bug 1311136 - Improve 'multiple locales' error message in l10n.py. r=glandium
--HG--
extra : rebase_source : f46d5120f962380f989ebd115cc44c08ef858eb8
2016-10-18 21:52:19 +02:00
Grisha Kruglov c2e769ff54 Bug 1312476 - Update paths for x86 android artifact builds r=sebastian
MozReview-Commit-ID: 3NLluk5mU9g

--HG--
extra : rebase_source : 86b30c5e2899e2d15e26199323f3aee0b9211391
2016-10-24 09:46:21 -07:00
Gregory Szorc 22c45fdb44 Bug 1310868 - Tie resource collection to lifetime of context manager; r=glandium
Both BuildMonitor and BuildOutputManager are doing similar things and
wrapping the build with forms of monitoring. These classes are only
used in the `mach build` command.

Since the BuildOutputManager takes an instance of BuildMonitor as an
argument and since BuildOutputManager behaves as a context manager,
it makes sense for BuildOutputManager to control the lifetime of
BuildMonitor's collection.

So, we teach BuildOutputManager's context manager to start the
BuildMonitor and ensure its resource collection is stopped when it
exits.

MozReview-Commit-ID: 3l9Hwz0Xe7o

--HG--
extra : rebase_source : 600b0231fce050465bdccb2bc11680f77bbc35d9
2016-10-17 17:03:38 -07:00
Kris Maglione 67e2b2f753 Bug 1309350: Part 2 - Speed up synchronous resolution of module paths. r=gps,ochameau
r?gps for the build changes and ochameau for the rest.

This results in about a 28% speed-up for Jetpack mochitest runs, for me.

MozReview-Commit-ID: K30q7BfvTLs

--HG--
extra : rebase_source : 8074947062c73a329f1d8a255a9601147ba1ba0c
2016-10-14 05:27:15 +01:00
Mike Hommey 2a9930daf9 Bug 1311871 - Fix NSIS version check for NSIS version 3.0. r=chmanchester
--HG--
extra : rebase_source : 5e99dc999e2c54813ec447134bc4b008f7af826a
2016-10-21 09:15:34 +09:00
Chris Manchester 6199bfe74b Bug 1311632 - Update route and package names for android artifact builds to reflect gecko.v2 index locations. r=mshal
MozReview-Commit-ID: 3QtL0bj18x2

--HG--
extra : rebase_source : 01f171ae40c015b00a8cb7689f7afe7f723be1ee
2016-10-20 12:33:44 -07:00
Mike Hommey ffb7fbf6c4 Bug 1311069 - Don't throw InvalidOptionError exceptions when a non-available option was set from an environment variable. r=chmanchester
--HG--
extra : rebase_source : 74b61120a2d1ec721d92c7f8697694b807670013
2016-10-19 09:06:41 +09:00
Mike Shal 0d1c85f23a Bug 1250700 - Use the gecko.v2 instead of buildbot for artifact builds; r=chmanchester
MozReview-Commit-ID: Hn55McoK1sY

--HG--
extra : rebase_source : 5d01539b726014677d64cac43dc616d098b76005
2016-09-30 15:22:28 -04:00
Mike Hommey 5983667dd8 Bug 1296530 - Add an only_when context manager, and a `when` argument to include(). r=chmanchester
--HG--
extra : rebase_source : a74c539148e0a0597d1ff4af85ccf917cc37e1d4
2016-10-12 16:56:11 +09:00
Mike Hommey b527447baf Bug 1296530 - Add a `when` argument to imply_option(). r=chmanchester
--HG--
extra : rebase_source : 4822e6eb942dcfe3580cee9667d85a6e20118ca3
2016-10-12 14:48:47 +09:00
Mike Hommey 6b2314bdbb Bug 1296530 - Add a `when` argument to set_config() and set_define(). r=chmanchester
--HG--
extra : rebase_source : 707b77c326dfab3b6a7cf484ec88b5d7ece1f98c
2016-10-12 14:24:28 +09:00
Mike Hommey 6742fd1764 Bug 1296530 - Add a `when` argument to option(). r=chmanchester
--HG--
extra : rebase_source : afc1041aae1ad388e08435999098f06cce3a8e13
2016-10-12 17:45:53 +09:00
Mike Hommey ff7ca5af9d Bug 1296530 - Add a `when` argument to @depends(). r=chmanchester
--HG--
extra : rebase_source : ba3e8e781655efd8a0a404382048612a3dc3c7c4
2016-10-12 13:52:08 +09:00
Mike Hommey e8c24ed7b4 Bug 1296530 - Add a test for unexpected keyword argument to @depends. r=chmanchester
--HG--
extra : rebase_source : 7779cff4702997436da70cecf01df025b2fcb463
2016-10-12 13:48:23 +09:00
Mike Hommey 8a3a49206b Bug 1296530 - Get help text out of TestConfigure.get_config when given --help. r=chmanchester
--HG--
extra : rebase_source : 730c136d9df703365d5da29b6f3b82e3f87a97bf
2016-10-12 11:11:56 +09:00
Mike Hommey a787f620da Bug 1296530 - Move the somehow redundant check for --help dependency from _resolve to _value_for_depends. r=chmanchester
--HG--
extra : rebase_source : b187fdef27746d4a59af549b2335761618d82d4e
2016-10-11 14:20:18 +09:00
Mike Hommey f265d16c20 Bug 1296530 - Move @depends dependency resolution to a separate function. r=chmanchester
--HG--
extra : rebase_source : c78f2532258c99f4c8dfe536cce20417657c6e93
2016-10-11 08:42:17 +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
Mike Hommey 1c3867ff90 Bug 1296530 - Add a repr() for Option. r=chmanchester
--HG--
extra : rebase_source : 156293c0be028e346c164751178ebc006c291fee
2016-10-13 12:43:01 +09:00
Ting-Yu Lin 6bd7fdd2ae Bug 1309657 - Update ccache stats parser for version 3.3. r=gps
ccache 3.3 added two fields in the status.
1. "cache hit rate"
https://github.com/ccache/ccache/issues/94

2. "cleanups performed"
0769ea3630

We just teach the parser the two fields. Nothing else.

MozReview-Commit-ID: 9kZrDrpCopd

--HG--
extra : rebase_source : ecb55fa9187abb37e668f0d25b40afd41597f7f8
2016-10-13 11:20:58 +08:00
Nathan Froyd e818915fae Bug 1304815 - rearrange Rust crate structure for newer Rust releases; r=ted.mielczarek
In our current Rust world, we have the following dependency structure:

  xul.so --------------------------+
                                   |
  xul-gtest.so -+--> xul.a --------+-> gkrust
                |
                +--> gkrust-gtest

This structure results in link errors with multiply-defined symbols
between gkrust-gtest and gkrust with newer Rust releases when linking
xul-gtest.so.  So we have to do something different.

Our new structure is:

  xul.so --------------------------+
                                   |
  xul-gtest.so -+--> xul.a --------+-> gkrust --+-> gkrust-shared
                |                               |
                +--> gkrust-gtest --------------+

and we enforce that a given shared library can only have at most one
Rust library that it depends on.  Said Rust library is assumed to
include all significant Rust dependencies of the dependent static
libraries as well.  (In the above structure, gkrust is simply a wrapper
around gkrust-shared, so gkrust-gtest doesn't have to include gkrust as
a dependency.)
2016-10-15 18:16:13 -04:00
Kartikaya Gupta f6d49dac63 Bug 1310215 - Add a verbose argument to mach install which provides useful information in case the android emulator startup fails. r=ahal
MozReview-Commit-ID: EhuBgeewqtb
2016-10-14 11:15:10 -04:00
Michael Kaply 3e3d89e4e2 Bug 1309304 - Move search python files to a central location. r=glandium
MozReview-Commit-ID: DEqQfJ8lHxA

--HG--
rename : browser/locales/searchjson.py => python/mozbuild/mozbuild/action/generate_searchjson.py
rename : browser/locales/searchplugins.py => python/mozbuild/mozbuild/action/output_searchplugins_list.py
extra : rebase_source : 43f808fa50f4124e2ce4e3b36df44c82f143dabf
2016-10-20 11:25:29 -05:00
Chris Manchester 6f8124b45f Bug 1308982 - Read gyp files in a separate process. r=gps
This moves reading of gyp files to a separate process from the main
reader/emitter pipeline, causing gyp contexts to be consumed after other
contexts.

MozReview-Commit-ID: CevPcpe5cFI
2016-12-21 16:28:28 -08:00
Chris Manchester cc9c24c6a8 Bug 1308982 - Stop adding gyp directories to the DIRS make variable. r=gps
Due to an apparent bug, DIRS are being ouptut inconsistently for directories
with code built by gyp files (as of this writing, they are output for child
directories of media/webrtc but not for some other directories). The DIRS
variable no longer drives compilation, so this was essentially a no-op.

MozReview-Commit-ID: IMfjyrcsWyv
2016-12-21 16:28:28 -08:00
Chris Manchester 4bcebd4fe0 Bug 1308982 - Normalize gyp_reader.py indentation to 4 spaces. r=gps
MozReview-Commit-ID: HRE3cVmNB2d
2016-12-21 16:28:28 -08:00
Chris Manchester 2d2292267f Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal
This generalizes the monkey-patching of the main module added
in bug 914563 to allow multiprocessing to be used from config.status
(which triggers the same bug as when it's used with `mach` as main).

MozReview-Commit-ID: AdOdpKzmbsp
2016-12-21 16:28:28 -08: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
Ted Mielczarek 11449f6fba bug 1305958 - Allow custom GENERATED_FILES in SYMBOLS_FILE. r=glandium
This patch allows specifying an objdir path in `SYMBOLS_FILE`, with the
requirement that the file is also listed in `GENERATED_FILES`. This is used
for handling NSS' .def files with their special processing.

I added tests for the existing `SYMBOLS_FILE` case as well as the new case
and a test for the error if the file is not listed in `GENERATED_FILES`.

MozReview-Commit-ID: 3cVbKplltfb

--HG--
extra : rebase_source : 0ae4180dbe9383b09f14554bfda8aec20d7cc094
2016-09-02 15:34:09 -04: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 0c70afc0a3 Bug 1305502 - Add an option to download symbols for an artifact build. r=glandium
MozReview-Commit-ID: HJxJeMkLiz9
2016-09-26 14:54:24 -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
Gregory Szorc f4832137ac Bug 1286900 - Stop producing web-platform tests zip file; r=ted
Now that we access WPT related files from a source checkout, we no
longer need the web-platform tests zip file produced or consumed by
automation. So stop producing it.

MozReview-Commit-ID: Ea8KjKZJ5Yx

--HG--
extra : rebase_source : f22506a02fdd5e78434cdc5d1c1f274db1cd04e2
2016-09-20 18:41:06 -07:00
Phil Ringnalda c1e745733c Merge m-i to m-c, a=merge
MozReview-Commit-ID: IffTwuMbwmG
2016-10-03 20:09:05 -07:00
Andrew Halberstadt 1b0964f59b Bug 1304593 - Take universal binaries into account when detecting objdir mismatches, r=gps
When attempting to run mach from a make target, there were failures on OSX due to an objdir
mismatch:
https://dxr.mozilla.org/mozilla-central/rev/7c576fe3279d87543f0a03b844eba7bc215e17f1/python/mozbuild/mozbuild/base.py#656

The two detected objdirs were "<objdir>" and "<objdir>/x86_64". I believe this should not
count as a mismatch, otherwise it would not be possible to run a mach command from the
x86_64 directory.

MozReview-Commit-ID: CXDEABNWX8L

--HG--
extra : rebase_source : 9daeaf372d872921e7b2854eee0313b5adc0e707
2016-09-30 14:27:38 -04:00
Ted Mielczarek 739348c41e bug 1294565 - add a `mach vendor rust` command to vendor crates into third_party/rust. r=gps
This command is mostly just a wrapper around `cargo vendor`, but it runs
it the right way and will install the cargo-vendor tool if necessary.

Additionally, the mach command will by default error if there are uncommited
changes to files other than Cargo.{toml,lock} in your working copy, and it
will stage changes to the vendored crates in your VCS after the update.

MozReview-Commit-ID: 2fMDBawNUMO

--HG--
extra : rebase_source : fe72f26aec795eb663c554933432e700ac5089c3
2016-09-29 06:39:14 -04:00
Ted Mielczarek 93587924f6 bug 1294565 - add some more helpers to mozversioncontrol, add MozbuildObject.repository. r=gps
I wanted to be able to do some VCS interaction from a mach command, and we
didn't have anything suitable, so I tore up mozversioncontrol and replaced
it with a framework to hang new features off of. I've only implemented
the bits I need currently (get_modified_files and add_remove_files),
but it should be straightforward to add more functionality there.

This patch also adds a `repository` property to `MozbuildObject`, which will
return a `Repository` object for the topsrcdir to make using these helpers
even easier for `MozbuildObject`-derived classes.

MozReview-Commit-ID: Gw6Ixp1ltiN

--HG--
extra : rebase_source : e619d6642eb86c3f96e679ac22a3e561dfdbb56a
2016-09-29 06:48:37 -04:00
Mike Shal 07b492f103 Bug 1306405 - add BUILDSTATUS messages to the tup backend; r=chmanchester
MozReview-Commit-ID: HoDUuKkmv2l

--HG--
extra : rebase_source : 3d4acbcf639976d769a51eacd0d04beb87a40bf3
2016-09-26 14:16:09 -04:00
Carsten "Tomcat" Book 5b45193594 merge mozilla-inbound to mozilla-central a=merge 2016-09-29 11:44:58 +02:00
Mike Shal 91feda6d73 Bug 1305157 - Handle the build/ directory's GENERATED_FILES; r=gps
This is a little tricky since tup expects rules in a single Tupfile to
be topologically sorted, and the emitter emits the GeneratedFile object
before it emits the FinalTargetPreprocessedFile object. We work around
this by delaying when we process the application.ini.h GeneratedFile
object, but it's a hack.

MozReview-Commit-ID: 8nVm76nZOKb

--HG--
extra : rebase_source : a82cfbeef739aac791998fb6d45cf88eb7116e32
2016-09-28 13:59:36 -04:00
Mike Shal b5f5829f3f Bug 1305157 - Handle FinalTargetPreprocessedFiles in the tup backend; r=gps
MozReview-Commit-ID: 6fxTagN6mGl

--HG--
extra : rebase_source : 26a00428ad9a337c355d20b8acf229c8387fbede
2016-09-28 13:55:38 -04:00
Mike Shal 02bca067c4 Bug 1305157 - Fix buildid.h and create source-repo.h in make before tup runs; r=gps
MozReview-Commit-ID: CPYA1OJUfo8

--HG--
extra : rebase_source : ed8f4b193ec37f3015277a4d39f19a4904b04d9a
2016-09-28 13:51:34 -04:00
Mike Shal deedb1fd3b Bug 1305157 - Move GeneratedFile handling into its own function; r=gps
MozReview-Commit-ID: HbZBYVugj9E

--HG--
extra : rebase_source : 576aa8d93c964740f5c44a9cf151fd1b9cf4bcef
2016-09-27 13:41:16 -04:00
Carsten "Tomcat" Book b5206d37f5 Merge mozilla-central to mozilla-inbound 2016-09-28 16:25:01 +02:00
Carsten "Tomcat" Book 572e74ee99 merge mozilla-inbound to mozilla-central a=merge 2016-09-28 15:56:33 +02:00
Phil Ringnalda 3e7326c4fd Backed out 6 changesets (bug 1286900) for making wpt-7 permanently fail on Windows debug
CLOSED TREE

Backed out changeset 859457467e3c (bug 1286900)
Backed out changeset 4b08ed30e0a5 (bug 1286900)
Backed out changeset 3928e945b584 (bug 1286900)
Backed out changeset 5b0f69c86028 (bug 1286900)
Backed out changeset 01c3527edde5 (bug 1286900)
Backed out changeset 6b5f059a85ad (bug 1286900)
2016-09-27 18:24:38 -07:00
Matthew Gregan de2a95a064 Bug 1305604 - Convert dashes to underscores in crate name when generating --extern option. r=froydnj 2016-09-28 10:07:47 +13:00
Ted Mielczarek 6fba0e392a bug 1256642 - have the build system automatically detect LIB_IS_C_ONLY. r=glandium
MozReview-Commit-ID: 3xWSEe0Tmp9

--HG--
extra : rebase_source : 473fd5911dcf5e6d0122cb74de16e7d41cd35cdc
2016-08-24 11:29:00 -04: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
Gregory Szorc 13bf17ed00 Bug 1286900 - Stop producing web-platform tests zip file; r=ted
Now that we access WPT related files from a source checkout, we no
longer need the web-platform tests zip file produced or consumed by
automation. So stop producing it.

MozReview-Commit-ID: Ea8KjKZJ5Yx

--HG--
extra : rebase_source : ee6ec00689696a710faf390d3dec5c5d02d8ec74
2016-09-20 18:41:06 -07:00
Mike Shal 366bb17910 Bug 1304125 - Perform WebIDL code generation in the tup backend; r=gps
MozReview-Commit-ID: Fnw8380zyGU

--HG--
extra : rebase_source : 4cad1fc9699260ce2dd25530060596de51212deb
2016-09-19 13:30:03 -04:00
Mike Shal b48e8b54f9 Bug 1304129 - Use xpidllex.py / xpidlyacc.py from GENERATED_FILES; r=gps
MozReview-Commit-ID: 8w50kZWinzl

--HG--
extra : rebase_source : c2231f6e776cc8195063dad8c1480cec88bd5e62
2016-09-19 13:47:32 -04:00
Mike Shal 2275e6ed2e Bug 1304129 - Build GENERATED_FILES in the tup backend; r=gps
MozReview-Commit-ID: IaVAuRWIjmC

--HG--
extra : rebase_source : 66e28cea04873ba1ebace456a6607f1ee05f923f
2016-09-19 13:47:05 -04:00
Henrik Skupin 401257b7ed Bug 1301334 - Package Marionette tests via moz.build entries r=gps
Move packaging for Marionette from make to test_archiver by using root manifest files.

MozReview-Commit-ID: 1cxEBYQeJ2Z
**

--HG--
extra : rebase_source : 372a407d9207bfbccbfb88c689df60b8cc1abcaf
2016-09-20 18:05:43 +02:00
Henrik Skupin e20a8e6f48 Bug 1302364 - Include firefox-ui and puppeteer in all-tests.json, and allow to run tests via "mach test". r=gps
MozReview-Commit-ID: EwONsQSgAym

--HG--
extra : rebase_source : 4bcf4497a2af79790378ddc1bbe47712e4c0ea6c
2016-09-21 10:31:05 +02:00
Henrik Skupin 3cd74b7623 Bug 1302364 - Update TEST_MANIFESTS documentation for install_root in resolve_tests(). r=gps
MozReview-Commit-ID: 9EXT3Jakwx1

--HG--
extra : rebase_source : 2e3752e385e2e9ed9ad38549539f24126452da07
2016-09-21 10:16:33 +02:00
Michael Layzell 73b988acc6 Bug 1303223 - Ensure that panic = 'abort' is specified for all toplevel Cargo.tomls, r=froydnj
MozReview-Commit-ID: GX0FJjDVA5q
2016-09-20 13:56:09 -04:00
Michael Layzell 05bd5a1076 Bug 1300208 - Allow specifying multiple rust crates to mozbuild within the same FINAL_LIBRARY, r=froydnj
MozReview-Commit-ID: IIjV4Kg7wOv
2016-09-20 11:26:43 -04:00
Yen Chi Hsuan 80b867a458 Bug 1143421 - install file copies instead of symlinks for Spidermonkey. r=glandium 2016-08-25 15:51:55 +08:00
Mike Hommey 94ad81b0b0 Bug 1295542 - Ensure at least an empty chrome.manifest next to each omnijar file. r=gps 2016-09-20 13:43:54 +09:00
Chris Manchester d8c54a3aa5 Bug 1303436 - Log status when invoking configure directly from Python. r=mshal
MozReview-Commit-ID: H5gbEdBWCds

--HG--
extra : rebase_source : 35384e0451b7cef96e88b5f3e3c80d2922f9f1ba
2016-09-16 14:25:51 -07:00
Sebastian Hengst 6247ecc4b9 Backed out changeset e92048c87179 (bug 1302364) for failing test_emitter.py in e.g. spidermonkey tests. r=backout on a CLOSED TREE 2016-09-16 11:25:55 +02:00
Sebastian Hengst 99e7648673 Backed out changeset 1df8bde64853 (bug 1302364) 2016-09-16 11:24:29 +02:00
Henrik Skupin 3418dc5d58 Bug 1302364 - Include firefox-ui and puppeteer in all-tests.json, and allow to run tests via "mach test". r=gps
MozReview-Commit-ID: EwONsQSgAym

--HG--
extra : rebase_source : 61870a85c3f749ac3da202e08c2ba91fa87a261b
2016-09-13 17:21:52 +02:00
Henrik Skupin 2f20475d5e Bug 1302364 - Update TEST_MANIFESTS documentation for install_root in resolve_tests(). r=gps
MozReview-Commit-ID: 9EXT3Jakwx1

--HG--
extra : rebase_source : ba1f6afcaa35103a52e5bbad7618fa2c9f08f2a1
2016-09-13 17:16:51 +02:00
Ted Mielczarek e254cc07b8 bug 1298422 - vendor byteorder into third-party/rust. r=froydnj
MozReview-Commit-ID: ChKCKiIVEfq

--HG--
extra : rebase_source : c0da7411a2f0b7fc171c9ebb99fce91361944aa5
2016-09-08 15:12:34 -07:00
Phil Ringnalda 3748f182f6 Merge m-i to m-c, a=merge 2016-09-10 00:14:21 -07:00
Sebastian Hengst 9d51c314ab Backed out changeset c2115d200aeb (bug 1300152) for permafailing test_crash_rust_panic.js on Windows 8 x64 pgo. r=backout 2016-09-09 16:54:57 +02:00
Shing Lyu db11558e50 Bug 1288350 - Temporary reftest list for Stylo vs Gecko test r=heycam,manishearth
--HG--
extra : rebase_source : 4772418bd2813d4e79643a833eb09e47fe893d84
2016-09-05 11:45:39 +08:00
Carsten "Tomcat" Book d98e95abb8 Merge mozilla-central to autoland 2016-09-08 12:51:52 +02:00
Carsten "Tomcat" Book 38f7eb71e0 Backed out changeset d392d81c5b9e (bug 1297585) for breaking artifact desktop builds
--HG--
extra : rebase_source : 0a2e4754b68f2fd5ed98872c4b2981b18c37aa5a
2016-09-08 11:57:29 +02:00
Wes Kocher 5cbc382303 Merge inbound to m-c a=merge 2016-09-07 17:54:24 -07:00
Wes Kocher 4c4ea87ae0 Backed out 2 changesets (bug 1283919) for being the wrong way to fix this a=backout
Backed out changeset a328778db08d (bug 1283919)
Backed out changeset 7e1f25f59298 (bug 1283919)
2016-09-07 14:22:21 -07:00
Carsten "Tomcat" Book 1c61ba654e merge mozilla-inbound to mozilla-central a=merge 2016-09-07 17:20:12 +02:00
Ted Mielczarek b482f0e214 bug 1300152 - add rust to mozinfo.json. r=mshal
This patch also reworks how we set all the boolean flags in mozinfo.py.

MozReview-Commit-ID: IhjXCFsx5J1

--HG--
extra : rebase_source : d984d9ecaed765126600c8d85847a82585ab3e67
2016-09-02 11:57:11 -04:00
Henrik Skupin 996622f983 Bug 1283919 - Improve test package archiver for collecting files from directories referenced by a root manifest r=gps
MozReview-Commit-ID: EuGK3OS8XLj

--HG--
extra : rebase_source : 50a4e94b868f8c8931415e3afe30b820e5b6e806
2016-09-07 23:39:45 +02:00
Mike Shal 9f2ce6ecc0 Bug 1293448 - Build XPIDL files in the tup backend; r=glandium,gps
MozReview-Commit-ID: zyojbOFLLn

--HG--
extra : rebase_source : 17ebd8701bf1dc1a45559a3620a3f6703f950070
2016-07-29 13:43:29 -04:00
Mike Shal 62ce34650a Bug 1293448 - Allow build backends to specify custom build commands; r=glandium
MozReview-Commit-ID: G6fICkYUDxd

--HG--
extra : rebase_source : c839919cae6683ce07cfaa9e701e7e9e50652040
2016-08-17 23:20:51 -04:00
Al Tsai 8f598a057d Bug 1297585 - Modify parameters for buildUrl to satisfy taskcluster changes. r=glandium 2016-09-01 15:02:09 +08: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
Mike Shal 42ab09bca2 Bug 1297718 - Add config.status to sys.modules for dependency detection; r=glandium
MozReview-Commit-ID: J5WaTPYc0vJ
2016-08-26 10:04:07 -04:00
Henrik Skupin 1aa1a59ead Bug 1283919 - Move packaging of Marionette from make to the test archiver r=gps
MozReview-Commit-ID: AOQHcA46bCh

--HG--
extra : rebase_source : e313c669ad0ae999ecba954538572d22ae28b120
2016-08-17 13:43:51 +02:00
Henrik Skupin c2f0ef7c09 Bug 1283919 - Improve test package archiver for collecting files from directories referenced by a root manifest r=gps
MozReview-Commit-ID: EuGK3OS8XLj

--HG--
extra : rebase_source : 1a547d02d0da68fac3ca5401df36589357f0bbbe
2016-08-17 13:41:59 +02:00
Xidorn Quan a448b4c2d7 Bug 1298210 - Move remove objdir code into clobber.py so that autoclobber and clobber command share the same code. r=gps
MozReview-Commit-ID: 5X1AQac8Fqi

--HG--
extra : source : f6c73c140316b9d6a43b5864b5f36a2620d10b3a
2016-08-30 19:54:38 +10:00
Mike Hommey f97add6317 Bug 1296503 - Switch config.status to unicode literals. r=ted
Ironically, the first thing we do with those unicode literals is convert
them to byte strings because the build backends don't like them yet.
2016-08-24 07:32:52 +09:00
Mike Hommey 31a17a020e Bug 1296503 - Add an indented_repr function to mozbuild.util. r=ted 2016-08-24 07:32:51 +09:00
Myk Melez 3050b7932b Bug 1296798 - set depth to chrome_src for refs in common.gypi; r=ted
MozReview-Commit-ID: EJTQNk6dbJ1
2016-08-23 14:58:27 -07:00
Myk Melez 1895887f26 Bug 1296798 - specify root_targets; r=ted
MozReview-Commit-ID: 6Ip87xChI8o
2016-08-23 14:58:23 -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
Gregory Szorc 579fbb5cf2 Bug 1290201 - Don't clobber .mozbuild directory by default; r=ted
.mozbuild/last_log.json is opened by the process doing the deleting.
On Windows, you can't delete an opened file.

So stop clobbering the .mozbuild directory.

This directory only holds non-essential artifacts from mach/build
invocations. I don't think keeping it around will break anything.

MozReview-Commit-ID: 9b0AC2ywAAZ

--HG--
extra : rebase_source : 9236e3e282d1db2595e8b36353008bc98e2ae6cf
2016-08-19 11:11:48 -07:00
Mike Hommey 885b56f5f4 Bug 1296502 - Serialize lists when preparing a context for the preprocessor in build backends. r=gps
Some substs values are lists, and some CONFIGURE_SUBST_FILES use them,
and don't expect the substitution to use a pythonic expression of the
value. So serialize those lists.

--HG--
extra : rebase_source : 848962c326236607609bca2b92180c8f6f4ad079
2016-08-19 11:33:18 +09:00
Mike Hommey ce060d48bf Bug 1257049 - Stop spawning a separate process for config.status from configure.py. r=gps
--HG--
extra : rebase_source : c3a76c32eaca7a9a192e239ac143174d599fb28c
2016-08-19 11:11:57 +09:00
Ryan VanderMeulen 01c4e8cc1b Merge inbound to m-c. a=merge 2016-08-19 09:52:53 -04:00
Gregory Szorc 4a0f2d02bc Bug 974281 - Do not clobber msvc directory by default; r=ted
The "remove_objdir" method has been rewritten to support partial
clobber. It still defaults to full clobber. But the "full" argument
can be passed as False to limit to a partial clobber where currently
the "msvc" directory (contains Visual Studio files) is not clobbered.

On Windows, there might be a regression with this change because
we'll be invoking N winrm.exe processes and new processes have
a non-trivial overhead on Windows. However, it is hopefully unlikely
that new processes are more overhead than deleting hundreds of thousands
of files.

MozReview-Commit-ID: 7yeMttztwic

--HG--
extra : rebase_source : 646992be199e1059f0b09cf8bed3334085293fe0
2016-03-11 15:11:33 -08:00
Gregory Szorc 303d2ef97a Bug 974281 - Use mozfile.remove since rmtree is deprecated; r=ted
My Python editor told me rmtree has been marked as deprecated. Use
mozfile.remove instead.

MozReview-Commit-ID: FYkXk1fnxvC

--HG--
extra : rebase_source : df392e8832e52501950f09acda208943c9e3d707
2016-03-11 15:08:54 -08:00
Wes Kocher 45575a7f86 Merge m-c to autoland, a=merge
a=release for the webidl hook for a comment-only change

--HG--
extra : amend_source : e590e515ab273d097f88b35be0e5c999502ebdf4
2016-08-16 22:07:30 -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
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 c6d1e73834 Bug 1294585 - Move --with-*-keyfile options to python configure. r=chmanchester 2016-08-16 08:32:51 +09:00
Gregory Szorc 46ad65f8b8 Bug 1293868 - Write mozinfo.json deterministically; r=glandium
And with indentation so it is easier for humans to read.

MozReview-Commit-ID: Kkd6vmfLNUf

--HG--
extra : rebase_source : 9f2b4ad2223f361dd6dd1ec9cdda71bd5a8560e3
2016-08-09 19:11:54 -07:00
Mike Shal 355501af0c Bug 1294510 - cleanup CompileDB backend; r=glandium
MozReview-Commit-ID: Lj4ahLzZJh9

--HG--
extra : rebase_source : 3a2ce98147327094b2a65429a64ee03b67ef0580
2016-08-11 15:50:31 -04:00
Wes Kocher a177bd0ff1 Merge m-c to inbound a=merge 2016-08-17 17:24:02 -07:00
Chris Manchester bea5e287fc Bug 1240134 - Fixup TarFinder test on Windows by closing the TarFile after the test. r=me
MozReview-Commit-ID: EbP4o5XLCeB
2016-08-17 16:12:14 -07:00
Chris Manchester b0b84a1928 Bug 1240134 - Incorporate the interfaces.xpt from downloaded artifacts instead of building XPIDL during an artifact build. r=glandium
MozReview-Commit-ID: 8oEyS1xLOwV
2016-08-17 15:02:31 -07:00
Chris Manchester 337f05f14a Bug 1240134 - Use the UnpackFinder when extracting from archives for an artifact build. r=glandium
MozReview-Commit-ID: C5Y9oC6ywwP
2016-08-17 15:02:31 -07:00
Chris Manchester a22526073a Bug 1240134 - Implement a TarFinder to facilitate extracting files from compressed Firefox archives. r=glandium
MozReview-Commit-ID: F4l8505bvwR
2016-08-17 15:02:31 -07:00
Chris Manchester 309a20b1c8 Bug 1240134 - Re-factor UnpackFinder to contain a Finder instance it delegates to rather than inheriting from FileFinder. r=glandium
MozReview-Commit-ID: LKYCROED06S
2016-08-17 15:02:31 -07:00
Wes Kocher 02224536e4 Merge m-c to autoland, a=merge 2016-08-10 16:56:26 -07: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 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
Elias Probst fa561f244a Bug 1293234 - Use octal notation for permission modes in the build system; r=gps
As of Python 3, decimal notations of octal values for permission modes
are no longer permitted and will result in a `SyntaxError` exception
(`invalid token`).

Using the proper octal notation which is also Python 2.7 compatible will
fix this issue.

--HG--
extra : rebase_source : 2e897c51f04ad0ee69071f84b98df224f3af72d3
2016-08-08 13:45:17 +02: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
Carsten "Tomcat" Book d9e0b4c565 merge mozilla-inbound to mozilla-central a=merge 2016-08-09 15:44:51 +02: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
Mike Hommey 69e768cba4 Bug 1292439 - Use a fake _winreg module during tests. r=chmanchester
While on automation, there is no MSVC to find through the registry, the
story is different on local builds, and that can interfere with tests.

Specifically, it breaks test_toolchain_configure.py because it's not
expecting the registry to provide a valid path to an almost valid
compiler, and then fails because that compiler doesn't match the
expected target CPU.

And because build/moz.configure/toolchain.configure also affects the PATH
environment variable, subsequent tests end up failing even earlier
because executing the empty mozconfig with the modified environment then
fails because of the unicode value of PATH.

This change implements enough of _winreg to make the get_registry_values
function return nothing.

--HG--
extra : rebase_source : f70e40ddabaed1197f6cddce67832bb112f1969d
2016-08-05 14:16:35 +09:00
Mike Shal 035d0ca1a0 Bug 1293385 - Remove idls attribute from BackendMakeFile; r=gps
MozReview-Commit-ID: 4X9iIJArkYg

--HG--
extra : rebase_source : e31ff98109e0f25fadc6f17c685302a2252b214a
2016-08-05 13:23:44 -04:00
Mike Hommey 50a4467ec3 Bug 1282256 - Make MozbuildObject.resolve_config_guess an instance method. r=gps
The last use that didn't have an existing instance was just removed.

--HG--
extra : rebase_source : 81f99e8a8d8046c9741e8a27072a6c4773fa7292
2016-08-04 13:43:47 +09:00
Mike Hommey e6fb85ebb3 Bug 1282256 - Make MozbuildObject.resolve_mozconfig_topobjdir an instance method. r=gps
The only use that didn't have an existing instance was just removed.

--HG--
extra : rebase_source : 47891a9bd5c6ecef31d8a2c7053c1ae8efe36fa5
2016-08-04 13:41:57 +09:00
Mike Hommey ad5e3fa4c4 Bug 1282256 - Remove MozbuildObject._config_guess. r=gps
Back when it was added, it was used, but it is not anymore, outside
test_base.py.

--HG--
extra : rebase_source : f0b9a4dab2985e89e9950eda774ae853c7de764c
2016-08-04 10:07:56 +09:00
Mike Hommey 6168f0df5b Bug 1282256 - Avoid loading mozconfig in MozbuildObject.from_environment. r=gps
We've been reading the mozconfig in MozbuildObject.from_environment to
check whether the mozconfig topobjdir matches the detected topobjdir.

Since bug 1278415, everything using the buildconfig python module now
calls MozbuildObject.from_environment, which reads the mozconfig. A lot
of things to that during the build. But none of them actually need the
data from the mozconfig, and the topobjdir match test has been breaking
things randomly on multiple occasions.

The topobjdir match test, however, really only needs to happen once:
when a mach command starts. So we can move the test to MachCommandBase,
where it belongs, and anything actively using MozbuildObject.mozconfig
will have the mozconfig read, but everything else won't.

On a Linux64 opt build, this brings down the number of times the
mozconfig is read during `mach build` from 979 to 9.

--HG--
extra : rebase_source : 6b340f1fcf73a3c3987033c37f8f14ef06a44f04
2016-08-04 11:17:41 +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 eb1514a4c1 Bug 1231764 - part 3 - rename RustRlibLibrary to RustCrate; r=chmanchester
rlibs are going to be less important once we start building with cargo:
the focus will move to crates instead, so that's what we should call the
moz.build object.
2016-08-06 00:49:26 -04:00
Nathan Froyd 63d290c934 Bug 1231764 - part 2 - pass the srcdir of an rlib in the moz.build object; r=chmanchester 2016-08-06 00:49:26 -04:00
Nathan Froyd 4fb1a7545d Bug 1231764 - part 0 - only link librul once; r=chmanchester
Through an oversight, we listed librul.a twice when linking libxul: once
as part of the "objects" we were linking, and once as a static library.
This duplication is unnecessary and would cause problems later when we
try to generate librul.a via cargo, as cargo will put it someplace
different from where we expect and the two names will conflict.  Let's
have rules.mk be the single source of truth for how librul.a is named,
and then the code to link libxul can simply refer to that name.
2016-08-06 00:49:26 -04: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 be1a17c817 Bug 1231764 - part 3 - rename RustRlibLibrary to RustCrate; r=chmanchester
rlibs are going to be less important once we start building with cargo:
the focus will move to crates instead, so that's what we should call the
moz.build object.
2016-08-03 19:40:41 -04:00
Nathan Froyd c94c59b23b Bug 1231764 - part 2 - pass the srcdir of an rlib in the moz.build object; r=chmanchester 2016-08-03 19:40:41 -04:00
Nathan Froyd a79d68b929 Bug 1231764 - part 0 - only link librul once; r=chmanchester
Through an oversight, we listed librul.a twice when linking libxul: once
as part of the "objects" we were linking, and once as a static library.
This duplication is unnecessary and would cause problems later when we
try to generate librul.a via cargo, as cargo will put it someplace
different from where we expect and the two names will conflict.  Let's
have rules.mk be the single source of truth for how librul.a is named,
and then the code to link libxul can simply refer to that name.
2016-08-03 19:40:41 -04: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 318ded3048 Bug 1289949 - Make mozpack.path properly handle paths on mingw python. r=gps
Mingw python has a different os.path setup from native python, and has
os.sep and os.altsep reversed. In that case, the normsep function was
doing the wrong thing, leading to all sorts of problems.

While fixing this, also ensure the corresponding unit test covers this
peculiarity, even when running under the native win32 python.

--HG--
extra : rebase_source : 8fb18e0d4dc669c1d7e069f73fc44c22d419d43c
2016-07-28 18:50:57 +09:00
Ehsan Akhgari 926b72001b Bug 1281968 - Include the flags passed through CC/CXX in ./mach compileflags; r=gps 2016-07-28 15:12:12 -04:00
Mike Hommey e6ea4a5bfe Bug 1195748 - Make mach clobber never auto-log. r=gps
This never was a problem since auto-logging was broken on Windows, but
having mach clobber auto-log is a problem on Windows since it tries to
remove the log file while itself has it open, which fails.

--HG--
extra : rebase_source : 6da9f3e6148c201eade01d4598ce9c4becd051a0
2016-07-27 16:29:02 +09:00
Mike Hommey 6283835342 Bug 1195748 - Fix mach auto-logging on Windows. r=gps
We were relying on the log manager's terminal to know whether we're
running on a terminal to turn on auto-logging, but the log manager's
terminal is always None on Windows because blessings imports curses,
which doesn't work on Windows.

So instead, just use a plain os.isatty() call.

The same problem also applies to the show-log command to trigger the
pager (less). At the same time, fix the environment setting for LESS,
as on Windows, unicode literals are not allowed in the environment.

--HG--
extra : rebase_source : 1462849608c8cb86afcb080184efb50caf6d2f9e
2016-07-27 13:42:18 +09:00
Carsten "Tomcat" Book 7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Nick Alexander c6f2ef4d51 Bug 1268944 - Remove GeckoView packaging. r=chmanchester
The best kind of patch: bulk deletion.  This removes two separate but
similar build flags, and an unsupported integration piece.  The first
packaged Fennec's resources into an ill-defined GeckoView archive; the
second built on the first to produce an Android ARchive for external
consumption.  Neither of these artifacts are supported or have
consumers; in fact, they mislead potential consumers, since they're
known to be broken.  The Gradle build work under the --with-gradle
flag, and significant follow-up, is the path forward if Mozilla wants
to invest in packaging GeckoView on Android for external consumption.
That is, rather than hacking together AAR files, we'll use the
well-supported Gradle mechanisms for building and publishing such
libraries.

MozReview-Commit-ID: 4Z1jJ8z0cyJ

--HG--
extra : rebase_source : b8e65f39c286313fe8963bf3832d9b6977ef188f
2016-07-25 11:54:03 -07:00
Gregory Szorc 217ec4c7cc Bug 1288610 - Add functions for creating deterministic tar archives; r=ted
I have a need to create tar archives deterministically
and reproducibly. Since we already have similar functionality in
mozpack for producting zip/jar archives, I figured it made sense for
this functionality to live in mozpack.

I made the functionality as simple as possible: we only accept
files from the filesystem and the set of files must be known in
advance. No class to hold/buffer state: just a simple function
that takes a mapping of files and writes to a stream.

MozReview-Commit-ID: If0NTcA7wpc

--HG--
extra : rebase_source : 9cbea36347ba2840dd5bff9dffefd994a73a0725
2016-07-25 12:46:07 -07:00
Carsten "Tomcat" Book b9a6c687fa merge mozilla-inbound to mozilla-central a=merge 2016-07-25 15:50:41 +02: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
Geoff Brown 0d1fe4cb03 Bug 1288450 - Add min sdk version to mozinfo.json; r=ahal 2016-07-22 14:31:36 -06:00
Nathan Froyd ed6e02e2df Bug 1288795 - remove dead assignments in test_emitter.py; r=chmanchester
Prevailing style in the file for when read_topsrcdir is being tested for
exception-throwingness is to omit the assignment, so let's make
everything consistent.
2016-07-23 00:28:05 -04:00
Geoff Brown 813df3ea0e backout 69094e855e27 for mozinfo test failures 2016-07-22 09:31:09 -06:00
Geoff Brown e85a5267b7 Bug 1288450 - Add min sdk version to mozinfo.json; r=ahal 2016-07-22 08:18:49 -06: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
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
Carsten "Tomcat" Book a61e84c9f3 merge fx-team to mozilla-central a=merge 2016-07-17 09:16:38 +02:00
Xidorn Quan 41183dd2dc Bug 1287069 - Add --disable-e10s for mach run. r=gps, a=KWierso
MozReview-Commit-ID: 2rIEsYwxZj5

--HG--
extra : amend_source : a9ce0e812cf1fb43641e8bb6a608806a383210f9
extra : transplant_source : %EA%97%EC%EC%7Dc%E9%3C%01%93%A4%3F%95X%864R/%1B%96
2016-07-15 20:20:49 +10:00
Nathan Hakkakzadeh e5cc1aa101 Bug 1100925 - Vendored pylru 1.0.9 into mozilla-central. r=gps
This makes building on msys2 easier since its pip is broken.

MozReview-Commit-ID: 1hQHeu3BKOd

--HG--
extra : rebase_source : 5447d96893a502225980d1dab7b4f89b888ad661
2016-07-13 14:22:01 -07:00
Andrew Halberstadt d3c5539c81 Bug 1278890 - Add xpcshell support to test package mach environment, r=armenzg
This adds the 'xpcshell-test' command to the mach environment found in the test
package. This will allow developers to easily run xpcshell after checking out
and interactive worker.

MozReview-Commit-ID: fBAbfuG5XQ

--HG--
extra : rebase_source : 71077c9142f33843ed87d4bc4617a780f775939b
2016-07-13 10:55:37 -04:00
Nathan Hakkakzadeh 9a1951f28d Bug 1100925 - bin_path method of virtualenv.py in mozbuild now accurately detects if virtualenv is in a windows system. r=gps
Before bin_path would detect msys2 as if it were a windows system which would cause a virtualenv problem since the binaries should go in a /bin folder not a /Scripts folder for msys2.

Based on a patch by :vlad 89b21efe93

MozReview-Commit-ID: IyAukszHGmN

--HG--
extra : rebase_source : 9ada9cf61b76c85cf483ad8212c95d17070a7025
2016-06-02 12:26:47 -07:00
Nathan Hakkakzadeh 496b526e30 Bug 1100925 - Added mingw32-make to the list of possible makes. r=gps
Technically, this includes the mingw64 version of make, but it is still called mingw32-make when installed from pacman with msys2.

This is a necessary step to make Firefox build on a pure msys2 environment.

Also, unlike mozmake, because this make is installed from a package manager. It can be automatically updated.

MozReview-Commit-ID: EAN6xmIgYWd

--HG--
extra : rebase_source : 43fe0d4b35e91f1143ce2ea1d20f5f3c5f1f7c86
2016-05-31 15:47:37 -07: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 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
Gijs Kruitbosch 47178e3a6c Bug 1282420 - fix artifact builds so they don't depend on mach being invoked in the topsrcdir, r=chmanchester
MozReview-Commit-ID: BjgxYVI2se0
2016-06-27 14:42:38 +01:00
Gregory Szorc 71f937363c Bug 1294475 - Remove disabling of 8dot3 filenames; r=glandium
Since it conflicts with moz.configure which resolves shortnames since
parts of the build system don't like paths with spaces.

MozReview-Commit-ID: nJkRV4Nafo

--HG--
extra : rebase_source : 9f2db54ec38eb0f05b478b445c0a883ca69b0127
2016-08-16 10:04:20 -07: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
Mike Shal b7110a8a71 Bug 1275111 - Move artifact download/install into its own tier; r=glandium
This also fixes the issue of processing the artifacts twice in some
situations (bug 1275673). Note that the artifact download no longer
happens when a specific target is passed to 'mach build'.


MozReview-Commit-ID: Ktys6u3r1kG
2016-06-01 13:48:53 -04:00
Chris Manchester 4821b30b36 Bug 1278700 - Add missing libraries to Mac artifact builds to avoid failing in the packager when doing an artifact build on automation. r=mshal
MozReview-Commit-ID: 7wv57TcdLUR
2016-06-17 00:58:36 -07:00
Mike Hommey a4b157940a Bug 1278415 - Make the buildconfig module use MozbuildObject.from_environment. r=gps
The buildconfig module predates MozbuildObject.from_environment, and
it's about time to start factoring things out such that we only have
one way to get config.status data. This is step 1: making the
buildconfig module use MozbuildObject.from_environment.

Eventually, we'll want to remove the buildconfig module uses everywhere.
2016-06-16 11:43:35 +09:00
Mike Hommey 721ada9f07 Bug 1278415 - Ensure MOZ_CURRENT_PROJECT is set when running make directly in objdir. r=gps
The topobjdir-finding logic in mozbuild relies on MOZ_CURRENT_PROJECT
being set, and it's currently only set when going through client.mk.

On automation, during universal builds, make check is invoked directly
in one of the objdirs, so MOZ_CURRENT_PROJECT is not set. We've had
other similar problems in the past. Ensuring MOZ_CURRENT_PROJECT is set
in the objdir itself should reduce the risk of other such issues in the
future.
2016-06-16 11:43:30 +09:00
Mike Hommey 8a3b88f341 Bug 1278415 - Also write a mozinfo for js standalone builds. r=gps
Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).

Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.
2016-06-16 11:43:23 +09:00
Justin D'Arcangelo 26ebe8e651 Bug 1272102 - FlyWeb Android UI. r=sebastian
--HG--
extra : amend_source : b1bac8800988d31790a64a293403336375e5effd
2016-06-08 21:37:06 -04:00
Chris AtLee e1b0b79d4d Bug 1275998 - L10n repacks should use the same compression settings for omni.ja as en-US r=glandium
MozReview-Commit-ID: DwuERh5MjX7

--HG--
extra : rebase_source : f447a41ebe48ab075327e0c0f8372d72976b6333
2016-05-27 08:37:09 -04: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
Chris Manchester 6e0414ca1a Bug 1277841 - Use defines and substs from the artifact mach command instead of importing buildconfig in artifacts.py r=glandium
MozReview-Commit-ID: 8fMtTWR93Bw

--HG--
extra : rebase_source : f7e4b2057fea8ecbbcfe15b52226f4a15865e855
2016-06-06 16:14:21 -07:00
Mike Hommey a9067e9211 Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted
Killing the sccache background daemon is part of postflight_all, but in
the current setup, postflight_all happens at the end of a "normal" build,
but we run automation build steps after that.

What happens then is that more compilations happen (gtests), which start
sccache again, but there's nothing to kill sccache again once this is
all done.

Now that the OSX universal builds postflight is gone, it is not
necessary for postflight_all to happen before the automation build steps.
So ensure postflight_all scripts happen last.

The downside of this change is that this now prevents sccache.log from
being uploaded, but we should probably send processed data to the graph
server instead.
2016-06-07 07:41:22 +09:00
Carsten "Tomcat" Book c51c48ac35 Backed out changeset 1d2c46c8c7c7 (bug 1244446) 2016-06-06 14:28:44 +02:00
Mike Hommey 8fdf97ddfe Bug 1244446 - Run automation build steps before postflight_all. r=gps,r=ted
Killing the sccache background daemon is part of postflight_all, but in
the current setup, postflight_all happens at the end of a "normal" build,
but we run automation build steps after that.

What happens then is that more compilations happen (gtests), which start
sccache again, but there's nothing to kill sccache again once this is
all done.

Now that the OSX universal builds postflight is gone, it is not
necessary for postflight_all to happen before the automation build steps.
So ensure postflight_all scripts happen last.

The downside of this change is that this now prevents sccache.log from
being uploaded, but we should probably send processed data to the graph
server instead.
2016-06-06 14:18:39 +09:00
Chris Manchester 79fb27c7a1 Bug 1274090 - Attempt to convert str objects containing non-ascii characters in Python configure rather than failing outright. r=glandium,gps
MozReview-Commit-ID: CxFqFXS7Dh9

--HG--
extra : rebase_source : cd5136461756248335245d433b579dd06d266c97
2016-05-31 10:34:05 -07:00