Commit Graph

478 Commits

Author SHA1 Message Date
Gregory Szorc
cd28c58eaa Bug 928195 - Part 6: Rewrite WebIDL build system integration
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 : bde37d7aab3bd224ca8611f3ba4aaf6311e2faab
2013-11-14 09:52:49 -08:00
Gregory Szorc
23f093f4e3 Bug 939925 - Catch exceptions when recording resource usage; r=mshal
--HG--
extra : rebase_source : a9d1c353ae82376cac561c01c94698bf49a9777f
2013-11-18 11:17:41 -08:00
Mike Hommey
4875745034 Bug 940202 - One more followup to properly use $(DEPTH) on windows. rs=jcranmer 2013-11-19 16:06:30 +09:00
Joshua Cranmer
52b6012860 Bug 940202 followup, due to missing a review comment. 2013-11-19 00:16:34 -06:00
Joshua Cranmer
a451d66163 Bug 940202 - Make FINAL_LIBRARY work with comm-central, r=glandium
--HG--
extra : rebase_source : fc8bc5cf6e69be02eeefa7dd98eb5273998831db
2013-11-19 00:12:25 -06:00
Mike Hommey
c3e4d62bd0 Bug 939632 - Allow LIBRARY_NAME to be omitted when FINAL_LIBRARY is defined. r=gps 2013-11-19 11:48:13 +09:00
Mike Hommey
d8122fdc68 Bug 939074 - Infer LIBXUL_LIBRARY from FINAL_LIBRARY. r=gps 2013-11-19 11:47:52 +09:00
Mike Hommey
cc896fd2d8 Bug 939044 - Make the build frontend and backend forget about MODULE. r=gps 2013-11-19 11:47:44 +09:00
Mike Hommey
ae2930e795 Bug 939039 - Make FINAL_LIBRARY imply FORCE_STATIC_LIB. r=gps
This also moves the LIBXUL_LIBRARY implies FORCE_STATIC_LIB test in the emitter
instead of config.mk, since both variables are defined in moz.build exclusively.
backend.mk can end up with both LIBXUL_LIBRARY and FORCE_STATIC_LIB defined, but
it's just fine.
2013-11-19 11:47:26 +09:00
Mike Hommey
dc17ba627c Bug 935881 - Remove SHARED_LIBRARY_LIBS handling for moz.build. r=gps 2013-11-19 11:47:18 +09:00
Mike Hommey
917db37c41 Bug 935881 - Add a FINAL_LIBRARY variable to use in moz.build. r=gps
This will be used to declare in what shared library or intermediate static
library objects are going to be linked into.
2013-11-19 11:46:42 +09:00
Ehsan Akhgari
9212b200d4 Bug 938844 - Add support for building .mm files in unified mode; r=glandium 2013-11-14 21:44:48 -05:00
Mike Hommey
89522e92e0 Bug 915537 - Fix mach build --jobs. r=gps 2013-11-16 13:40:03 +09:00
Mike Hommey
fbacee20d4 Bug 938428 - Always return an int from the cl.py main function, so that sys.exit crazyness doesn't bite. r=gps 2013-11-16 13:39:08 +09:00
Nick Alexander
3360f7d3bf Bug 933300 - Write preprocessed Fennec code into generated/org/mozilla/*. r=glandium 2013-11-13 19:32:55 -08:00
Nick Alexander
fc061cca31 Backed out changeset ba9c8fcf76e6 (bug 933300) 2013-11-13 17:11:58 -08:00
Nick Alexander
4f14336bed Bug 933300 - Write preprocessed Fennec code into generated/org/mozilla/*. r=glandium
This writes source with preprocessed package names into
generated/org/mozilla/{firefox,firefox_beta,fennec,fennec_$USERID},
and the other preprocessed source into generated/org/mozilla/gecko.

This layout matches the Java package hierarchy and is what IDEs expect
when including $OBJDIR/generated as a source directory.

--HG--
extra : rebase_source : 5cc397e6808d21a662c1f718ef49ee148c15e465
2013-11-11 23:39:16 -05:00
Mike Hommey
3866530b89 Bug 935857 - Add AC_SUBST_SET to create a set() of strings in config.status and use it for NECKO_PROTOCOLS. r=gps 2013-11-12 07:52:32 +09:00
Ryan VanderMeulen
2276ee1961 Backed out changeset 9ad40457f58f (bug 936555) for checktest failures. 2013-11-11 13:40:42 -05:00
Nathan Froyd
80ec900577 Bug 936555 - make mozinfo use MozconfigLoader to locate the mozconfig; r=gps 2013-11-08 14:57:31 -05:00
Mike Hommey
7573d18f97 Bug 935870 - Raise an exception when an emitted object is not acknowledged by the build backend. r=gps 2013-11-09 10:37:04 +09:00
Mike Hommey
68d0ab728c Bug 935305 - Track preprocessor output dependencies. r=gps 2013-11-09 10:35:45 +09:00
Mike Hommey
8f10c67fbb Bug 935305 - Move preprocessor to mozbuild.action. r=gps
--HG--
rename : config/Preprocessor.py => python/mozbuild/mozbuild/preprocessor.py
rename : config/tests/unit-Expression.py => python/mozbuild/mozbuild/test/test_expression.py
rename : config/tests/unit-LineEndings.py => python/mozbuild/mozbuild/test/test_line_endings.py
rename : config/tests/unit-Preprocessor.py => python/mozbuild/mozbuild/test/test_preprocessor.py
2013-11-09 10:35:44 +09:00
Matthew Gregan
eb5ad78386 Bug 935343 - Add MOZ_{OGG,WEBM,DASH} to mozinfo. r=ted 2013-11-06 15:49:18 +13:00
Mike Hommey
7d22b71fa8 Bug 934334 - Fix packager's jar chrome formatter to handle resource:// urls. r=gps 2013-11-07 10:37:45 +09:00
Mike Hommey
bda6a78d19 Bug 933145 - Skip directories without variables in moz.build that are relevant to compile or binaries during those tiers. r=gps 2013-11-07 10:37:44 +09:00
Mike Hommey
7adba441b7 Bug 921816 - Handle idls in --with-libxul-sdk builds. r=gps 2013-11-07 10:37:44 +09:00
Mike Hommey
3a2067e39f Bug 933779 - Always use forward slash as path separator when passing -C argument to make. r=mshal 2013-11-05 07:39:23 +09:00
Mark Hammond
93f6902bd7 Bug 930849 - add a datareporting field to mozinfo. r=ted 2013-11-04 11:18:20 +11:00
Mike Hommey
53040f08c9 Bug 933120 - Move HOST_PROGRAM and HOST_SIMPLE_PROGRAMS to moz.build. r=gps 2013-11-02 08:44:11 +09:00
Mike Hommey
ff4fa14954 Bug 933135 - Treat SIMPLE_PROGRAMS more like PROGRAM. r=mshal 2013-11-02 08:43:55 +09:00
Boris Zbarsky
962d6097a6 Bug 925382. Error out of unified bindings if one of them includes windows.h. r=froydnj 2013-11-01 15:39:24 -04:00
Mike Hommey
fb473a8d93 Bug 932213 - Move HOST_CMMSRCS to moz.build. r=gps 2013-10-30 07:51:48 +09:00
Mike Hommey
2b92b5a665 Bug 901561 - Move CMSRCS to moz.build. r=gps 2013-10-30 07:51:27 +09:00
Mike Hommey
9781f42f8d Bug 932170 - Add moz.build variables for generated sources. r=gps 2013-10-30 07:45:01 +09:00
Mike Hommey
0737fc3bf8 Bug 932133 - Error out when entries in *SOURCES have an unknown file type. r=gps 2013-10-30 07:42:45 +09:00
Gregory Szorc
113bd2581b Bug 932637 - mach build-backend should invoke config.status with explicit python; r=glandium
DONTBUILD (NPOTB) CLOSED TREE
2013-10-30 08:57:05 -07:00
Gregory Szorc
d13caf7d3e Bug 877308 - Change when build backend update check it performed; r=glandium
Before, we checked if config.status was stale in any entrant Makefile
(top level or child directory). This had undesirable side-effects for
partial tree builds, notably that if the build backend was out of date,
the current Makefile was invalidated.

With this patch, we only regenerate the build config automatically in
full/toplevel builds. If an outdated build config is detected on partial
tree builds, we error. The impact of this is mitigated by having mach
build automatically ensure the build config is current.

--HG--
extra : rebase_source : a3a2c1d2bf68d1c0727352ebd9bfb785654e45bf
2013-10-29 14:53:52 -07:00
Mike Hommey
eb570b25ef Bug 928244 - Add a UNIFIED_SOURCES variable to moz.build to trigger unified builds of the given sources. r=gps 2013-10-29 08:00:32 +09:00
Mike Hommey
afe28e6cf1 Bug 928364 - Remove unified source dependencies completely, they're useless. r=gps
The backend.RecursiveMakeBackend.built business ensures config.status reruns
when moz.build changes, which is the only thing that would affect unified
sources. Rerunning config.status updates unified sources if they need to
be updated. Once updated, normal object dependencies will ensure they are
rebuilt. Those same dependencies will ensure they are rebuilt when one of
the C/C++ sources they include change. IOW, unified sources don't need any
explicit dependencies generated by the backend.
2013-10-24 08:06:01 +09:00
Mike Hommey
40d13924dc Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey
a62a66cbe3 Bug 930899 - Improve backend file accounting. r=gps 2013-10-29 08:00:28 +09:00
Gregory Szorc
9ada834d56 Bug 927837 - Don't manage generated files in configure; r=glandium
--HG--
extra : rebase_source : b502ce209de6a0ae10e130644e424687e4fae85e
2013-10-23 14:43:32 -07:00
Ted Mielczarek
b1bfdcec63 Bug 930674 - Add NO_VISIBILITY_FLAGS to moz.build. r=gps 2013-10-24 15:06:19 -04:00
Nick Alexander
282a788245 Bug 925185 - Part 1: Add add_java_jar to moz.build. r=gps 2013-10-24 15:38:14 -07:00
Mike Hommey
1d566f7586 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
e3011cd1ab Bug 930380 - Make sure *SOURCES only point to existing files. r=gps 2013-10-25 07:58:17 +09:00
Brian O'Keefe
4bd08a577d Bug 928709 - Add support for adding include directories from the objdir in moz.build files, r=mshal 2013-10-02 13:17:55 -04:00
Mike Hommey
55962a0a31 Backout changeset 6f52040ede0d (bug 928364) for PGO bustage 2013-10-24 09:37:06 +09:00
Mike Hommey
dc906fec0c Bug 928364 - Remove unified source dependencies completely, they're useless. r=gps
The backend.RecursiveMakeBackend.built business ensures config.status reruns
when moz.build changes, which is the only thing that would affect unified
sources. Rerunning config.status updates unified sources if they need to
be updated. Once updated, normal object dependencies will ensure they are
rebuilt. Those same dependencies will ensure they are rebuilt when one of
the C/C++ sources they include change. IOW, unified sources don't need any
explicit dependencies generated by the backend.
2013-10-24 08:06:01 +09:00