Commit Graph

1500 Commits

Author SHA1 Message Date
Ehsan Akhgari
39a6b61859 Bug 940708 - Part 3: Handle asm sources for unified webrtc builds; r=gps 2013-12-18 21:52:21 -05:00
Mike Hommey
ace6484009 Bug 940708 - Part 2: Build webrtc in unified mode; r=gps 2013-12-18 15:40:03 +09:00
Gregory Szorc
06057dce2d Bug 952280 - mach python commands now use virtualenv APIs; r=mshal
The Python-related mach commands were written before we had a virtualenv
API exposed to the mach command context. This patch updates those
commands to use the newer APIs. As a bonus, these commands now work
without running configure!
2013-12-19 13:48:37 -08:00
Gregory Szorc
bcc4319be7 Bug 951352 - Disallow XPIDL_MODULE if XPIDL_SOURCES isn't defined; r=glandium
Once upon a time XPIDL_MODULE and MODULE were kind of the same and
MODULE got mass-converted into XPIDL_MODULE with the removal of MODULE
in bug 939044. Unfortunately, we forgot to add a check for XPIDL_MODULE
being defined if XPIDL_SOURCES isn't (a build config that makes no sense
and only results in cargo culting).

This patch corrects that oversight.
2013-12-17 12:45:56 -08:00
Ehsan Akhgari
7b20f9e7cf Backed out 4 changesets (bug 940708) for ASAN bustage
Backed out changeset 8b081bf3d16c (bug 940708)
Backed out changeset 8d1da29cee34 (bug 940708)
Backed out changeset aedcac877ab0 (bug 940708)
Backed out changeset d4aec392a165 (bug 940708)
2013-12-20 13:05:29 -05:00
Gregory Szorc
5c35d7505b Bug 952395 - Update Homebrew bootstrap URL to reflect upstream changes
DONTBUILD (NPOTB)
2013-12-20 10:02:06 -08:00
Ehsan Akhgari
4ef3310bca Bug 940708 - Part 4: Limit the length of the unified file name prefix to 50 characters so that we don't blow up the Windows path name limit; r=glandium 2013-12-18 21:55:19 -05:00
Ehsan Akhgari
3cf004028b Bug 940708 - Part 3: Handle asm sources for unified webrtc builds; r=gps 2013-12-18 21:52:21 -05:00
Mike Hommey
6477c63490 Bug 940708 - Part 2: Build webrtc in unified mode; r=gps 2013-12-18 15:40:03 +09:00
Ehsan Akhgari
72a0cd8bc9 Bug 949704 - Turn off the useless warning about swapping after the build finishes until we have better reasons to display it; r=gps 2013-12-19 15:59:10 -05:00
Mike Hommey
99e203905d Bug 944551 - Handle unicode in mozbuild.util.shell_quote. r=gps 2013-11-30 18:46:13 +09:00
Martin Thomson
0b7d70e8d4 Bug 950957 - Use ${COMP_WORDS[0]} for completion in mach. r=gps 2013-12-19 11:42:19 -05:00
Mike Hommey
448eb3199d Bug 951010 - Move ConfigStatus.py under mozbuild. r=gps 2013-12-18 08:07:11 +09:00
Gregory Szorc
6e1333520a Bug 774572 - Part 2: Define JAR_MANIFESTS in moz.build files; r=glandium
Every directory with a jar.mn now has JAR_MANIFESTS defined in its
moz.build file.

We also removed the may_skip special consideration of jar.mn files
because this information is now available during tier traversal by the
reader courtesy of the variables being present in moz.build files.
2013-12-10 16:18:11 +09:00
Gregory Szorc
8ca42b0814 Bug 774572 - Part 1: Support for defining JAR manifests in moz.build; r=glandium
JAR_MANIFESTS can now be defined in moz.build files. However, due to
limitations in rules.mk, only 1 file may be defined at a time. In the
future, this restriction will be lifted. But first, better support for
JAR manifests in the build config must be built.

rules.mk will be updated in the subsequent conversion patch so this
patch applied alone doesn't break the build.
2013-12-13 00:47:02 +09:00
Mike Hommey
49e7917281 Bug 950296 - Turn the map for variable passthrough into a list. r=gps 2013-12-17 11:14:17 +09:00
Mike Hommey
ccd1f67428 Bug 950290 - Move python scripts from build/autoconf into a mozbuild submodule. r=gps 2013-12-17 11:13:08 +09:00
Mike Hommey
5ced001aae Bug 950279 - Expose int() to moz.build sandbox, and use it in build/gyp.mozbuild. r=gps 2013-12-17 11:12:15 +09:00
Nick Alexander
e430943a85 Bug 923950 - Fix Android single locale repacks. r=glandium
There are two parts to this.  The first is to add AndroidManifest.xml
as a dependency to the "no dependencies" ap_ built during packaging.
The aapt call requires it.  So "no dependencies" is more accurately
"no *resource* dependencies".

