Commit Graph

1367 Commits

Author SHA1 Message Date
Gregory Szorc
a0642faa32 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.
2013-11-14 09:52:49 -08:00
Gregory Szorc
a60fef03f9 Bug 939925 - Catch exceptions when recording resource usage; r=mshal 2013-11-18 11:17:41 -08:00
Nick Thomas
5882c3e01c Bug 937458, bump the required clang version in mach bootstrap, r=gps DONTBUILD 2013-11-19 10:35:19 -05:00
Mike Hommey
da19873d5b Bug 940202 - One more followup to properly use $(DEPTH) on windows. rs=jcranmer 2013-11-19 16:06:30 +09:00
Joshua Cranmer
9c9005956d Bug 940202 followup, due to missing a review comment. 2013-11-19 00:16:34 -06:00
Joshua Cranmer
32ab003fe7 Bug 940202 - Make FINAL_LIBRARY work with comm-central, r=glandium 2013-11-19 00:12:25 -06:00
Mike Hommey
b573b4f037 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
0d0ff70f23 Bug 939074 - Infer LIBXUL_LIBRARY from FINAL_LIBRARY. r=gps 2013-11-19 11:47:52 +09:00
Mike Hommey
4d85320cba Bug 939044 - Make the build frontend and backend forget about MODULE. r=gps 2013-11-19 11:47:44 +09:00
Mike Hommey
2b8bce9031 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
6a64a1b17b Bug 935881 - Remove SHARED_LIBRARY_LIBS handling for moz.build. r=gps 2013-11-19 11:47:18 +09:00
Mike Hommey
84e796237b 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
4dc791822f Bug 938844 - Add support for building .mm files in unified mode; r=glandium 2013-11-14 21:44:48 -05:00
Mike Hommey
ecff85a073 Bug 915537 - Fix mach build --jobs. r=gps 2013-11-16 13:40:03 +09:00
Mike Hommey
3620800034 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
fe91280e01 Bug 933300 - Write preprocessed Fennec code into generated/org/mozilla/*. r=glandium 2013-11-13 19:32:55 -08:00
Nick Alexander
250c4cdf20 Backed out changeset ba9c8fcf76e6 (bug 933300) 2013-11-13 17:11:58 -08:00
Nick Alexander
32864ecba3 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.
2013-11-11 23:39:16 -05:00
Mike Hommey
9d1d1520fb 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
Maurizio De Santis
ed41a19188 Bug 935741 - Use HGPLAIN to fix version detection of non-English Mercurial releases. r=gps 2013-11-11 16:13:53 -05:00
Ryan VanderMeulen
246df59e94 Backed out changeset 9ad40457f58f (bug 936555) for checktest failures. 2013-11-11 13:40:42 -05:00
Nathan Froyd
c179e1e8c6 Bug 936555 - make mozinfo use MozconfigLoader to locate the mozconfig; r=gps 2013-11-08 14:57:31 -05:00
Mike Hommey
ba26f4337f 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
6cd1ded3e8 Bug 935305 - Track preprocessor output dependencies. r=gps 2013-11-09 10:35:45 +09:00
Mike Hommey
258510352f Bug 935305 - Move preprocessor to mozbuild.action. r=gps 2013-11-09 10:35:44 +09:00
Matthew Gregan
138bec67b1 Bug 935343 - Add MOZ_{OGG,WEBM,DASH} to mozinfo. r=ted 2013-11-06 15:49:18 +13:00
Mike Hommey
ef80b0dcc2 Bug 934334 - Fix packager's jar chrome formatter to handle resource:// urls. r=gps 2013-11-07 10:37:45 +09:00
Mike Hommey
ed05a876af 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
70dda194e0 Bug 921816 - Handle idls in --with-libxul-sdk builds. r=gps 2013-11-07 10:37:44 +09:00
Gordon P. Hemsley
8b5f4cdc26 Bug 934165 - Increase clang version to 3.3 for MacPorts. r=gps 2013-11-06 16:19:53 -05:00
Matthew Gregan
df9b936b39 Bug 934290 - Add PulseAudio build dep to bootstrap. r=gps 2013-11-04 13:38:32 +13:00
Gregory Szorc
6f8f777c30 Bug 933499 - Fix bootstrap on fresh OS X 10.9 installations; r=ted
DONTBUILD (NPOTB) on a CLOSED TREE
2013-11-05 12:51:52 -08:00
Mike Hommey
d4e9aba308 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
660f853b77 Bug 930849 - add a datareporting field to mozinfo. r=ted 2013-11-04 11:18:20 +11:00
Mike Hommey
cb26380fb8 Bug 933120 - Move HOST_PROGRAM and HOST_SIMPLE_PROGRAMS to moz.build. r=gps 2013-11-02 08:44:11 +09:00
Mike Hommey
52275f51b9 Bug 933135 - Treat SIMPLE_PROGRAMS more like PROGRAM. r=mshal 2013-11-02 08:43:55 +09:00
Boris Zbarsky
ae27390f80 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
fb32a8ff24 Bug 932213 - Move HOST_CMMSRCS to moz.build. r=gps 2013-10-30 07:51:48 +09:00
Mike Hommey
2f371229ab Bug 901561 - Move CMSRCS to moz.build. r=gps 2013-10-30 07:51:27 +09:00
Mike Hommey
6258bbbd56 Bug 932170 - Add moz.build variables for generated sources. r=gps 2013-10-30 07:45:01 +09:00
Mike Hommey
495a0e5873 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
235dc04c4f 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
d3e17cb6bd 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.
2013-10-29 14:53:52 -07:00
Mike Hommey
abb15c74f7 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
ef67d91c0d 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
ad000c8d42 Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey
629653e9c2 Bug 930899 - Improve backend file accounting. r=gps 2013-10-29 08:00:28 +09:00
Gregory Szorc
d838e11c32 Bug 927837 - Don't manage generated files in configure; r=glandium 2013-10-23 14:43:32 -07:00
Ted Mielczarek
84945fbefb Bug 930674 - Add NO_VISIBILITY_FLAGS to moz.build. r=gps 2013-10-24 15:06:19 -04:00
Nick Alexander
f9072daf63 Bug 925185 - Part 1: Add add_java_jar to moz.build. r=gps 2013-10-24 15:38:14 -07:00