Commit Graph

3000 Commits

Author SHA1 Message Date
Nathan Froyd
0d5d951951 Bug 1476973 - part 3 - rationalize the backend's IDLManager; r=gps
The IDLManager in the moz.build backend is a bit weird.  It maintains a
bunch of per-IDL file information, some of which isn't used, and
attempts to map module names to information about what entities the
module needs to be built.  The former is done with Python dicts, and the
latter with Python tuples, both resulting in some contortions by the
clients of IDLManager to specify exactly what they need.

Let's clean this up, by making IDLManager to more clearly do two jobs:

1. Keep track of whether IDL files are globally unique; and
2. Map module names to the information needed to build them.

In the case of #2, we store everything as a straight Python object, so
we can use actual property accesses everywhere.  We also provide a
stems() function on IDLManager to make some client code more
straightforward.

Doing this makes IDLManager much more XPIDL module-centric, and paves
the way for the same change to be made in the frontend as well.
2018-07-24 14:30:53 -04:00
Nathan Froyd
4582c25c93 Bug 1476973 - part 2 - assert that XPIDL_SOURCES files all exist; r=gps
We should have been checking for this from the beginning.
2018-07-24 14:30:53 -04:00
Nathan Froyd
9f214bda6a Bug 1476973 - part 1 - make XPIDL_SOURCES a list of SourcePath objects; r=gps
XPIDL_SOURCES would benefit from being more explicit about what sort of
values it contains; let's define it as a list of SourcePath objects, and
propagate those objects into XPIDLFile frontend objects as well.
2018-07-24 14:30:54 -04:00
Mike Shal
83ae44a8c1 Bug 1476802 - Make toolkit/library/rust/Tupfile work with --dry-run; r=cmanchester+432261
We shouldn't call _get_backend_file during TupBackend:_init() since
self.dry_run is not set yet. Instead we can just call it when we need to
add rust rules.

MozReview-Commit-ID: 5elqXGFMSuG

--HG--
extra : rebase_source : 880a754f631f691aaf85bfda610e29b7bfcb89b4
2018-07-18 17:20:13 -04:00
Chris Manchester
9491263075 Bug 1475278 - Link a HostRustLibrary to a HostProgram where necessary in the Tup backend. r=mshal
MozReview-Commit-ID: qghHI02Bfs

--HG--
extra : rebase_source : e04cf40916032d312785e99f2b4e6c64657ad919
2018-07-12 16:31:54 -07:00
Masatoshi Kimura
632e94cf4d Bug 1476000 - Support warnings format from clang-cl. r=dmajor
--HG--
extra : rebase_source : faf01d659a589c81718e58e2c73b1b46063ce989
2018-07-17 01:08:04 +09:00
Dan Minor
3f5a7a7356 Bug 1445683 - Don't update mimetype when updating aom; r=chmanchester
The bitstream is frozen and we're updating to v1.0.0. There is no longer any need
to indicate which revision we're using in the mimetype.

--HG--
extra : rebase_source : 5f5bf8649bd21610ebf04661e8f80bacbb69ca09
2018-07-09 13:29:55 -04:00
Dan Minor
0928a56595 Bug 1445683 - Handle JSONDecodeError in aom vendor command; r=chmanchester
MozReview-Commit-ID: 9MgxqkoHnfw

--HG--
extra : rebase_source : cc085ef0c0de570dfe25d412edb267c7a36c9389
2018-05-17 10:37:16 -04:00
Chris Manchester
d6b368dff1 Bug 1472490 - Make adding a source to SOURCES, UNIFIED_SOURCES, or HOST_SOURCES multiple times an error in moz.build. r=gps
MozReview-Commit-ID: FtPF3dxUxb5

--HG--
extra : rebase_source : ad380999c41830ea0f088bdacf5fc04c95783f04
2018-07-13 15:55:45 -07:00
Gurzau Raul
cf965b1f59 Merge inbound to mozilla-central. a=merge 2018-07-12 01:04:09 +03:00
Dan Minor
a8d7d7ecf2 Bug 1371485 - Use updated version of gyp; r=chmanchester
Tags: #secure-revision