The second is to avoid including the Android res/ directory in the
language repack step.  What happens is that the l10n.py script sees
the Android res/ files left in the dist/ directory after unpacking and
expects to find them in the objdir.  They're not there, so the script
fails.  To avoid this, we delete them after unpacking.  See the
comments in packager.mk describing this process.
2013-12-14 15:36:17 -08:00
Gregory Szorc
85fb4f3b9e Bug 950370 - Capture WebIDL example interfaces in moz.build; r=glandium
Previously, the set of WebIDL example interfaces to build was hardcoded
in the mozwebidlcodegen Python package. Unfortunately, the example
interfaces in that set were dependent on test-only bindings files,
resulting in build failures when tests were disabled (because those
test-only bindings were defined in a test directory).

In this patch, we now declare example interfaces in moz.build files
so the set of example interfaces lives next to the set of defined
bindings files. The example interfaces are defined in a test moz.build
file - in the same file declaring the bindings files that contain the
interfaces - so the example interfaces only get picked up if the
corresponding bindings are defined.

We could probably switch WebIDL moz.build variables to use lists with
flags. That would be good followup fodder. For now, let's fix the build.
2013-12-15 11:43:47 -08:00
Mark Hammond
ec8dd3c488 Bug 948258 - Move browser tests from dom/indexedDB/test/Makefile.in to browser.ini. r=ted 2013-12-16 15:07:44 +11:00
Geoff Brown
60ca7d92b1 Bug 945975 - Add mach support for Android xpcshell tests; r=ted 2013-12-13 21:20:39 -07:00
Mike Hommey
b7d9fed971 Bug 949334 - Use FINAL_LIBRARY for webrtc. r=gps 2013-12-14 11:38:53 +09:00
Gregory Szorc
f8bbd36a6f Bug 949304 - Print Makefile counts during config.status; r=glandium
We now capture and print the number of Makefile.in and the number of
generated Makefile as part of config.status. This should give us a nice,
easy to extract metric going forward.

Pushing on a CLOSED TREE because this patch didn't deserve to get backed
out.
2013-12-13 00:03:55 +09:00
Carsten "Tomcat" Book
cdfc43374a Backed out changeset 273e7ed05fa3 (bug 949304) for Windows Bustage on a CLOSED TREE 2013-12-13 12:46:03 +01:00
Gregory Szorc
b74f148f41 Bug 949906 - Add a callback to modify evaluated moz.build sandboxes, fix Sphinx docs; r=glandium 2013-12-13 16:06:53 +09:00
Gregory Szorc
307c8d756b Bug 949304 - Print Makefile counts during config.status; r=glandium
We now capture and print the number of Makefile.in and the number of
generated Makefile as part of config.status. This should give us a nice,
easy to extract metric going forward.
2013-12-13 00:03:55 +09:00
Gregory Szorc
c75ffc75a9 Bug 928195 - Part 4: Rewrite WebIDL build system integration; r=bz, r=glandium
WebIDL build system integration has been rewritten from the ground up.
Changes:

* GlobalGen.py, BindingGen.py, and ExampleGen.py have been removed in
  favor of mozwebidl.py.

* Static .webidl files are now processed directly in their original location
  and aren't copied to the object directory.

* Generated events <stem>.cpp files are now compiled into the unified
  sources. Previously, only the <stem>Binding.cpp files were compiled
  into unified sources.

* Exported .h files are now generated directly into their final location.
  Previously, they were generated into the local directory then
  installed in their final location.

* The list of globalgen-generated files now lives in Python and isn't
  duplicated in 3 places.

* The make dependencies are much simpler as a result of using a single
  command to perform all code generation. The auto-generated .pp file from
  code generation sets up all dependencies necessary to reinvoke code
  generation and Python takes care of dependency management.
