Commit Graph

1619 Commits

Author SHA1 Message Date
Mike Hommey
975c98bf84 Bug 1229226 - Remove preprocessing support for RESOURCE_FILES. r=gps
No resource file is preprocessed in gecko, and no resource file is defined
in comm-central.
2015-12-01 13:57:52 +09:00
Mike Hommey
8991c7de99 Bug 1228467 - Make the preprocessor error out for "no preprocessing directives" instead of warning. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey
e6640e1ccd Bug 1228444 - Rename DIST_FILES to FINAL_TARGET_PP_FILES. r=gps
This makes it clearer that really it's the same thing as FINAL_TARGET,
with preprocessing.
We still keep DIST_FILES in backend.mk because it's shorter and doesn't
really matter.
2015-12-01 08:25:22 +09:00
Mike Hommey
bfb9659d48 Bug 1228444 - Make DIST_FILES a HierarchicalStringList, like FINAL_TARGET_FILES. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey
5f18a2a5fe 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
77c70061bb Bug 1228444 - Validate that FINAL_TARGET_FILES source files exist. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey
5bc3501aa1 Bug 1227892 - Add basic tests for IS_COMPONENT/NO_COMPONENTS_MANIFEST. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey
0f35f34571 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
Mike Hommey
544aa093d5 Bug 1227892 - Add a NO_COMPONENTS_MANIFEST moz.build variable. r=gps
The variable is used by Lightning in comm-central and influences
binary-component manifest creation.
2015-12-01 08:25:22 +09:00
Dave Townsend
67b6efe88d Bug 1228628: Move all eslintignore rules to the top-level of the tree. r=mconley 2015-11-27 09:39:59 -08:00
Carsten "Tomcat" Book
d229b39c6e merge mozilla-inbound to mozilla-central a=merge 2015-11-26 16:54:27 +01:00
Nick Alexander
1858db610f Bug 1227600 - Fix |mach bootstrap| bustage on Mac OS X. r=me,gps
DONTBUILD NPOTB on a CLOSED TREE
2015-11-25 11:11:39 -08:00
Mike Hommey
d7d07b12ef Bug 1224452 - Quote passthru variables. r=gps
Ideally, we should properly make and shell quote everything we print out
in makefiles, but that's a can of worms I don't want to open just yet. So
I'll limit myself to just passthru variables.
2015-11-26 08:51:02 +09:00
Mike Hommey
3456476a3e Bug 1224452 - Better handle make variable references from gyp files. r=gps
This further improves the changes from bug 1224460 to e.g. handle variable
references mixed with text, and to avoid adding empty strings to the
resulting flags variables when the expansion leads to an empty string.
2015-11-26 08:50:59 +09:00
Mike Hommey
7f991d690b Bug 1224452 - Add an expand_variables helper function to do simple make-like variable expansion. r=gps 2015-11-26 08:50:54 +09:00
Mike Hommey
7e349babef Bug 1224452 - Use mozbuild.shellutil.split instead of shlex.shlex in mozbuild.compilation.util. r=gps
And then properly quote the strings when printing them out in the compilation
database or the mach compileflags output.
2015-11-26 08:50:44 +09:00
Mike Hommey
ce1968240d Bug 1224452 - Move shell_quote to the shellutil module. r=gps
Also make it only quote when actually necessary.
2015-11-26 08:49:18 +09:00
Mike Hommey
9c615cc34b Bug 1226884 - Keep em:unpack addons unpacked after bug 1216371. r=gps 2015-11-23 22:40:00 +01:00
Mike Hommey
ade5fca422 Bug 1151124 - Add a simplified version of pymake's clinetoargv to mozbuild and use it. r=gps
Pymake's clinetoargv is very specific to pymake's use case, yet has been abused
as a replacement for shlex because shlex doesn't handle things properly for our
use cases.

Using pymake's clinetoargv, however, has shortcomings, and we're better off
importing its code in mozbuild, simplifying it a little, and using that
instead.

Plus, less dependencies on pymake will help kill it for good some day.
2015-11-24 11:29:14 +09:00
Geoff Brown
99d1a07479 Bug 1219807 - Support 'mach run --debug' for Android; r=jmaher 2015-11-19 13:15:34 -07:00
Mike Hommey
590798cde2 Bug 1224460 - Expand make variable references we get out of gyp. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
a393b0fc6a Bug 1216371 - Pack addons that can be packed as XPIs. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
a572e164b4 Bug 1216371 - Distinguish between addons that can be packed and those that cannot in the packager. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
c15f45a0d4 Bug 1216371 - Use the PiecemealFormatter for the OmniJarFormatter. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
b147420c97 Bug 1216371 - Use the PiecemealFormatter for the JarFormatter. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
fa11e28895 Bug 1216371 - Introduce a PiecemealFormatter base package formatter. r=gps
FlatFormatter, JarFormatter and OmniJarFormatter all, in some way, deal
with different pieces of the package being handled differently.

Instead of each of them dealing with their different pieces in some subtly
different way, instead, introduce a new base package formatter class that
will handle it for all of them.

