Commit Graph

3443 Commits

Author SHA1 Message Date
Ted Mielczarek
24f3ed4b74 bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=nalexander,rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 599b3b661c7a8a5db1f32a2a9732fc202fb55e1e
2017-12-14 10:20:33 -06:00
Mark Banner
feaa8433c8 Bug 1424921 - Support Lint dependencies in bootstrap. r=froydnj
- Add node as a dependency on Linux and Mac
- Add python3 for Mac only (linux generally has it installed already).

MozReview-Commit-ID: EpNWFTI9UXc

--HG--
extra : rebase_source : 755e8575e6e6c261c1ccaf9e5fe08e66502a4c3c
2018-01-03 21:11:44 +00:00
Margareta Eliza Balazs
c06fd8b9d6 Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2018-01-04 10:07:11 +02:00
Mike Hommey
30a3720ffb Bug 1427468 - Allow to run mach python without a virtualenv. r=nalexander
Sometimes, one just wants to run a one-off script with access to all
(or most) the libraries available like mozbuild, etc. but without
the weight of the whole virtualenv, which implies having an objdir
setup, etc.

One of my use cases is to run our preprocessor before the objdir is even
setup, and I'd rather not have one automatically created.

--HG--
extra : rebase_source : a6ad30a47ea8e497b274845caf7a9504b9f13282
2017-12-31 15:50:29 +09:00
Mike Hommey
7a9ee121e8 Bug 1427466 - Allow mach clobber python to work without an objdir. r=nalexander
--HG--
extra : rebase_source : e7190fdfbfd8fdecd0e2bf638ca09444d455dc94
2017-12-31 15:38:34 +09:00
Andrew Halberstadt
0ad7a325e3 Bug 1421799 - [test_archive] Add 'mozterm' to common.tests.zip r=gbrown
This makes sure the mozterm module is available to the testers. The
setup.py was needed to it could be installed from requirements.txt.

This module does not yet live on pypi.

MozReview-Commit-ID: 9AL0EZ1uVgL

--HG--
extra : rebase_source : 882d4ec5ec9b80f20ca63e5c7303752427b390d2
2017-12-15 16:51:30 +00:00
Zibi Braniecki
6d15cb5ce6 Bug 1411012 - Migrate a small chunk of Privacy pane in Preferences to Fluent. r=mshal,Pike
MozReview-Commit-ID: ahAZCinoui

--HG--
extra : rebase_source : 2e3d68eb1ff91c1ee885d66756d2db74faff13f3
2017-11-09 12:11:32 -08:00
Sebastian Hengst
e6dbbae0aa Backed out 5 changesets (bug 1421799) for failing firefox ui functional tests. r=backout on a CLOSED TREE
Backed out changeset f9f32474fdaf (bug 1421799)
Backed out changeset 18b4fa241936 (bug 1421799)
Backed out changeset 88dca5c8cfac (bug 1421799)
Backed out changeset 8c1f1ab754a5 (bug 1421799)
Backed out changeset e028f677bc80 (bug 1421799)
2018-01-03 20:21:28 +02:00
df1aa1417d Bug 1421799 - [test_archive] Add 'mozterm' to common.tests.zip r=gbrown
This makes sure the mozterm module is available to the testers. The
setup.py was needed to it could be installed from requirements.txt.

This module does not yet live on pypi.

MozReview-Commit-ID: 9AL0EZ1uVgL

--HG--
extra : rebase_source : 4052f60e5e793d912045a9bd420d70c59e8a69fb
2017-12-15 16:51:30 +00:00
Mike Hommey
6994b7e8fd Bug 1427450 - bootstrap: Don't install mesa, libiw and libnotify development files. r=froydnj
mesa is not necessary as of bug 938489 (there was even a bootstrap patch
that never landed)
libiw is not necessary as of bug 799391.
libnotify is not necessary as of bug 783765.

--HG--
extra : rebase_source : f6ecc18e50f8f92cb02ed16c87a6192800ea250d
2017-12-31 09:15:44 +09:00
Pierre Bertran
057b85f2b3 Bug 1427790 - Ensure that Java8 is bootstrapped on Mac to maintain Android SDK compatibility. r=nalexander
--HG--
extra : rebase_source : 72d0e4aeb9e9c0132d77f22abdcda60a0b5b3503
2018-01-03 08:32:00 -05:00
Makoto Kato
336ace5ab7 Bug 1397776 - Removing armv6 config support for Android. r=glandium
We no longer support Android/armv6 and we requires NEON for Android/arm, so
we can remove armv6 support for Android.

