Commit Graph

241 Commits

Author SHA1 Message Date
Mike Hommey
6ab3f2d98e Bug 1250294 - Make configure a Python script that invokes the old configure.sh. r=ted 2016-02-25 07:22:33 +09:00
Mike Hommey
ecad3301ab Bug 1247162 - Generate a header defining MOZ_SOURCE_*. r=mshal
The behavior is not entirely idempotent (most notably for
buildconfig.html), but this can be improved later if necessary.
It is idempotent where it matters.

This allows to get rid of config/makefiles/rcs.mk and its uses.
2016-02-12 07:16:14 +09:00
Mike Hommey
213f941410 Bug 1246881 - Generate a header defining MOZ_BUILDID. r=mshal 2016-02-12 07:15:55 +09:00
Mike Shal
db570e2b0c Bug 1242663 - Add targets for each backend dependency; r=ted
We need to ignore dependencies on backend files that have been removed,
otherwise removing a Makefile.in will require a clobber.
2016-01-25 14:36:36 -05:00
Mike Hommey
aab856a217 Bug 1242074 - Avoid going back and forth between FasterMake and RecursiveMake; r=gps
FasterMake needs some RecursiveMake install manifests to have been
processed before doing its work, so we can actually end up processing
them twice because of the going back and forth from FasterMake in the
hybrid build system.

Set the dependency at the RecursiveMake level when doing an hybrid
build.
2016-01-23 11:40:24 -08:00
Mike Hommey
dde250c693 Bug 1242074 - Fix top-level install-dist_% rules; r=gps
For some reason, recent changes with the install-dist/% rules broke the
dummy wrapper used by `mach build faster`, leading to `Nothing to be done
for install-dist_idl.`, subsequently failing to build xpt files because
of the missing idls in dist/idl.
2016-01-23 11:39:18 -08:00
Mike Hommey
8c69551b4d Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey
cea09a3412 Bug 1239217 - Make the RecursiveMake build system create backend files generically. r=gps
The current rule is only for "backend.RecursiveMakeBackend", but, with
the current default of generating both the RecursiveMake and FasterMake
backends, the command creates/refreshes both backends. This is, in fact,
how the FasterMake backend is refreshed in most cases.

Moreover, with an hybrid backends, the generated file is not
"backend.RecursiveMakeBackend" anymore, so we need a more generic way to
handle this.

Furthermore, it's not necessarily desirable for all backends to have a
dependency file to handle the dependencies to refresh the backend, so
generate a plain list instead. This has the side effect of making `mach
build-backend --diff` more readable for changes to that file.

Finally, make the backend.* files created like any other backend file,
such that its diff appears in the `mach build-backend --diff` output.
2016-01-22 15:43:24 +09:00
Mike Hommey
aade8deea9 Bug 1239217 - Skip empty install manifests, apart a few exceptions. r=gps
Install manifests are not empty in normal conditions, apart a few
exceptions where they are only used for a "magic" `rm -rf`.

However, we're going to introduce changes that will empty some of
the install manifests and make their work happen from a different
backend, in which case we don't want them to correspond to a `rm -rf`.
2016-01-22 15:43:16 +09:00
Mike Hommey
d9695282c5 Bug 1241416 - Create a tier for things happening before export. r=gps
While it would be possible to move those things in the export tier, it
is still interesting to have reporting for them separately, especially
considering I expect things to gradually move from the other tiers to
this new one.

While not entirely obvious, the recurse_pre-export target doesn't imply
actual recursion as long as the RecursiveMake backend doesn't emit
traversal information for it, so nothing will actually happen on this
target, but the interesting part is that it runs, per the generic
config/recurse.mk rules for tiers, between BUILDSTATUS TIER_START and
BUILDSTATUS TIER_FINISH, so that all its dependencies are accounted
as being part of the pre-export tier.
2016-01-22 07:00:23 +09:00
Steve Fink
031d66b209 Bug 837969 - Enable buildsymbols target for js/src, r=ted 2015-06-16 13:16:18 -07:00
Ted Mielczarek
56d30d0b18 bug 1160185 - support GENERATED_FILES in EXPORTS. r=glandium
This change allows specifying objdir-relative paths in EXPORTS to enable
exporting entries from GENERATED_FILES. Objdir paths in EXPORTS that are
not in GENERATED_FILES will raise an exception.

Example:
```
EXPORTS += ['!g.h', 'f.h']
GENERATED_FILES += ['g.h']
```