Bug #: 1371485

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

--HG--
extra : rebase_source : 87cd91fdc0cc873c7f78e128f545524f66947035
2018-06-21 14:39:34 -04:00
Dave Hunt
2847cb1fcb Bug 1473727 - Avoid recreating virtual environment every time by using a unique environment for each Python version; r=ahal,dustin
This patch uses the PIPENV_PYTHON environment variable to append a suffix to the created virtual environment path according to the version specified. It also uses the PIPENV_DEFAULT_PYTHON_VERSION environment variable to avoid recreating the virtual environment every time. With these changes we are able to switch back and forth between Python versions without the expense of recreating environments, however there is a risk of these environments becoming stale. In this scenario it may be necessary to clobber the virtual environment root within the obj dir.

MozReview-Commit-ID: C4vuwNh04CP

--HG--
extra : rebase_source : 301c8418fe5b873ffadec37af11e98cfda8667b8
2018-07-09 14:57:38 +01:00
Andrew Halberstadt
812d9fb038 Bug 1413922 - [mozversioncontrol] Always use hglib.client if available and fall back to subprocesses if not, r=gps
Most HG commands use subprocesses, even if a context manager (and therefore an
hglib client) has been created. There are only two commands that make use of
the client, but they *only* work inside a context manager. I don't think
there are any technical reason these two commands *need* to use the context
manager.

This patch merges the HgRepository._run_in_client function with
HgRepository._run(). If a client exists, that will be used, otherwise a
subprocess will be used.

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

--HG--
extra : moz-landing-system : lando
2018-07-10 20:41:49 +00:00
Jacek Caban
041db4695b Bug 1443471 - Use correct rust target for mingw clang. r=glandium
MozReview-Commit-ID: G40IanxGWXv

--HG--
extra : rebase_source : 6d8ba3af796848320cc7e3db05e9c83ba4fecb45
2018-06-25 19:57:43 +02:00
assiya
cd6fa5ad82 Bug 1474531 - Replace iteritems with viewitems in lcov_rewriter.py. r=marco
MozReview-Commit-ID: FKEHK8dyQSC

--HG--
extra : rebase_source : faf77a17fd7888f9a685c3fd692c2e8eff205afb
2018-07-10 09:20:42 -07:00
Andreea Pavel
3a4de89781 Backed out changeset d75218b99a04 (bug 1473727) for build bustages on a CLOSED TREE 2018-07-10 18:17:47 +03:00
Dave Hunt
4c269c0a47 Bug 1473727 - Avoid recreating virtual environment every time by using a unique environment for each Python version; r=ahal,dustin
This patch uses the PIPENV_PYTHON environment variable to append a suffix to the created virtual environment path according to the version specified. It also uses the PIPENV_DEFAULT_PYTHON_VERSION environment variable to avoid recreating the virtual environment every time. With these changes we are able to switch back and forth between Python versions without the expense of recreating environments, however there is a risk of these environments becoming stale. In this scenario it may be necessary to clobber the virtual environment root within the obj dir.

MozReview-Commit-ID: C4vuwNh04CP

--HG--
extra : rebase_source : ba34e415fa21683bc2a39231651587fa30ad0242
2018-07-09 14:57:38 +01:00
Tiberius Oros
92ba19b150 Merge inbound to mozilla-central. a=merge 2018-07-10 12:45:13 +03:00
Nathan Froyd
0daa8edfcc Bug 1444171 - Add pgo-generate-only source functionality; r=glandium
For clang-cl, we want to add code to libxul that only exists during the
PGO generation phase, so we can collect data.  The most expedient way to
do that is to enable certain files in SOURCES to be marked as to only be
compiled during the PGO generation step.
2018-07-09 18:35:49 -04:00
Nathan Froyd
9277d23dba Bug 1444171: Generate profiling instrumentation for clang-cl in PGO builds; r=glandium 2018-07-09 18:26:24 -04:00
Chris Manchester
dc4c4637b0 Bug 1468547 - Re-factor gtest mach command to not invoke make when not necessary. r=mshal
MozReview-Commit-ID: 6j7t0YIZc8n