MozReview-Commit-ID: Hh17BTyE0wR

--HG--
extra : rebase_source : 57e043ecb1bb57a026c0b656b82768b899ddae78
2017-12-15 16:32:54 -06:00
Tom Prince
ab3a2abe59 Bug 1426528: Get rid of support for BRANDING_FILES in moz.build; r=glandium
MozReview-Commit-ID: 72R6toOA1R0

--HG--
extra : rebase_source : 3b6fe30f8a3821026b80bfb060a3873865a2d70d
2017-12-20 15:42:05 -07:00
Tom Prince
f8e4948e67 Bug 1426528: Pass paths to extra dmg files explicitly when packing; r=glandium
MozReview-Commit-ID: FKwZcNycUW8

--HG--
extra : rebase_source : 3972c8719c58e03483a7d2bded1705df0a82dfda
2017-12-21 13:38:35 -07:00
Tom Prince
739a0defb2 Bug 1427213: Clean up docstrings in mozpack.path; r=glandium
MozReview-Commit-ID: 91cm9XJROy0

--HG--
extra : rebase_source : 1ab1ce1063096651f9095fd221656c852b6892d8
2017-12-27 15:57:32 -07:00
Ryan VanderMeulen
63ac251398 Bug 1426793 - Add DevEdition to mozinfo. r=nalexander 2017-12-23 16:39:53 -05:00
Andreea Pavel
78bc55ae1f Merge inbound to mozilla-centra r=merge a=merge 2017-12-22 11:54:07 +02:00
Mike Hommey
cffd7e8396 Bug 1426555 - Move --enable-stdcxx-compat to python configure. r=chmanchester
At the same time, we make it actually do something on spidermonkey
builds. We also add an environment variable alternative, that we use
in mozconfig.stdcxx, allowing for mozconfig.no-compile to override it
and avoid configure failures on e.g. artifact builds.

--HG--
extra : rebase_source : b68d362025e0c99f9184a03391c652ec2c9357ad
2017-12-21 11:13:08 +09:00
Mike Hommey
ec8fa73867 Bug 1426555 - Allow to add host compiler flags from python configure. r=chmanchester
Bug 1325632 added some facility to add target compiler flags. This
change extends it to add allow adding host compiler flags as well.

--HG--
extra : rebase_source : 424b405a1d8f9a4778ff75c3308c9622f050e194
2017-12-21 11:11:22 +09:00
Csoregi Natalia
1dcea46201 Backed out 2 changesets (bug 1401647) for Spidermonkey Build Bustage on Linux x64. r=backout on a CLOSED TREE
Backed out changeset b5c9bb05168d (bug 1401647)
Backed out changeset 0542716bb901 (bug 1401647)
2017-12-21 14:14:26 +02:00
Ted Mielczarek
67204b6593 bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 366dd966cafe4f07b8e59fc170d2db2dada32627
2017-12-14 10:20:33 -06:00
Mike Shal
6354eccf0c Bug 1426452 - Remove check_top_objdir() call from CompileDB; r=chmanchester
Prior to bug 1224450, CompileDB used data from the Makefiles to generate
the compilation command-lines. Now that the data is derived entirely
from moz.build, we don't need to check that the Makefile is present.
This enables a simple "ac_add_options --build-backends=CompileDB"
mozconfig to work without building a make backend first.

MozReview-Commit-ID: 9tYumyUyg5Y

--HG--
extra : rebase_source : 979f729076b3ab4fd719924877b7ef195e34bfd7
2017-12-20 13:44:34 -05:00
Mike Shal
3183073e99 Bug 1424417 - Use dry-run flag for backend.mk files; r=glandium
For cases like BackendMakefile where we don't have access to
BuildBackend._write_file(), we need to make sure that FileAvoidWrite
uses the dry-run flag in order to avoid writing out files during a
config.status --dry-run.

MozReview-Commit-ID: ApsSQPySImt