Use this new PiecemealFormatter for the FlatFormatter.
2015-11-19 08:05:51 +09:00
Mike Hommey
35043820ae Bug 1216371 - Add a proxy class to access a subtree of a FileRegistry as an independent FileRegistry. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
f8c97aa911 Bug 1216371 - Don't assume the root directory is a base directory in packager formatters. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
784aa8e307 Bug 1216371 - Add tests for *Formatter.contains(). r=gps
And fix OmniJarFormatter.contains after bug 910660.
2015-11-19 08:05:51 +09:00
Mike Hommey
4c6775a4cb Bug 1216371 - Don't rely on OmniJarFormatter.is_resource for test_omnijar_is_resource. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
d3942b2e5a Bug 1216371 - Add package formatter tests emulating mac packaging. r=gps
Only directories containing chrome manifests are given as base to formatters,
but there can still be files given outside the bases, like, on mac builds,
all files in Content/MacOS, or Content/Info.plist, whereas chrome manifests
are under Content/Resources.
2015-11-19 08:05:51 +09:00
Mike Hommey
408650c3f3 Bug 1216371 - Rearrange test_packager_formats.py. r=gps
There is a lot of repetition across its various tests, and we're going to add
some more in a subsequent change, so it is desirable to make it a less
repetitive task.
2015-11-19 08:05:51 +09:00
Chris Manchester
0953a7e528 Bug 1219521 - Add imported python modules in the tree to dependencies of GENERATED_FILES scripts. r=glandium 2015-11-16 16:51:51 -08:00
Mark Hammond
92fa43fe9a Bug 1224689 - Add a 'sync' mozinfo variable and only run test_remotetabmatches.js if it is defined. r=ted 2015-11-15 15:21:00 +01:00
Harshit Bansal
1a2ab7ecb3 Bug 1217039 - Created a function android_ndk_url() in android.py and used it in all other sub-modules to calculate the URL. r=mshal 2015-11-15 14:49:08 +01:00
Chris Manchester
2a6a9f4abe Bug 1224411 - Speed up FileRegistry._partial_paths by memoizing on the basis of directory. r=nalexander
This function was found to be a little slow while profiling due to repeated calls to
mozpath.dirname. This patch speeds up the function replacing dirname with string manipulation
(these paths are already normalized), by caching results on the basis of directory,
and converting from iteration to recursion to increase use of the cache.

This commit speeds up the "install tests" step run as a part of the build and running
tests by ~10% on a fast linux laptop.
2015-11-13 16:14:40 -08:00
Mike Hommey
e1f83df5a7 Bug 1219104 - Disallow multiple jar.mn mentioning the same files for the same build in the FasterMake backend. r=mshal 2015-11-14 08:40:54 +09:00
Mike Shal
84e3dace27 Bug 1223593 - Make depsdir optional in xpidl-process.py; r=glandium 2015-11-10 18:30:46 -05:00
Gregory Szorc
827969c6ab Bug 1223149 - Add basic usage documentation for mach build; r=glandium
Support for displaying docstrings in `mach help` was added relatively
recently. `mach build` was never documented. Let's document it.

There are a gazillion things we could put in the documentation. For now,
mainly focus on targets.
2015-11-10 15:41:08 -08:00
Mike Hommey
7ed700f80d Bug 1222591 - "nsMsgUtils.cpp:52:10: fatal error: 'nsProtocolProxyService.h' file not found". r=gps f=aleth 2015-11-06 17:31:00 +01:00
Chris Manchester
c49a26ce1f Bug 1215238 - Mention the included filepath in pre-processed js sources with #includes. r=glandium 2015-11-06 15:58:30 -08:00
Mike Hommey
405622a83e Bug 1221453 - Use ObjDirPaths for GENERATED_INCLUDES and merge with LOCAL_INCLUDES. r=gps 2015-11-06 09:59:21 +09:00
Mike Hommey
10276f39ee Bug 1221453 - Use SourcePaths for LOCAL_INCLUDES. r=gps 2015-11-06 09:59:21 +09:00
Mike Hommey
88f05aae29 Bug 1219147 - Use addEntriesToListFile in mozbuild.jar.JarMaker.updateManifest. r=mshal
Also make addEntriesToListFile emit files with CR instead of CRLF on Windows.
2015-11-04 11:21:49 +09:00
A-deLuna
82b05b847b Bug 1220480 - Reference proper variable in Arch Linux bootstrapper; r=gps
DONTBUILD (NPOTB)
2015-11-03 11:00:02 -08:00
Chris Manchester
1eb3ea5839 Bug 1218999 - Update mtimes when building a GENERATED_FILES target, even when contents don't change. r=glandium
When a make target is generated with FileAvoidWrite, this can cause targets to
get rebuilt perpetually when a prerequisite is updated, because FileAvoidWrite
will leave the target's mtime older than the prerequisite's when the target's
contents are unchanged. To avoid this issue, GENERATED_FILES is modified to
unconditionally update its target's mtime.
2015-11-03 10:23:04 -08:00
Chris Manchester
111bc7fe80 Bug 1218999 - Back out changeset 5f32b2bcfa43 (bug 1188468) in favor of a more efficient solution. r=glandium
Bug 118468 landed an option for FileAvoidWrite to always write to an output
file, whether or not the contents would be changed. This was to address a
problem caused by not updating mtimes when building GENERATED_FILES, but
undoes the purpose of FileAvoidWrite and isn't really necessary.
This is addressed in a subsequent commit by unconditionally updating
mtimes when processing GENERATED_FILES.
2015-11-03 10:23:04 -08:00
Mike Hommey
093d32dc22 Bug 1217276 - Fix the handling of relativesrcdir for localized chrome data in FasterMake backend. r=mshal 2015-10-31 07:32:47 +09:00
Mike Hommey
76d603eddb Bug 1216901 - Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal 2015-10-31 07:32:43 +09:00
Mike Hommey
86ab51c1af Bug 1216901 - Always update backend output list files mtime from the base backend class. r=mshal
Instead of having individual backends do it on their own.
2015-10-31 07:32:42 +09:00