--HG--
extra : rebase_source : e4478904d4f4e54ead473435df2c9e9a47a9294c
2018-07-09 14:28:59 -07:00
Chris Manchester
1d6bf9c8d4 Bug 1468547 - Build the gtest libxul in the tup backend. r=mshal
MozReview-Commit-ID: 8EISyDauwgD

--HG--
extra : rebase_source : 2c9b4848b6fd8126f4d15f75312ba4e3c999ba6d
2018-07-09 14:28:58 -07:00
Chris Manchester
ce084d3cf5 Bug 1468547 - Add a default output group to the Tup backend. r=mshal
This adds everything to a default output group so we can run `tup upd $objdir/<default>`
during `mach build` and `tup upd $objdir/<gtest>` for instance when running `mach gtest`
as a way to conditionally build parts of the tree.

MozReview-Commit-ID: 8jpkru1EgAC

--HG--
extra : rebase_source : 5a2c4fd0e0b1b62f8bd65dd1a23ba2086ba63eeb
2018-07-09 14:28:58 -07:00
Mike Hommey
b2837054ff Bug 1469091 - Build the clang plugin as a host shared library. r=ted
This adds just enough host shared library support for this one use case,
but also takes shortcuts, because fully supporting host shared library
is a deep rabbit hole I'm not ready to take just to fix --enable-lto
--enable-clang-plugin on mac builds.

One downside is that one my machine the plugin now takes > 80s to build,
instead of 15s before, thanks to the lack of unified sources.

--HG--
extra : rebase_source : bf52a72a01d4e3eb77cf52b646b19734b9273075
2018-07-05 14:58:09 +09:00
Dave Hunt
c20ffc6c6b Bug 1472199 - [mozbuild] Remove unittest dependency from test_pythonutil.py and narrow to tests module; r=ahal
The test checks the modules imported, which means it will fail if we import mozbuild.base to determine the topsrcdir. Rather than include the additional modules, which may change in the future, I have narrowed the scope of the test to the mozbuild/tests module.

MozReview-Commit-ID: GiaPzp19adE

--HG--
extra : rebase_source : 9d79ad79bef2b45e3f62190200bc46f21d57f90d
2018-07-05 14:27:29 +01:00
Mike Hommey
da38aeba7d Bug 1457168 - Make configure tests use LINKER_LDFLAGS. r=chmanchester
Because we have no linking configure test in python configure (yet), we
just make old-configure tests use LINKER_LDFLAGS, and make those flags
added to LDFLAGS by old-configure at the same time.

--HG--
extra : rebase_source : 80ab7c5021c7ddd1b53d58ef76cd4372a524d3cb
2018-07-04 16:18:48 +09:00
Nathan Froyd
c1a8b8a10d Bug 1473291 - handle valueless dynamic section entries; r=glandium
Some dynamic entry types, like DT_BIND_NOW, are printed without a value
by readelf.  Handle such types gracefully.
2018-07-04 20:51:25 -04:00
Bogdan Tara
6eafe1c00b Backed out changeset 9c75cab2e322 (bug 733530) for breaking artifact builds 2018-07-04 14:50:22 +03:00
Chris AtLee
8745339529 Bug 733530: Use .tar.gz for test archives r=gps
Differential Revision: https://phabricator.services.mozilla.com/D1743

--HG--
extra : moz-landing-system : lando
2018-07-03 18:33:02 +00:00
Andi-Bogdan Postelnicu
88041b74a8 Bug 1472721 - mach static-analysis - use header_filter regex expression in order to better filter files. r=janx
MozReview-Commit-ID: JXzs46L23rM