--HG--
extra : rebase_source : 70775f48b7bbea82ce94b0cd9467815c2abe8e8c
2017-12-13 11:31:16 -05:00
Chris Manchester
08507804bf Bug 1336429 - Add the ability to build GN projects in the tree with mozbuild. r=gps
This commit adds a frontend construct, `GN_DIRS`, to facilitate building
gn projects with moz.build. Directories added to `GN_DIRS` get particular
treatment by two build backends added here as well, `GnConfigGen` and
`GnMozbuildWriter`.

The `GnConfigGen` backend runs `gn gen` for a gn project specified in
`GN_DIRS` and dumps this configuration as json, which is filtered to include
only those elements that will be needed by mozbuild. `gn gen` is run in
the context of a single build's configuration, so when adding or updating
a gn project it will be necessary to run this step with each supported
configuration.

The `GnMozbuildWriter` aggregates the config files generated by the
`GnConfigGen` backend, which it expects to find in the `gn-configs` directory
under the directory specified to `GN_DIRS`. The result is written to a set of
moz.build files suitable for building the project that are intended to be
checked in to the tree.

Once these moz.build files are checked in to the tree the project can be built
as any other directory: when using a general purpose build backend such as
RecursiveMake or FasterMake to build, entries in `GN_DIRS` will be treated as a
normal entries in `DIRS`.


MozReview-Commit-ID: KlHuP4DY2R4

--HG--
extra : rebase_source : b16079b3417bee3e58b0ecc8724b54c1b9d87d98
2017-12-07 15:58:18 -08:00
Cosmin Sabou
b0098afaea Merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-12-13 12:14:29 +02:00
Nathan Froyd
6d4a891a5f Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester
This has the virtue of not executing python three times during configure
just to read the same value of milestone.txt and munge it.  We can also
remove milestone.py as a happy side effect, so all the milestone
computations can be done in init.configure.
2017-12-04 11:19:25 -05:00
Mike Shal
4222dff239 Bug 1423809 - Fixup dist/bin/Tupfile generation; r=nalexander
Bug 1416891 introduced a line in moz.build that uses
LOCALIZED_FILES['..'], which ended up created a BackendTupfile object
for 'dist/bin/browser/../Tupfile' separate from the BackendTupfile
object for 'dist/bin/Tupfile'. Since both objects write to the same
file, the one with a '..' in the path ended up clobbering the original
one.

This patch makes two small changes, either of which would be sufficient
to fix the problem. First, we only get the backend file in
_process_final_target_files() when we actually use it (the
LOCALIZED_FILES in this case goes through the else case). Second, we now
call normpath in _get_backend_file() to ensure things like '..' are
resolved so that any future cases of 'Tupfile' and 'foo/../Tupfile'
end up pointing to the same object.

MozReview-Commit-ID: KDGBdtQ18lK

--HG--
extra : rebase_source : 8322e6bfccf2db8ee303e1ecf6ae954380b1ebc7
2017-12-08 14:37:30 -05:00
Mike Shal
cc6efb003d Bug 1423809 - Support localized generated files in the tup backend; r=nalexander
These files fail to build in the tup backend because the --locale
argument is missing and scripts like generate_update_locale.py require a
locale. Since the tup backend currently only supports en-US, we can just
hardcode this argument for now.

MozReview-Commit-ID: 7Js1yd9QB01

