Commit Graph

688 Commits

Author SHA1 Message Date
Mike Hommey
e53443d128 Bug 951010 - Move ConfigStatus.py under mozbuild. r=gps
--HG--
rename : build/ConfigStatus.py => python/mozbuild/mozbuild/config_status.py
2013-12-18 08:07:11 +09:00
Gregory Szorc
461b5aef7e 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.

--HG--
extra : rebase_source : 21049b15e6bd9cf65b0805ccaccc4ba5aae93c98
extra : amend_source : 0b1ea866d725beef92d37c6f6d475369ac002e19
2013-12-10 16:18:11 +09:00
Gregory Szorc
c78f536ccd 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.

--HG--
extra : rebase_source : 2521d49a1731b659dd720769e4685715925be590
2013-12-13 00:47:02 +09:00
Mike Hommey
8eae36f743 Bug 950296 - Turn the map for variable passthrough into a list. r=gps 2013-12-17 11:14:17 +09:00
Mike Hommey
b97d838b01 Bug 950290 - Move python scripts from build/autoconf into a mozbuild submodule. r=gps
--HG--
rename : build/autoconf/check_debug_ranges.py => python/mozbuild/mozbuild/configure/check_debug_ranges.py
rename : build/autoconf/libstdcxx.py => python/mozbuild/mozbuild/configure/libstdcxx.py
2013-12-17 11:13:08 +09:00
Mike Hommey
f0864a5c06 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
e0226fc1b7 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.

--HG--
extra : rebase_source : 35c3c125dddcd575c1a5e8ad58f9aa13ff2db4c3
2013-12-14 15:36:17 -08:00
Gregory Szorc
0504c2e35a 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.

--HG--
extra : rebase_source : 00070a6d560625bc84ab9b10d6848ea037f8f5ed
extra : amend_source : 0890ecef444ba58533fcfaa333773d78deafd7f3
2013-12-15 11:43:47 -08:00
Mark Hammond
838f6ed38a 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
969a5d7bb8 Bug 945975 - Add mach support for Android xpcshell tests; r=ted 2013-12-13 21:20:39 -07:00
Mike Hommey
0f2cce4150 Bug 949334 - Use FINAL_LIBRARY for webrtc. r=gps 2013-12-14 11:38:53 +09:00
Gregory Szorc
bcd2f1cb1a 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.

--HG--
extra : amend_source : 36028b17fd09c57455aef681bbe459891f5ed607
2013-12-13 00:03:55 +09:00
Carsten "Tomcat" Book
2311a2fb55 Backed out changeset 273e7ed05fa3 (bug 949304) for Windows Bustage on a CLOSED TREE 2013-12-13 12:46:03 +01:00
Gregory Szorc
9f3d7f1a2e Bug 949906 - Add a callback to modify evaluated moz.build sandboxes, fix Sphinx docs; r=glandium
--HG--
extra : rebase_source : 9ef2219145fb754a9cbe9e7e30b6f2841910f13f
2013-12-13 16:06:53 +09:00
Gregory Szorc
d6f4e54064 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.

--HG--
extra : rebase_source : 48a3e9f66975505dec76746703875b2364dedc87
2013-12-13 00:03:55 +09:00
Gregory Szorc
d53d3b5e5e 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.