--HG--
extra : rebase_source : 04d663479fbc5785ec99ec1a4bfdbd9f19b25cd2
2018-07-03 14:37:46 +03:00
Myk Melez
cb3429d30b Bug 1467148 - exclude .DS_Store file from list of subdirs to check for license info, r=ted
vendor_rust.py checks all dirs in third_party/rust/ for license information, but it wasn't distinguishing between subdirs and files when listing the contents of that directory, and the script earlier causes macOS to create a .DS_Store file in the directory, which the script then treats as a subdir, causing an IOError "not a directory". This change excludes the .DS_Store file (and other non-dirs) from the list of subdirs of third_party/rust/ to check for license info.

MozReview-Commit-ID: 4CrJH9tZLnG

--HG--
extra : rebase_source : 464ad17f4c9b76303f9024d8eaad475b1fc248f7
2018-07-02 14:27:22 -07:00
Andi-Bogdan Postelnicu
68fedeb80b Bug 1472502 - fix mach static-analysis clear-cache. r=sylvestre
MozReview-Commit-ID: AUlYNnEAtbS

--HG--
extra : rebase_source : 049909e12ee8ad187912ee18c3b810fd90f74b76
2018-07-02 12:05:07 +03:00
Kris Maglione
b2a784a8bf Bug 1459004: Generate built_in_addons.json from moz.build definitions. r=mshal
MozReview-Commit-ID: 1HRLG5tSlFr

--HG--
rename : python/mozbuild/mozbuild/action/generate_builtin_addons.py => toolkit/mozapps/extensions/gen_built_in_addons.py
extra : rebase_source : 7079d5f6a9355201497ea85a0d8ea8fdcee43a64
2018-06-06 16:43:00 -07:00
Andrew Halberstadt
9435736ade Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt
This will make sure that when running |mach python-test --python 3| locally,
we only run the tests that also run in CI with python 3 (and therefore pass
presumably).

MozReview-Commit-ID: 3OBr9yLSlSq

--HG--
extra : rebase_source : 456340d0ecdddf1078f2b5b4ebb1eddf3813b26a
2018-06-27 11:10:02 -04:00
Mike Hommey
e44bfe7b57 Bug 1471685 - Work around MSVC linker adding padding during incremental builds. r=froydnj
--HG--
extra : rebase_source : 0e6f711d5f8517ca37d39c6f5a39cd0c0e3ec387
2018-06-28 15:53:25 +09:00
Cosmin Sabou
f4b3baf021 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-28 13:04:23 +03:00
Tiberius Oros
945c24abe5 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-28 01:12:18 +03:00
Chris Manchester
fd325c1c6f Bug 1471425 - Print output of cargo if it fails when run as a part of the Tup backend. r=mshal
MozReview-Commit-ID: BRVSLE83WMH

--HG--
extra : rebase_source : ce2b5b785a6487db09136882452d509c842c758f
2018-06-26 18:17:45 -07:00
Joel Maher
e923cd7f53 Bug 1468198 - remove tests that only run on b2g. r=smaug,mcmanus,whimboo 2018-06-27 09:52:19 -04:00
Bhavesh
6fb877a7a8 Bug 928735 - Added ALLOW_COMPILER_WARNINGS and FAIL_ON_WARNINGS to DEPRECATED_VARIABLES list r=chmanchester
--HG--
extra : amend_source : 94b3e7b561507a27401c9a534e3d55eaa22622f3
2018-06-27 09:36:52 +05:30
Andreea Pavel
00c91fc905 Backed out 6 changesets (bug 1371485) for failing spidermonkey build on a CLOSED TREE
Backed out changeset 9578824cbdde (bug 1371485)
Backed out changeset 36bca079ba29 (bug 1371485)
Backed out changeset c205b5921de8 (bug 1371485)
Backed out changeset 17fc0da77821 (bug 1371485)
Backed out changeset da14dc867e22 (bug 1371485)
Backed out changeset 7b604564918d (bug 1371485)
2018-06-27 21:10:15 +03:00
Dan Minor
dbb123a006 Bug 1371485 - Use updated version of gyp; r=chmanchester
Tags: #secure-revision