--HG--
extra : rebase_source : 387b5cfd0379ae3fd857e8c58722cfbca189e058
2017-12-08 13:53:44 -05:00
Andreea Pavel
5ba2665757 Merge inbound to mozilla-central r=merge a=merge 2017-12-09 22:21:17 +02:00
Marco Castelluccio
5bdea7cd14 Bug 1424227 - Close temporary file before reopening it to avoid a Permission Denied error on Windows. r=me
--HG--
extra : amend_source : 7b4a8aa77cda9bbe299077b01b976338644cdc3a
2017-12-09 14:54:02 +01:00
Marco Castelluccio
620f5c481b Bug 1424227 - Make lcov rewriter tests use a temporary file. r=me
--HG--
extra : rebase_source : be68b68adce5b6222270d7e87f2846f741d409c6
2017-12-09 11:55:58 +01:00
Marco Castelluccio
d3e702147f Bug 1424227 - Support merging multiple input info files into a single output info file. r=chmanchester
--HG--
extra : rebase_source : 2f1d17209f75f5e0a3308c79582371b0f016d049
2017-12-09 01:38:34 +01:00
Marco Castelluccio
a63e7d0d25 Bug 1424216 - Support passing directories as inputs to lcov_rewriter.py. r=chmanchester
--HG--
extra : rebase_source : 222a976c075d79eeb53a5d048489a30372466178
2017-12-08 12:54:33 +01:00
Daniel Holbert
6a511dd13f backout changesets 50f8950fc2bc and cc0a899aa73a (bug 1424216) for bustage 2017-12-08 17:34:30 -08:00
Marco Castelluccio
b1502eb28e Bug 1424227 - Support merging multiple input info files into a single output info file. r=chmanchester
--HG--
extra : rebase_source : 1df6385ebcdb7a5af04b53d517311c80c3d74086
2017-12-09 01:38:34 +01:00
Marco Castelluccio
f7232c4f34 Bug 1424216 - Support passing directories as inputs to lcov_rewriter.py. r=chmanchester
--HG--
extra : rebase_source : dcd77d4cd4f566cd08aef77078bfb6483ef754ae
2017-12-08 12:54:33 +01:00
Mike Hommey
e0bbb4aa9e Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Bug 1256642 introduced magic at the emitter level to determine whether a
binary contains C++ sources and should be linked with the C compiler or
the C++ compiler.

Unfortunately, the Binary() moz.build template always adds C++ OS
libraries on Android (through STLPORT_LIBS), and C++ libraries on Linux
(stdc++compat).

The latter only ends up forcing every Binary() to be linked with the C++
linker, which is unfortunate, but doesn't cause much problems. The
former, however, involving OS libraries, the magic from bug 1256642
doesn't kick in, so we end up trying to link C++ OS libraries with the C
linker. Which ends up failing, because the libraries in STLPORT_LIBS
require -lm, which, while it's added by the C++ compiler when linking,
is not when the linkage is driven by the C compiler.

Because the fallible library, linked to all GeckoBinary()s is a C++
library, we still ended up linking with the C++ compiler on Android, so
this wasn't actually causing any problem... until I tried to remove that
fallible library in bug 1423803.

Anyways, the core problem is that moz.build evaluation is happening too
early to know whether any C++ sources are being linked together, so
there is no way the Binary() template can do the right thing. So this
change moves the logic to the emitter.

This also changes the type of STLPORT_LIBS to a list.

--HG--
extra : rebase_source : a70ddf7a132f94dc10e7e1db94ae80fb8d7a269f
2017-12-07 12:15:32 +09:00
Ralph Giles
751b02f86b Bug 1424439 - mozboot: Update to rust 1.22.0. r=nalexander
Since bug 1421097, rust 1.22.0 is required to build, but
mozboot was still considering 1.21.0 sufficiently new.
bumpt the version there as well so `./mach bootstap`
will update to the required version.

MozReview-Commit-ID: moYo0KSsU

--HG--
extra : rebase_source : 900a962f5742b24ccd6ce3decc0242ff4fe36456
2017-12-08 16:42:28 -08:00
Mike Shal
46018c907b Bug 1423438 - Fix invalid .pp content for process_define_files.py; r=glandium
The process_define_files action uses the PartialConfigEnvironment to
query buildconfig values, but it should only be doing it for 'define'
and 'undef' statements. It was incorrectly also querying the
PartialConfigEnvironment with other preprocessor statements like 'if'
and 'include', which caused bogus entries to appear in the generated
dependency file.

MozReview-Commit-ID: IJptyXGluC7

--HG--
extra : rebase_source : a30aed7a37ec8d9c993cad22dc7f4bef1064edef
2017-12-07 10:54:28 -05:00
Mike Shal
76de7367bd Bug 1421038 - Rename 'relativedir' to 'relsrcdir'; r=nalexander
The name 'relativedir' is ambiguous - it is unclear whether it is a
relative srcdir or objdir. Rename it to 'relsrcdir' in the
ContextDerived() object to match the naming used in Context() so it is
obvious that it is a relative srcdir.

Most of these are a straight text replacement from relativedir to
relsrcdir, except for tup.py:_get_backend_file(), which was supposed to
be using an objdir in the first place.

MozReview-Commit-ID: 9eFHOCMofq5

