Commit Graph

1590 Commits

Author SHA1 Message Date
Mike Hommey
14520f6f3a 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
084a538ae8 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
fba25177a8 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
f088a308d8 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
1b82232999 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
5d829f31f4 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
561fdbbfb1 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
bbbe03b200 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
6a5ae87233 Bug 1223593 - Make depsdir optional in xpidl-process.py; r=glandium 2015-11-10 18:30:46 -05:00
Gregory Szorc
8daae9f220 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
c0e8d10ea1 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
e7b66e98ba 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
7fd290435b Bug 1221453 - Use ObjDirPaths for GENERATED_INCLUDES and merge with LOCAL_INCLUDES. r=gps 2015-11-06 09:59:21 +09:00
Mike Hommey
fa566e20d3 Bug 1221453 - Use SourcePaths for LOCAL_INCLUDES. r=gps 2015-11-06 09:59:21 +09:00
Mike Hommey
2e5387e674 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
aeb41e5136 Bug 1220480 - Reference proper variable in Arch Linux bootstrapper; r=gps
DONTBUILD (NPOTB)
2015-11-03 11:00:02 -08:00
Chris Manchester
df3288c193 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
964145e07d 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
de5bb96c0c 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
c8b5384759 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
ad084dfa2a 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
Wes Kocher
fcd46af0ed Backed out changeset e22433400ec2 (bug 1216901) to hopefully fix winpgo bustage 2015-10-30 10:11:46 -07:00
Wes Kocher
8e3a6ac8cc Backed out changeset b855984ff056 (bug 1216901) 2015-10-30 10:11:45 -07:00
Wes Kocher
1b8bc2290f Backed out changeset 9475e3ef6a44 (bug 1217276) 2015-10-30 10:11:43 -07:00
Geoff Brown
1592a9f3df Bug 1219803 - Support 'mach run' for Android; r=jmaher 2015-10-30 10:57:35 -06:00
Makoto Kato
b8a737ae4f Bug 1219228 - Generate correct source path of cpu-features.c. r=glandium 2015-10-30 12:23:42 +09:00
Mike Hommey
cc9560d1d8 Bug 1217276 - Fix the handling of relativesrcdir for localized chrome data in FasterMake backend. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
f507927040 Bug 1216901 - Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
4826b6ba39 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-30 08:19:04 +09:00
Carsten "Tomcat" Book
0ffee358d5 Merge mozilla-central to mozilla-inbound 2015-10-29 12:15:05 +01:00
Richard Newman
8927d29f98 Bug 1219512 - Bump Android version code computation check. r=nalexander 2015-10-28 18:38:55 -07:00
Carsten "Tomcat" Book
55d3e6abbf merge mozilla-inbound to mozilla-central a=merge 2015-10-28 10:43:33 +01:00
Nick Alexander
fcf66979c8 Bug 1207708 - Part 2: Build against play-services-{basement,base,gcm} if MOZ_ANDROID_GCM. r=sebastian
Since MOZ_NATIVE_DEVICES builds against play-services-{basement,base,cast},
some ad-hoc de-duplication is necessary.
2015-10-27 17:41:49 -07:00
Nathan Froyd
c1f9e31573 Bug 1218042 - part 2 - make the CompileDB backend follow the backend protocol; r=mshal
Calling CommonBackend.consume_object ensures that we process WebIDL and
IPDL files (and many other things) correctly.  Calling
CommonBackend.consume_finished ensures that the CompileDB backend gets
to see the unified bindings and protocol files that we generate, and add
those files to the compilation database.
2015-10-26 11:53:59 -04:00
Nathan Froyd
174acb53d2 Bug 1218042 - part 1 - pass an objdir into _build_db_line; r=mshal
The only thing we need the obj for here is getting the objdir.  Future
patches will just have an objdir when calling this function, and not a
proper mozbuild object.  In light of these facts, let's change the
function to accept an objdir only, which will make those future patches
easier.
2015-10-26 11:50:27 -04:00
Michael Ratcliffe
fca1eef858 Bug 1212047 - Improve ESLint logging in case of error r=glandium
Fix *all* return codes
2015-10-23 17:18:45 +01:00
Carsten "Tomcat" Book
97bab2dfe3 merge mozilla-inbound to mozilla-central a=merge 2015-10-26 10:57:35 +01:00
Nick Alexander
5a89165dca Bug 1192064 - Add 'android-x86' job to |mach artifact|. r=jonalmeida 2015-10-23 12:55:16 -07:00
Nathan Froyd
aaefd9a3ed Bug 1215526 - part 3 - make preprocessor.preprocessor report all included files; r=glandium
For GENERATED_FILES scripts that want to report dependencies, this
change makes it easy to use |preprocess|, rather than having to
construct and use |Preprocessor| manually.
2015-10-21 10:38:18 -04:00
Nathan Froyd
909b8d2e84 Bug 1215526 - part 2 - write dependencies to file_generate.py's depfile; r=glandium 2015-10-21 10:36:08 -04:00
Nathan Froyd
8e44e87059 Bug 1215526 - part 1 - pass dependencies file to file_generate.py; r=glandium
In addition to their inputs declared in moz.build files, generated files
may also depend on other files, such as #includes in preprocessed files.
Let's provide a place for file_generate.py to write out those extra
dependencies.
2015-10-21 09:23:09 -04:00
Michael Ratcliffe
48e907cb36 Bug 1211223 - Error running eslint setup on Windows r=mh+mozilla, r=pbro 2015-10-23 14:36:24 +01:00
Nick Alexander
531758bec7 Bug 1114718 - Make |mach bootstrap| support 'mobile/android' builds on Arch Linux. r=mcomella 2015-10-19 16:36:00 -07:00
Andrew Halberstadt
e778e11952 Bug 1216575 - [mozbuild] Remove if statement that sets bindir to resource dir on osx, r=spohl 2015-10-21 10:04:21 -04:00
Mike Hommey
9917a51ee8 Bug 1212773 - Extend jar maker syntax for jar file location. r=gps
Indicating a jar currently looks like the following in a jar manifest:
  path/to/name.jar:

The `path/to` doesn't contain the implicit "chrome/" directory. This, in
turn, doesn't allow much flexibility to use the jar maker for what is not
necessarily under chrome/.

To use the jar maker to fill some chrome manifest for the default theme
extension, we currently use a hackish path to get to the right location,
and rely on the chrome.manifest file in the parent directory never to be
picked by the package manifest, which is a quite horrible way to do this,
but worked well enough for that specific use case.

With the need to handle system addons at the build system level, it
becomes necessary to come up with something less hackish.

What this change introduces is an additional syntax for the jar manifest,
in the following form:
  [base/path] sub/path/to/name.jar:

Using this syntax, there is no implicit 'chrome' path. The `base/path` is
relative to the current DIST_SUBDIR, and the `sub/path` is relative to that
`base/path`. The distinction can be useful for build system backends.

The assumption that the "root" chrome.manifest is in the parent directory
of the implicit "chrome" directory dies, and the `base/path` is where the
root chrome.manifest is placed.
2015-10-20 07:36:51 +09:00
Mike Hommey
ee2be20998 Bug 1212773 - Pass a base directory to jar maker, instead of a chrome directory. r=gps 2015-10-20 07:36:47 +09:00
Andrew Halberstadt
38aa543237 Bug 1216171 - Fix MozbuildObject.bindir to import the correct mozinfo, r=jmaher 2015-10-19 11:15:15 -04:00
Nathan Froyd
9c5965b035 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Tooru Fujisawa
dece6a3daa Bug 1208160 - Show information when Xcode requires accepting license agreement; r=gps 2015-10-16 11:17:48 -07:00
Mike Hommey
a40deb2059 Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +09:00