Commit Graph

4439 Commits

Author SHA1 Message Date
Mike Hommey
dd60f8bf2c Backout changeset de0a7a1cdc4a from bug 1240660 for make package bustage on a CLOSED TREE 2016-01-20 08:03:58 +09:00
Mike Hommey
299b5dc832 Bug 1240660 - Move jar_maker to the misc tier, now that ordering does't matter. r=gps 2016-01-20 07:24:40 +09:00
Mike Hommey
92596da030 Bug 1240657 - Fix FasterMake race condition leading to missing "manifest interfaces.manifest" entries. r=gps
Turns out the claim in bug 1234439 that the FasterMake backend knows
about all the chrome manifest entries is wrong, and there's still one
that is added "manually" with buildlist.py, and during mach build
faster, that can happen before or after the corresponding chrome
manifests are written out by install manifest processing.

While the real fix here would be to make the build system totally
aware of those "manifest interfaces.manifest" entries, for now, it's
simpler to add dependencies to work around the race condition.
2016-01-20 07:24:40 +09:00
Mike Hommey
3c783859f9 Bug 1237140 - Pass NSS_EXTRA_SYMBOLS_FILE down to nss.symbols processing. r=gps 2016-01-20 07:24:40 +09:00
Jeff Muizelaar
1567e4e3c3 Bug 1228641. Remove initializer_list from stl-headers
Including new before initializer_list seems to cause problems like:

c:\tools\vs2013\vc\include\xutility(1278) : error C2065: 'initializer_list' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1278) : error C2065: '_Ilist' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1281) : error C2433: 'rbegin' : 'inline' not permitted on data declarations
c:\tools\vs2013\vc\include\xutility(1281) : error C2365: 'std::rbegin' : redefinition; previous definition was 'function'
c:\tools\vs2013\vc\include\xutility(1281) : error C2998: 'std::reverse_iterator<const _Elem*> std::rbegin' : cannot be a template definition
c:\tools\vs2013\vc\include\xutility(1284) : error C2065: 'initializer_list' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1284) : error C2065: '_Ilist' : undeclared identifier
c:\tools\vs2013\vc\include\xutility(1287) : error C2433: 'rend' : 'inline' not permitted on data declarations
c:\tools\vs2013\vc\include\xutility(1287) : error C2365: 'std::rend' : redefinition; previous definition was 'function'
c:\tools\vs2013\vc\include\xutility(1287) : error C2998: 'std::reverse_iterator<const _Elem*> std::rend' : cannot be a template definition

initializer_list shouldn't very be doing any allocation or throwing exceptions so we should be fine.
2016-01-15 19:51:37 -05:00
Dan Minor
30f2bba053 bug 1237619: Record build objects in resource_usage.json r=gps
Collecting the list of object files compiled, while not ideal, will give us
some indication of how much work was involved in the build. This will help
with analyzing the data.

--HG--
extra : rebase_source : e9861ed5c0766e3ee8038dbec0b9267022c523eb
2016-01-12 14:00:24 -05:00
Jed Davis
f45414c2f0 Bug 1133073 - Use PR_DuplicateEnvironment to avoid post-fork malloc on all Linux platforms. r=dhylands 2016-01-11 14:17:01 -08:00
Jed Davis
64f3bc56b6 Back out 7f6bb9f7e60d (bug 1133073) for bustage. Sorry about that. 2016-01-11 13:29:53 -08:00
Jed Davis
a73c98c3e5 Bug 1133073 - Use PR_DuplicateEnvironment to avoid post-fork malloc on all Linux platforms. r=dhylands 2016-01-11 12:46:50 -08:00
Jeff Muizelaar
b29099ae6d Bug 1228641. Add a polyfill of std::initializer_list. r=froydnj 2016-01-06 22:06:35 -05:00
Jean-Yves Avenard
0830385b17 Bug 1214462: P5. Enable ffvpx compilation and use. r=glandium 2016-01-06 23:03:53 +11:00
Mike Hommey
036949880e Bug 1235108 - Install bookmarks.html from jar.mn instead of a custom Makefile rule. r=gps 2016-01-05 20:03:43 +09:00
Nicholas Nethercote
4c2f5d70aa Bug 1232219 (follow-up) - Fix nsinstall.c bustage in SM(e) builds. r=me.
--HG--
extra : rebase_source : 7a20a75c01fda19f04b6db9df88c09dc681d9ef0
2016-01-04 17:11:21 -08:00
Phil Ringnalda
33c7af5cab Back out 6 changesets (bug 1214462) for Win PGO build bustage, reftest failures and mochitest failures
CLOSED TREE

Backed out changeset 803dba2adb27 (bug 1214462)
Backed out changeset e1b318c9c1db (bug 1214462)
Backed out changeset 3a421412b161 (bug 1214462)
Backed out changeset 2b388a17f4be (bug 1214462)
Backed out changeset 6a290f27f9bc (bug 1214462)
Backed out changeset 3dbf22bf17a4 (bug 1214462)
2015-12-30 20:37:08 -08:00
Jean-Yves Avenard
5aa2f09698 Bug 1214462: P5. Enable ffvpx compilation and use. r=glandium 2015-12-31 13:17:24 +11:00
Mike Hommey
d5c0c5233a Bug 1235733 - Use absolute paths for include paths. r=gps
Limit ourselves to include paths for now, because there are tricky things
involved in making this globally.