--HG--
extra : rebase_source : bcd981953fcd72a8c049de02eca9cf31c04dff3c
2017-12-07 14:52:50 -05:00
Tom Ritter
c6b16dff10 Bug 1393817 Fix L10N check for MinGW build r=ted
exe_7z_archive.py runs during the MinGW build L10N check step, and
hardcodes 7z as the 7zip executable. This works on Windows, but not
Linux. We need to pass it the correct executable for 7zip, which is
located during configure.

However, repacks (repackage-winXX-nightly) don't do configure, and
don't have the tools to do configure. So we leave the default
command in the python script if one is not supplied.

MozReview-Commit-ID: B7GEKRYEJTD

--HG--
extra : rebase_source : 10ec7e688d53341625217306e88f2e647195ce8d
2017-12-07 11:09:43 -06:00
Emilio Cobos Álvarez
2bfa17d6f7 Bug 1423911: Update cargo-vendor requirement. r=kats
on a CLOSED TREE, so the sync bot can't clobber the revendor again.

MozReview-Commit-ID: 1SzllPXnCKd
2017-12-07 16:14:38 +01:00
Masatoshi Kimura
0427005429 Bug 1416465 - Expand pattern when track file is created rather than read. r=mshal
MozReview-Commit-ID: WISu4wThdw

--HG--
extra : rebase_source : 480c508f8437a7a31f9a12c8548f1b4be6cbbdeb
2017-12-02 16:51:19 +09:00
Narcis Beleuzu
7a627826a6 Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-12-06 01:47:41 +02:00
Cosmin Sabou
08218515b9 Merge mozilla-inbound to mozilla-central r=merge a=merge 2017-12-06 00:09:01 +02:00
Ted Mielczarek
efd8100ef0 bug 1416891 - Open output files in binary mode for GENERATED_FILES. r=nalexander,gps
The script behind GENERATED_FILES currently opens output files in text mode,
which means that they wind up with CRLF line endings on Windows. With
switching updater.ini to use LOCALIZED_GENERATED_FILES, this means that it
will wind up with different line endings than it currently has.

Changing this to use binary format means that we'll have LF line endings
everywhere, which shouldn't harm anything on Windows as most of our generated
files are source files anyway.

MozReview-Commit-ID: 7rTUDtVGL82

--HG--
extra : rebase_source : 53a604c225477ad02e439b7b9ace587aefd0785a
2017-11-30 11:32:29 -05:00
Mike Shal
92ff4a1e33 Bug 1319222 - Enable compilation on all directories in the tup backend; r=chmanchester
MozReview-Commit-ID: D5NlgEHVydZ

--HG--
extra : rebase_source : f1abb438a0fbd1bf1afbe4610eb0faf9916e1a4b
2017-11-22 13:26:33 -05:00
Mike Shal
d50a647313 Bug 1319222 - Support compiling *.s with yasm; r=chmanchester
The moz.build files that specify USE_YASM = True will get the value of
AS_DASH_C_FLAG and AS overwritten in PassthruVariables. We can save
those in the BackendTupfile and use them in place of the configure or
default settings as appropriate. This enables compilation of those .s
files that are built with yasm.

MozReview-Commit-ID: J66q8nKQ0an

--HG--
extra : rebase_source : 0ee97ef7a2122b42f1d21c473539a2e6352bd9ab
2017-11-22 17:12:50 -05:00
Mike Shal
b0392c330f Bug 1319222 - Enable host compilation in the tup backend; r=chmanchester
MozReview-Commit-ID: 4hp6oH7YOd7

--HG--
extra : rebase_source : a6afa0967aaf3820b38372ca56df258789f00953
2017-11-22 16:24:33 -05:00
Mike Shal
6fab321f11 Bug 1319222 - Add include flags to HOST_*; r=chmanchester
This accounts for LOCAL_INCLUDES in the moz.build files, as well as the
default INCLUDES specified in config.mk that are used for host
compilation. Since some of the HOST_CFLAGS were also used for linking,
those flags are split off into HOST_C{XX}_LDFLAGS so that
the linker-only flags can be placed in those variables.

MozReview-Commit-ID: J1LxIZVeFJ

--HG--
extra : rebase_source : ed7293604e5428e3124f1ecfb2b706e087436b72
2017-11-22 16:23:44 -05:00