2013-12-12 16:26:38 +09:00
Mike Hommey
f5178a5829 Bug 778236 - Remove EXTERNAL_MAKE_DIRS and PARALLEL_EXTERNAL_MAKE_DIRS. r=gps 2013-12-12 23:41:06 +09:00
Mike Hommey
cfa40576c9 Bug 778236 - Treat gyp files as if their content was defined in moz.build files. r=gps 2013-12-12 23:41:05 +09:00
Nick Alexander
8cb08d8060 Bug 934646 - Part 3: Declare Android resource directories relative to $SRCDIR. r=glandium,gps,mfinkle 2013-12-11 21:20:07 -08:00
Gregory Szorc
71001b1f06 Bug 939367 - Allow Sphinx docs to come from all over the tree; r=glandium 2013-11-20 12:37:22 -08:00
Gregory Szorc
7f670ac533 Bug 941245 - Allow FileFinder to ignore patterns; r=glandium 2013-11-20 13:12:21 -08:00
Mike Hommey
0d566eb96e Bug 949265 - Use contextual topsrcdir/topobjdir for preprocessed files during config.status. r=gps 2013-12-12 13:32:30 +09:00
Gregory Szorc
8b3e6be4fe Bug 948787 - Print diffs during config.status; r=glandium
Build system developers commonly need to see what changes have on the
generated build files. We often put our objdir under version control and
diff commits before and after running config.status.

This patch adds a --diff option to config.status that will print diffs
of changes made during config.status. This functionality is implemented
on top of FileAvoidWrite, using Python's built-in diffing library.

While display of diffs is opt-in, diffs are always being captured when
config.status runs. There could be an unwanted performance regression
from this. Because diffs are only computed if files change and most
files don't change during most config.status runs, this greatly reduces
the surface area of the concern. The area for largest concern is clobber
builds. On my machine, I measured an increase of 0.2 to 0.3s from 2.0s.
While this is 10-15%, the total time is so small that I don't feel
snaking a "capture diff" flag through the build system is worth the
effort. This would make a decent followup bug if this turns out to be a
problem in the future.

I also snuck in a change to reindent all-tests.json because displaying
diffs for this massive 11MB all-in-one-line JSON file results in an
extremely large string being printed to my terminal.
2013-12-11 13:06:56 +09:00
Gregory Szorc
6220bdc9c6 Bug 948272 - Report more timings from moz.build; r=glandium
The big change is we now explicitly record time spent in emitter.py. We
also report how much untracked time was measured.
2013-12-10 14:26:10 +09:00
James Willcox
7778b5c256 Bug 948599 - Add lldb support to 'mach debug' r=ehsan,gps 2013-12-11 09:09:50 -06:00
Gregory Szorc
6f1c2eb244 Bug 944842 - Record and warn about swapping during builds; r=glandium 2013-12-09 18:58:13 +09:00
Mike Hommey
5b17d83902 Fixup for bug 948275 fixing windows bustage and avoiding a forced clobber. r=gps 2013-12-11 16:02:27 +09:00
Mike Hommey
092356c60d Bug 948275 - Refactor handling of CONFIGURE_SUBST_FILES and CONFIGURE_DEFINE_FILES. r=gps 2013-12-11 15:20:38 +09:00
Mike Hommey
acfa733d9c Bug 948275 - Use mozpack.path instead of os.path in mozbuild.frontend and mozbuild.backend modules. r=gps 2013-12-11 15:20:31 +09:00
Mike Hommey
e3b2ae3438 Bug 948275 - Keep track of backend files by objdir instead of by srcdir. r=gps 2013-12-11 15:19:58 +09:00
Mike Hommey
5d00468c8d Bug 948209 - Remove mozbuild.config. r=gps 2013-12-11 10:59:02 +09:00
Mike Hommey
01e98b6834 Bug 947804 - Finish to kill BOTH_MANIFESTS. r=gps 2013-12-09 16:30:06 +09:00
Gregory Szorc
04662b5d33 Bug 934739 - Part 2: Add pattern matches to install manifests; r=glandium
This patch adds pattern matching entries to install manifests. We store
metadata necessary to construct a pattern match at a later point in
time. When we convert the install manifest to a file registry, we
resolve the patterns using FileFinder.

The build config logic has been updated to store support-files values as
pattern entries. This should resolve the clobber needed issue and make
the local development experience more pleasant as well.
2013-12-09 19:02:35 +09:00
Ryan VanderMeulen
b9ac3ccfd0 Backed out changesets 572624d76edf and 17a5f2e554e8 (bug 934739) for causing bug 947879. 2013-12-09 17:24:14 -05:00
Ryan VanderMeulen
029053669a Merge inbound to m-c. 2013-12-09 16:45:25 -05:00
Mike Hommey
885edfdc90 Bug 945042 - Add moz.build infrastructure to replace NO_PROFILE_GUIDED_OPTIMIZE from Makefile.in. r=gps 2013-12-09 13:39:16 +09:00
Mike Hommey
b1aa1de98f Bug 946175 - Forbid assigning over a value previously set in moz.build. r=gps 2013-12-09 13:34:00 +09:00
Mike Hommey
5862e08ff3 Bug 946175 - Make all sandbox variables default to an instance of their class type. r=gps 2013-12-09 13:27:58 +09:00