Given the implementation, this should also work for FINAL_TARGET_FILES,
FINAL_TARGET_PP_FILES, and TESTING_FILES, but those are not well-tested.

This patch also renames the install manifest for '_tests' to match the
directory name for convenience in some code I refactored.
2015-12-01 09:53:16 -05:00
Mike Hommey
6077e146dc Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps
We have many unit tests in the tree for some small parts of the build system
pipeline, but we don't have anything that resembles an end to end test, and we
kind of rely on the resulting Firefox not being broken by our changes.

With the Faster make backend growing, I want to ensure it produces the same
thing as the recursive make backend, at least for the parts it supports.

This adds some kind of test that allows to check that.
2015-12-01 13:57:52 +09:00
Mike Hommey
302d6ecb6c 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
Mike Hommey
430d12a198 Bug 1209403 - Build xpidl stuff in the faster make backend. r=gps 2015-09-30 11:51:49 +09:00
Ted Mielczarek
d08ececd9d bug 1168535 - print error response body in upload_symbols.py. r=gps 2015-05-27 13:50:04 -04:00
Brian O'Keefe
f21be4ff50 Bug 924187 - Deal with interfaces.manifest from the backend. r=mshal 2015-02-13 08:11:57 -05:00
Ted Mielczarek
72513dffc7 bug 1153799 - Stop using SSH symbol upload when using Socorro API. r=gps 2015-04-24 06:41:56 -04:00
Brian O'Keefe
5c00cfd457 Bug 786520 - Install things to $(DIST)/branding from moz.build instead of manual rules in Makefile.ins. r=mshal 2015-02-26 16:53:31 -05:00
Mike Hommey
c9146879fe Bug 1063880 - Allow a --disable-compile-environment to go through a full mach build. r=mshal 2015-03-11 16:03:55 +09:00
Ted Mielczarek
48489c507b bug 1135700 - make uploadsymbols use Socorro symbol upload API. r=gps 2015-02-23 13:48:54 -05:00
Joshua Cranmer
20f02f4f8e Bug 910781 - add support for FINAL_TARGET_FILES; r=gps 2014-07-23 13:56:25 -04:00
Mike Hommey
5891d89d94 Bug 1094033 part 1 - Consolidate how to add new tiers. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
fabcf635f1 Fixup for bug 1062668. r=me 2014-09-05 10:35:43 +09:00
Mike Hommey
c0c62a1745 Bug 1062668 - Only process the "include" install manifest when invoking the binaries target. r=gps 2014-09-05 10:27:39 +09:00
Mike Hommey
4353f43090 Bug 1062219 - Don't build build/clang-plugin as an external directory. r=jcranmer 2014-09-04 17:44:01 +09:00
Joshua Cranmer
4454b2c1e1 Bug 1035599: Merge the mozilla-central and comm-central objdir, r=gps
This change merges mozilla-central and comm-central into having a single
topobjdir file but retaining two topsrcdirs (and two build systems). This state
is hopefully only the first part of a series of changes that eliminate the
comm-central build system partial clone completely.

--HG--
extra : rebase_source : 02aa2c4551df405d9783ac85cc41fe90b67bf057
extra : amend_source : d3cc677d59603648165bf65afa28413f2c40b2fd
2014-08-07 19:27:58 -05:00
Mike Hommey
3a0a51dc58 Bug 1049281 - Move third-party build system "drivers" to config/external, and stop using static dirs. r=gps
--HG--
rename : intl/icu/Makefile.in => config/external/icu/Makefile.in
rename : config/nspr/Makefile.in => config/external/nspr/Makefile.in
rename : config/nspr/moz.build => config/external/nspr/moz.build
rename : security/build/Makefile.in => config/external/nss/Makefile.in
rename : security/build/moz.build => config/external/nss/moz.build
rename : security/build/nspr-dummy.def => config/external/nss/nspr-dummy.def
rename : security/build/nss.def => config/external/nss/nss.def
rename : security/build/nss.mk => config/external/nss/nss.mk
2014-08-07 02:58:52 +09:00
Ted Mielczarek
38f83ca77e bug 1033938 - rm full symbols.zip during buildsymbols. r=glandium 2014-08-01 07:36:47 -04:00
Ian Neal
40a2029b41 Bug 1046468 - toolkit/library has an inter-dependency on ldap for comm-central that it needs to be told about in the moz.build world r=glandium 2014-07-31 17:33:25 +01:00
Ted Mielczarek
5f1a51f87a bug 462159 - Use install manifests to track header files from dist/include back to srcdir in symbolstore.py. r=gps 2014-07-18 16:33:34 -04:00
Mike Hommey
2a08f131e0 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Mike Shal
042baef625 Bug 978211 - various asan/mar/pretty/mach fixes; r=glandium
- Linux ASAN nightly builds do not do update packaging
 - Only set mar properties if the mar file was actually created
 - Unset MOZ_SIGN_CMD for pretty-* steps