--HG--
extra : rebase_source : e4918878274b22a412329c7cb18cc7138daf5dc6
2013-12-12 16:26:38 +09:00
Mike Hommey
819cf0165a Bug 778236 - Remove EXTERNAL_MAKE_DIRS and PARALLEL_EXTERNAL_MAKE_DIRS. r=gps 2013-12-12 23:41:06 +09:00
Mike Hommey
049b105f14 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
42814c41ba Bug 934646 - Part 3: Declare Android resource directories relative to $SRCDIR. r=glandium,gps,mfinkle
--HG--
rename : mobile/android/base/resources/drawable-mdpi/crash_reporter.png => mobile/android/base/crashreporter/res/drawable-mdpi/crash_reporter.png
rename : mobile/android/base/resources/layout/crash_reporter.xml => mobile/android/base/crashreporter/res/layout/crash_reporter.xml
rename : mobile/android/branding/aurora/content/fennec_72x72.png => mobile/android/branding/aurora/res/drawable-hdpi/icon.png
rename : mobile/android/branding/aurora/content/fennec_48x48.png => mobile/android/branding/aurora/res/drawable-mdpi/icon.png
rename : mobile/android/branding/aurora/content/fennec_96x96.png => mobile/android/branding/aurora/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/aurora/content/fennec_144x144.png => mobile/android/branding/aurora/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_72x72.png => mobile/android/branding/beta/res/drawable-hdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_48x48.png => mobile/android/branding/beta/res/drawable-mdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_96x96.png => mobile/android/branding/beta/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_144x144.png => mobile/android/branding/beta/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_72x72.png => mobile/android/branding/nightly/res/drawable-hdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_48x48.png => mobile/android/branding/nightly/res/drawable-mdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_96x96.png => mobile/android/branding/nightly/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_144x144.png => mobile/android/branding/nightly/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/official/content/fennec_72x72.png => mobile/android/branding/official/res/drawable-hdpi/icon.png
rename : mobile/android/branding/official/content/fennec_48x48.png => mobile/android/branding/official/res/drawable-mdpi/icon.png
rename : mobile/android/branding/official/content/fennec_96x96.png => mobile/android/branding/official/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/official/content/fennec_144x144.png => mobile/android/branding/official/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_72x72.png => mobile/android/branding/unofficial/res/drawable-hdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_48x48.png => mobile/android/branding/unofficial/res/drawable-mdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_96x96.png => mobile/android/branding/unofficial/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_144x144.png => mobile/android/branding/unofficial/res/drawable-xxhdpi/icon.png
extra : rebase_source : f6ec8a38594e70520b10202c735dc019f8c856fd
2013-12-11 21:20:07 -08:00
Gregory Szorc
a021b88964 Bug 939367 - Allow Sphinx docs to come from all over the tree; r=glandium
--HG--
extra : rebase_source : 1c1a444a78c0dfce110db3890e29543eeb67f3aa
2013-11-20 12:37:22 -08:00
Gregory Szorc
6ad74fa93f Bug 941245 - Allow FileFinder to ignore patterns; r=glandium
--HG--
extra : rebase_source : 0dd3f11dcf97abc57962e820ede241b82d715624
extra : amend_source : ef75cc5f516ecba0062002c7432e7b257bff5209
2013-11-20 13:12:21 -08:00
Mike Hommey
570208eaf1 Bug 949265 - Use contextual topsrcdir/topobjdir for preprocessed files during config.status. r=gps 2013-12-12 13:32:30 +09:00
Gregory Szorc
b8c943758f 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.

--HG--
extra : rebase_source : c0f7ff69cad282e63a050e67f156dbe96b49a142
2013-12-11 13:06:56 +09:00
Gregory Szorc
7428f89207 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.

--HG--
extra : rebase_source : f2a867718f0d532748e337abdc6e1c5070646dd7
2013-12-10 14:26:10 +09:00
James Willcox
43bc37e400 Bug 948599 - Add lldb support to 'mach debug' r=ehsan,gps 2013-12-11 09:09:50 -06:00
Gregory Szorc
4d3fd36c4b Bug 944842 - Record and warn about swapping during builds; r=glandium
--HG--
extra : rebase_source : 3930a423514b5422ba23129b4da2a38f863bffbe
extra : amend_source : a9368fce73d02dc1f5073e652e4ab0b33f4c0a21
2013-12-09 18:58:13 +09:00
Mike Hommey
9b356e3439 Fixup for bug 948275 fixing windows bustage and avoiding a forced clobber. r=gps 2013-12-11 16:02:27 +09:00
Mike Hommey
09a2218bf5 Bug 948275 - Refactor handling of CONFIGURE_SUBST_FILES and CONFIGURE_DEFINE_FILES. r=gps 2013-12-11 15:20:38 +09:00
Mike Hommey
fbe3253bb8 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
31ca5bb81a 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
7de68cd33b Bug 948209 - Remove mozbuild.config. r=gps 2013-12-11 10:59:02 +09:00
Mike Hommey
fdcf80eb82 Bug 947804 - Finish to kill BOTH_MANIFESTS. r=gps 2013-12-09 16:30:06 +09:00
Gregory Szorc
8a8d29bfb9 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.