While here, use shell_quote instead of manual quoting for those paths.
2015-12-31 08:10:02 +09:00
Mike Hommey
2fcd7f7524 Bug 1235676 - Add a global ABS_DIST variable for a non-relative version of DIST, based on topobjdir. r=mshal
This replaces multiple local definitions of ABS_DIST.
2015-12-31 08:10:02 +09:00
Mike Hommey
969f681cbc Bug 1235743 - Move compiler flags used for dependency generation to a separate variable. r=gps
This might seem like going in the opposite direction of what we tend to do
to move to moz.build land, but those flags are irrelevant in many situations
and are better separated out.
2015-12-31 07:35:04 +09:00
Mike Hommey
e0c501a1c1 Bug 1235738 - Move MOZ_DEBUG_DEFINES to build frontend. r=gps
MOZ_DEBUG_DEFINES are essentially defines used everywhere. So treat them as
feeding the initial value for DEFINES in each moz.build sandbox. This allows
the kind overrides that was done in the past by resetting MOZ_DEBUG_DEFINES
in Makefiles.
2015-12-31 07:27:23 +09:00
Mike Hommey
60fde7dd14 Bug 1235132 - Remove _PR_* symbols from nss.symbols. r=gps
The only affected symbols are
_PR_<architecture>_Atomic{Decrement,Set,Add,Increment}, they are not exposed in
public headers, have a different name on each architecture, and have a public
API: PR_Atomic{Decrement,Set,Add,Increment}.
2015-12-31 07:25:42 +09:00
Mike Hommey
e6c2b71205 Bug 1235132 - Convert sqlite and nss to SYMBOLS_FILE. r=gps
--HG--
rename : config/external/nss/nss.def => config/external/nss/nss.symbols
rename : db/sqlite3/src/sqlite.def => db/sqlite3/src/sqlite.symbols
2015-12-31 07:22:08 +09:00
Mike Hommey
54704ce9a1 Bug 1235132 - Add support for a more-or-less cross-platform symbols file. r=gps
Currently, one needs to define DEFFILE or LD_VERSION_SCRIPT appropriately,
and somehow deal with the fact that their input format is different, which
currently relies on manual invocations of the convert_def_file script, with
awkward aggregations.

This simplifies the problem by using a simple list of symbols, with
preprocessing, allowing #includes.
2015-12-31 07:22:04 +09:00
Mike Hommey
d5126527fe Bug 1235021 - Always use the % marker for preprocessed css files. r=gps
Currently, only css files added through jar manifests are treated this way.
There is really no reason for the discrepancy, but there are actually no css
files added directly through moz.build, so this was never a problem.

On the other hand, it makes things simpler in a world where jar manifests are
treated as if they were entirely described in moz.build (which is where the
FasterMake backend is heading).
2015-12-31 07:06:11 +09:00
Mike Hommey
d7478b6b1e Bug 1234955 - Make TEST_DIRS a SPECIAL_VARIABLE. r=gps
Using TEST_DIRS is nothing more than a shortcut for

if CONFIG['ENABLE_TESTS']:
    DIRS += [...]

As such, we might as well remove it being a separate variable, and use some
Context magic to just fill DIRS when ENABLE_TESTS is set.

The security/manager/ssl/tests/unit/moz.build change ensures that the order
of DIRS before the change is kept, not because it matters, but because it
allows to confirm that nothing else is modified by this change.
2015-12-24 13:12:49 +09:00
Mike Hommey
2eabcb84c2 Bug 1234439 - Use new install manifests feature for chrome manifests in the FasterMake backend. r=gps
Bug 1191230 added override lines with # characters to chrome manifests
for Windows.

So far, chrome manifests were handled with buildlist.py like in the
RecursiveMake backend, fed with Make variables. Without proper quoting,
those Make variables are just truncated by Make on the first # character,
and this results in mach build faster failing because of that.

However, the reason why chrome manifests were handled with buildlist.py
originally is that not all chrome manifest entries were known to the
FasterMake backend, but they now all are.