Bug #: 1371485

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

--HG--
extra : rebase_source : 5c6bb163af9b03e70a8b128ef477c2a4922d6ca4
2018-06-21 14:39:34 -04:00
Mike Hommey
0ddc27774e Bug 1471132 - Change how static xpcom components are linked. r=froydnj
Overall, this makes the whole setup less fragile, and make it work with
LTO in more situations.

--HG--
extra : rebase_source : de968c61dc4ef337fdc28745c202334ac41763cd
2018-06-26 14:40:51 +09:00
Mike Hommey
b231504a1b Bug 1471132 - Avoid ASAN padding between NSModules. r=froydnj
--HG--
extra : rebase_source : 480ea315a847ffb63a8cb1e583669a61f1a7f3eb
2018-06-26 14:39:49 +09:00
Mike Hommey
354a9e27a0 Bug 1470127 - Move binary checks to a standalone script. r=froydnj
We perform, on the binaries we build, a series of check, that are
implemented as half-baked make commands, invoked after linking them.

- check libstdc++ symbol versions to ensure binary compatibility with
  a baseline.
- check glibc symbol versions to ensure binary compatibility with a
  baseline.
- check that target binaries don't contain text relocations.
- check that libmozglue is linked before libc on android.
- on libxul, check that NSModules are laid out correctly.
- on libxul, check that there is more than one PT_LOAD segment.

Those checks happen to work where they matter, but their setup is
unreliable. For example, the checks for symbol versions are supposed to
work for libclang-plugin on cross osx builds, but in fact, don't,
because the readelf path doesn't exist, and the command doesn't fail in
that case.

So move them all to a standalone script, performing the checks more
thoroughly (especially the NSModules one, where we now also check that
they are all adjacent), and more verbosely.

--HG--
extra : rebase_source : 7072e622e95f363d4a6c3a8e272d3445d998b592
2018-06-21 18:13:03 +09:00
Chris AtLee
0a72084572 Bug 733530: Support tar.gz test archives for artifact builds r=gps
Differential Revision: https://phabricator.services.mozilla.com/D1841
2018-06-26 20:30:24 +00:00
Dan Mosedale
7514746d09 Bug 1466574 - make generate_builtin_addons handle races better, r=ted
MozReview-Commit-ID: D9irkni3gQv

--HG--
extra : rebase_source : 22ce8dd77b1d9f22c82fe58e6b8a515828cbb840
2018-05-31 09:56:20 -07:00
Gregory Szorc
871e349399 Bug 1469999 - Use yaml.safe_load() for loading clang-tidy config file; r=chmanchester
yaml.load() isn't secure.

--HG--
extra : rebase_source : 03eb1715acd62ab8c98bf4d850cc39a88140a998
extra : histedit_source : 8b3b4823c1f1c20be58494a5f98041e7c46ca3b4
2018-06-20 14:29:06 -07:00
Dave Hunt
cc768253df Bug 1466211 - Use --python for selecting target Python when using |mach python-test|; r=ahal
MozReview-Commit-ID: J8DSmX8mItb

--HG--
extra : rebase_source : 0e471ade56c7bb78fe090f05e7657ae1f35f7936
2018-06-13 14:18:21 -07:00
Dave Hunt
3a2583759b Bug 1466211 - Switch all |mach python-test| tests to run using pipenv; r=ahal
MozReview-Commit-ID: AzmdDgAgZgI

--HG--
extra : rebase_source : cd4603b707bd4ca3f7e0783cf5b9adb8c47a9e01
extra : source : e550be515be30148c0a89c33953dff4148a6a171
2018-06-08 13:24:27 +01:00