--HG--
extra : amend_source : 3fe659f7ad6930ef54316b5babac6b83bee240af
2013-12-09 19:02:35 +09:00
Ryan VanderMeulen
0fe6654a46 Backed out changesets 572624d76edf and 17a5f2e554e8 (bug 934739) for causing bug 947879. 2013-12-09 17:24:14 -05:00
Ryan VanderMeulen
ff4c37cb6c Merge inbound to m-c. 2013-12-09 16:45:25 -05:00
Mike Hommey
950df6453e 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
b04de440a0 Bug 946175 - Forbid assigning over a value previously set in moz.build. r=gps 2013-12-09 13:34:00 +09:00
Mike Hommey
93afdac791 Bug 946175 - Make all sandbox variables default to an instance of their class type. r=gps 2013-12-09 13:27:58 +09:00
Gregory Szorc
41c3a56159 Bug 934739 - Part 2b: Fix build bustage; r=glandium on a CLOSED TREE 2013-12-09 19:02:35 +09:00
Gregory Szorc
e325e585af 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.

--HG--
extra : rebase_source : 1a89d397beffb75be6c7fe431003d10924c33cf0
2013-12-09 16:43:55 +09:00
Gregory Szorc
da11a3c955 Bug 934739 - Part 1: Make moz.build backend generation depend on all Python modules; r=glandium
--HG--
extra : rebase_source : 267c6f50dd1aa683bb425b3e82dc73f5f3c7a7bb
2013-12-09 15:23:29 +09:00
Andrew Halberstadt
c7a94fe5a1 Bug 942275 - Add support for setuptools' entry points to mach, r=gps
* * *
Bug 942275 - Ignore load_from_entry_point if setuptools not present, r=gps
2013-12-06 09:24:09 -05:00
Mike Hommey
55b7297ffe Bug 932596 - Avoid link_deps error when srcdir and objdir are not on the same drive. r=gps 2013-12-06 18:26:37 +09:00
Mike Hommey
64afb86fb7 Bug 941506 - Output a message on tbpl summary box when autoclobbering. r=gps 2013-11-22 08:16:21 +09:00
Ryan VanderMeulen
ac8d9c831e Backed out changeset 5cb5fdb72e55 (bug 942275) for mach bustage.
CLOSED TREE DONTBUILD
2013-12-03 11:13:26 -05:00
Andrew Halberstadt
b8e187acb4 Bug 942275 - Add support for setuptools' entry points to mach, r=gps 2013-12-03 10:37:20 -05:00
Gregory Szorc
13c6cf2cf5 Bug 943874 - Update Git URL printed during mach bootstrap; r=ehsan
DONTBUILD (NPOTB)

--HG--
extra : rebase_source : e9d0f626803c2d9326f646b31f3f7bbc58a29bde
extra : amend_source : 39a4efa6ad8fd0c1d30a7d1970037edb281a471c
2013-11-28 13:03:04 +07:00
Mike Hommey
f84b90cf73 Bug 944265 - Do proper quoting of DEFINES, and do the same for ACDEFINES. r=gps 2013-11-28 17:08:22 +09:00
Ehsan Akhgari
b092c19e89 Bug 943554 - Extend the checks added in bug 941854 to all unified files; r=gps 2013-11-26 21:29:44 -05:00
Ehsan Akhgari
e04b8905ef Bug 941854 - Protect against two known bad patterns for unified builds; r=glandium 2013-11-25 20:38:30 -05:00