2014-07-03 22:14:59 -04:00
Mike Shal
dd27883604 Bug 978211 - Windows configs; r=glandium 2014-07-03 19:28:43 -04:00
Mike Hommey
f059293f00 Bug 1035543 - Remove the MOZ_PSEUDO_DERECURSE variable. r=gps 2014-07-10 14:11:52 +09:00
Mike Shal
b7a48bbeff Bug 978211 - add 'pretty' targets for automation; r=glandium 2014-07-02 23:15:10 -04:00
Wes Kocher
3583816132 Backed out changeset a95aada9a565 (bug 978211) under suspicion of breaking xpcshell tests on a CLOSED TREE 2014-07-07 15:38:51 -07:00
Mike Shal
ab9a8da717 Bug 978211 - add 'pretty' targets for automation; r=glandium 2014-07-02 23:15:10 -04:00
Carsten "Tomcat" Book
b5b3a57e1e Merge mozilla-central to mozilla-inbound 2014-06-26 15:51:31 +02:00
Mike Hommey
bccaa57f41 Bug 1030598 - Fix make export race condition after bug 1028563. r=gps 2014-06-26 15:26:16 +09:00
Wes Kocher
e1dd0ab43e Backed out 2 changesets (bug 1027890) for B2G Windows Build bustage on a CLOSED TREE
Backed out changeset bcd694f0e95d (bug 1027890)
Backed out changeset 49cadfcde709 (bug 1027890)
2014-06-24 18:33:46 -07:00
Mike Hommey
a56bc0ee1c Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Mike Shal
6030d96f14 Bug 978211 - add an automation/build target for post-build steps; r=glandium 2014-05-16 14:37:31 -04:00
Ms2ger
3fe68e5b68 Bug 1020165 - Remove empty makefiles; r=mshal 2014-06-06 10:06:24 +02:00
Mike Hommey
0fa0eb08c7 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Mike Hommey
48d163cca5 Bug 986301 - Fix --with-libxul-sdk after bug 969164. r=gps 2014-03-21 11:52:25 +09:00
Mike Hommey
989b41cf6b Bug 969164 - Replace most BUILDING_JS uses with JS_STANDALONE. r=gps
Before making top-level traverse js/src moz.build files, there was a need to
distinguish between top-level traversing e.g. top-level moz.build or
config/moz.build and js/src traversing them. With a single traversal of both
moz.build sets, we now only need to distinguish between js standalone builds
and gecko builds.

There is still, however, a need to distinguish between top-level vs. js/src
configure runs on gecko builds to make them subconfigure icu and libffi from
top-level instead of js/src in js standalone builds, or when choosing to make
js/src's config.status do something when run or not.
2014-02-11 10:37:47 +09:00
Mike Hommey
557439c337 Bug 969164 - Traverse js/src moz.builds from top-level configure. r=gps
Before, we would run configure in both top-level and js/src, and both
configures would traverse their own set of moz.builds, without actual
knowledge about the other. With this change, both configures still run,
but only top-level traverses moz.build files, and uses js/src's
config.status when traversing its moz.build files. This allows a better
sharing of information between both build systems and the removal of many
hacks.

This also moves running libffi and icu configure to top-level.

Standalone js builds still have their own configure doing moz.build traversal,
as before.

--HG--
rename : config/autoconf.mk.in => config/autoconf-js.mk.in
rename : config/emptyvars.mk.in => config/emptyvars-js.mk.in
2014-02-11 10:37:47 +09:00
Mike Hommey
64fdc4d9ca Bug 950298 - Make the js build system use top-level as its root objdir. r=gps 2014-01-14 07:38:40 +09:00
L. David Baron
1108270da1 Bug 388971: Enable the 'make check' test checking for bad relocations. r=bsmedberg 2013-12-03 12:51:08 -08:00