So instead of relying on Make variables and buildlist.py, we can now
rely on the newly added install manifests feature allowing to create files
with a given content.
2015-12-24 13:12:29 +09:00
Mike Hommey
d2b231a4b9 Bug 1233282 - Move mozilla-config.h's export to moz.build. r=gps 2015-12-23 16:18:56 +09:00
Chris Peterson
6ef290e177 Bug 1232223 - Part 2: Remove MOZ_VPX #ifdefs because VPx is always supported, though not necessarily enabled. r=jya 2015-12-12 13:21:55 -05:00
Chris Peterson
88051371a9 Bug 1232223 - Part 1: Remove MOZ_WEBM #ifdefs because WebM is always supported, though not necessarily enabled. r=jya r=glandium 2015-12-12 13:49:07 -05:00
Birunthan Mohanathas
1cc56207d5 Bug 1227569 - Remove unsupported OpenVMS code. r=mccr8 2015-12-18 15:02:50 +02:00
Mike Hommey
8ad03f4a21 Backout changesets 53a9d03e4223, e61d18180feb and f07752f611f6 (bug 1233282) for a race condition bustage on a CLOSED TREE. 2015-12-18 17:07:13 +09:00
Mike Hommey
3949f1ba56 Bug 1233282 - Move mozilla-config.h's export to moz.build. r=gps 2015-12-18 15:57:12 +09:00
Nathan Froyd
bd48dbd1fc Bug 1208566 - emit proper dependencies when compiling Rust sources; r=mshal 2015-12-17 12:14:33 -08:00
Wes Kocher
5f38bdeff2 Backed out 2 changesets (bug 1208566) for breaking mulet builds
Backed out changeset a5618a5cbc7f (bug 1208566)
Backed out changeset f3fd530324ee (bug 1208566)

--HG--
extra : commitid : DaxmN4TLzwv
2015-12-17 09:34:33 -08:00
Nathan Froyd
aa7ce205e6 Bug 1208566 - emit proper dependencies when compiling Rust sources; r=mshal 2015-12-17 08:25:03 -08:00
ffxbld
1d2b3f2fb6 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-12-14 15:15:51 -05:00
Mike Hommey
158e08c29b Bug 1230355 - Remove include_deps. r=mshal
We used to use include_deps to trigger a fast-path in pymake, but we don't
use pymake anymore, so we can use normal includes now.
2015-12-09 19:23:53 +09:00
Mike Hommey
830a72f8a1 Bug 1230060 - Use process_install_manifest's --track option in the FasterMake backend. r=gps
This can probably be extended to the RecursiveMake backend, but I'd rather leave
that for later.
2015-12-05 11:04:21 +09:00
Carsten "Tomcat" Book
774dac6729 Backed out changeset a788c06e448a (bug 1230060) 2015-12-04 15:17:36 +01:00
Mike Hommey
10d4c3b4aa Bug 1230060 - Use process_install_manifest's --track option in the FasterMake backend. r=gps
This can probably be extended to the RecursiveMake backend, but I'd rather leave
that for later.
2015-12-04 19:25:42 +09:00
Nathan Froyd
af7d367869 Bug 1229740 - add <array> to the list of wrapped system headers; r=glandium 2015-12-02 07:21:37 -05:00
Jan Beich
a407397c29 Bug 1218027 - "--with-system-icu fails: js/src/jsapi.cpp:69: error: visibility does not match previous declaration". r=mh+mozilla 2015-10-23 15:49:00 +02:00
Mike Hommey
3b9cda439c Bug 1229241 - Use FINAL_TARGET{,_PP}_FILES for JS_PREFERENCE{,_PP}_FILES. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey
861b5a242a Bug 1229241 - Redirect EXTRA{_PP}_COMPONENTS to FINAL_TARGET{,_PP}_FILES.components. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey
e5b1bb9e4e Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps
We have many unit tests in the tree for some small parts of the build system
pipeline, but we don't have anything that resembles an end to end test, and we
kind of rely on the resulting Firefox not being broken by our changes.

With the Faster make backend growing, I want to ensure it produces the same
thing as the recursive make backend, at least for the parts it supports.

This adds some kind of test that allows to check that.
2015-12-01 13:57:52 +09:00
Mike Hommey
d8414e8e44 Bug 1229233 - Ensure the target directory for copies exists in the FasterMake backend. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey
fc199d9034 Bug 1229233 - Skip building XPIDL when there aren't any in the FasterMake backend. r=gps
The test I'm about to add doesn't have XPIDL files, and that currently avoids
the FasterMake backend to run properly. Also, in the future, when the FasterMake
grows the ability to build C++ files, it should be possible to build Spidermonkey
with the FasterMake backend, but it doesn't have XPIDL files either.
2015-12-01 13:57:52 +09:00
Mike Hommey
513dd064fd Bug 1227852 - Remove the --with-dist-dir configure flag from js/src/. r=mshal 2015-12-01 08:25:22 +09:00
Mike Hommey
3a04b1f8dc Bug 1228444 - Make DIST_FILES a HierarchicalStringList, like FINAL_TARGET_FILES. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey
655579a1fa Bug 1228444 - Don't silence "no preprocessor directives found" warnings for DIST_FILES. r=gps
and move files without preprocessor directives to FINAL_TARGET_FILES.
2015-12-01 08:25:22 +09:00
Mike Hommey
3900e2c115 Bug 1227892 - Emit a specialized object for chrome.manifest entries. r=gps
This new ChromeManifestEntry object type is generic and can hold any kind of
chrome manifest entry, but we currently only emit them for binary components.

References to sub-directory manifests is left to the backend, for now, until
all manifest entries are emitted by the frontend.
2015-12-01 08:25:22 +09:00