Commit Graph

562 Commits

Author SHA1 Message Date
Mike Shal
0bfb7d3b01 Bug 978211 - add an automation/build target for post-build steps; r=glandium 2014-05-16 14:37:31 -04:00
Ms2ger
9f8242b9b4 Bug 1020165 - Remove empty makefiles; r=mshal 2014-06-06 10:06:24 +02:00
Mike Hommey
d5fc3d2867 Bug 986301 - Fix --with-libxul-sdk after bug 969164. r=gps 2014-03-21 11:52:25 +09:00
Mike Hommey
9dfe3dbc7b 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
69e70086e0 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
71a7b66679 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
2b3c1e040b Bug 388971: Enable the 'make check' test checking for bad relocations. r=bsmedberg 2013-12-03 12:51:08 -08:00
Mike Hommey
881a7c1554 Bug 943728 - Replace double quotes with single quotes in Makefiles (or remove them when it makes sense). r=mshal 2013-12-03 06:34:21 +09:00
Ted Mielczarek
b1b4271ebe Bug 941120 - Stop running make check twice in js/src. r=gps 2013-11-20 15:14:31 -05:00
Carsten "Tomcat" Book
debadf6309 merge fx-team to mozilla-central 2013-11-07 14:24:24 +01:00
Mike Hommey
f932a1fe70 Bug 862770 - Fix --disable-compile-environment a little. r=gps
--HG--
rename : config/makefiles/target_libs.mk => config/makefiles/target_binaries.mk
rename : js/src/config/makefiles/target_libs.mk => js/src/config/makefiles/target_binaries.mk
2013-11-07 10:37:45 +09:00
Mike Hommey
9c6d59da57 Bug 934332 - Don't install tests under js/src in --with-libxul-sdk builds. r=gps 2013-11-07 10:37:45 +09:00
Matt Brubeck
a0bd27f087 Bug 934713 - Explicitly use $(PYTHON) to run config.status [r=gps]
This fixes a mysterious bug where config.status has the wrong sys.path when
this recipe is built using GNU Make on Windows.
2013-11-06 13:16:44 -08:00
Mike Hommey
5a237ede03 Bug 934344 - Fix race condition in parallel export, between js/xpconnect/src and xpcom/idl-parser. r=mshal 2013-11-05 07:39:28 +09:00
Gregory Szorc
4c8f0feb82 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
2eefafb740 Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey
a0a21e4262 Bug 926906 - Drop support for GNU make < 3.81. r=gps 2013-10-17 07:55:14 +09:00
Mike Hommey
2fa8e3c610 Bug 925993 - Ensure clang-plugin is built before everything else; r=gps 2013-10-12 08:29:46 +09:00
Mike Hommey
fe52c2ade4 Bug 921307 - Aggregate dependencies in subdirectories that are still recursed with pseudo derecurse. r=gps 2013-10-03 05:51:19 +09:00
Mike Hommey
190b98c019 Bug 905973 part 3 - Add a "binaries" tier that optimizes for recompilation times. r=gps 2013-10-02 08:53:23 +09:00
Mike Hommey
d12986c1ca Bug 921770 - Avoid doing things with js/src from top-level when building --with-libxul-sdk. r=gps 2013-10-01 08:25:38 +09:00
Gregory Szorc
d03c8a0359 Bug 921070 - Remove precompile tier; r=glandium
It made sense at the time. We now have inverted tiers and will soon have
derecursified building. This doesn't make sense any more.
2013-09-26 16:05:10 -07:00
Gregory Szorc
cce25ec859 Bug 901990 - Part 3: Don't purge _tests during PGO builds; r=glandium
CLOSED TREE
2013-09-24 15:05:43 -07:00
Mike Hommey
5e60e741d9 Bug 915648 - Parallelize make export. r=gps 2013-09-20 13:30:17 +09:00
Mike Hommey
bbe7163df0 Bug 907365 - Pseudo-derecursify the build (opt-in). r=gps
Also remove the compile tier added in bug 912856 when pseudo-derecursify is disabled.
2013-09-20 10:44:11 +09:00
Gregory Szorc
6c15858170 Bug 911375 - Part 2: Convert uses of PurgeManifest to InstallManifest; r=glandium 2013-09-16 17:49:44 -07:00
Mike Hommey
265e821783 Bug 912856 - Add a compile 'tier' to build OBJS and HOST_OBJS. r=gps 2013-09-06 09:19:32 +09:00
Mike Hommey
61416bf7d3 Bug 912832 - Inverse tiers and subtiers for build traversal. r=gps 2013-09-06 09:17:59 +09:00
Mike Hommey
af0d7db986 Bug 912795 - make export doesn't handle install/purge manifests. r=gps
At the same time, fix a few things in the top-level Makefile.in.
2013-09-05 15:07:57 +09:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Mike Hommey
09b7788e66 Bug 911634 - Create a .mozconfig.mk in the objdir when starting a build, and include it from config.mk. r=gps 2013-09-05 09:01:44 +09:00
Gregory Szorc
ea490cb122 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Phil Ringnalda
d0f16d5486 Back out ce03cc2994aa:ae9f95fc1136 (bug 896797) for SpiderMonkey shell build bustage
CLOSED TREE
2013-09-03 23:21:30 -07:00
Gregory Szorc
2b5f3df5d4 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Mike Hommey
f0d1c7b4a5 Bug 909076 - Remove useless rules for make export at the top-level directory. r=gps 2013-08-27 11:17:23 +09:00
Gregory Szorc
8a761b0d06 Bug 896797 - Part 1: Ensure js/src moz.build is up to date before building; r=glandium 2013-08-22 16:30:11 -07:00
Ms2ger
af2c13c793 Bug 906412 - Cleanup some random parts of the build system; r=mshal 2013-08-22 08:55:59 +02:00
Gregory Szorc
962efc1ea1 Bug 906101 - Move tier make logic into own .mk file and don't use from rules.mk; r=glandium
The existing tier traversal logic is only used in the top-level Makefile
but was present in rules.mk. This meant it was getting evaluated for
every Makefile. This was silly and thus the logic has mostly been moved into
its own .mk file and is only included for the root Makefile.
2013-08-20 13:03:39 -07:00
Gregory Szorc
61a66aa0f0 Bug 905879 - More robust tier tracking; r=glandium 2013-08-20 00:06:32 -07:00
Ed Morley
a4ae239c93 Bug 901898 - Remove codesighs now that it's no longer run in automation; r=gps 2013-08-12 13:10:41 +01:00
Gregory Szorc
329e5f905d Bug 891474 - Establish unified directory for Python build actions; r=glandium, ted
--HG--
rename : config/purge_directories.py => python/mozbuild/mozbuild/action/purge_manifests.py
rename : build/xpccheck.py => python/mozbuild/mozbuild/action/xpccheck.py
extra : rebase_source : 46bc960aa62c1117a7bf215653b768dc78b48d9a
2013-07-11 13:42:26 -07:00
Gregory Szorc
26b6273c6d Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium
--HG--
extra : rebase_source : bfe9c0eb27d5b19e26e557af8762bb45c21b949e
2013-06-25 11:04:03 -07:00
Ehsan Akhgari
86c57d04d0 Backed out 2 changesets (bug 884587) because of Windows build bustage on a CLOSED TREE
Backed out changeset 0244a34bc419 (bug 884587)
Backed out changeset 796961a384b4 (bug 884587)
2013-06-25 16:38:55 -04:00
Gregory Szorc
b39bae5dc8 Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Ryan VanderMeulen
66ccaf8f81 Backed out 2 changesets (bug 884587)
Backed out changeset 447ff64adbb1 (bug 884587)
Backed out changeset 8d90527c22c6 (bug 884587)
2013-06-25 15:22:37 -04:00
Gregory Szorc
184599b8bf Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Gregory Szorc
d68186dcef Bug 874078 - Move RecursiveMakeBackend.built rule to rules.mk; r=glandium 2013-05-20 23:26:20 -07:00
Gregory Szorc
3d9c02c05e Bug 873809 - Proper dependencies under pymake; r=khuey
--HG--
extra : rebase_source : dddc589c1052470312644b7f5f4e41e566e824e6
2013-05-19 13:19:00 -07:00
Gregory Szorc
2ef5ff2f09 Bug 848530 - Check for moz.build traversal at top of build; r=glandium
One of the first actions an invoked Makefile now does is check to see if
*any* moz.build file or Makefile.in is out of date. If so, config.status
is executed to rebuild the build backend.

Since we always perform this check as part of a build, we no longer need
special handling for out of date moz.build files during traversals. This
results in the removal of a significant amount of code!

Another upside of the change is that if a moz.build file is modified
during building, we don't (potentially) modify the build backend from
under the in-progress build. Thus the only race condition that remains
is if a moz.build is mutated during moz.build reading. This window (a
few seconds) is significantly shorter than the time of a full build
(minutes).

This patch should also enable us to remove empty Makefile.in files
without requiring a clobber.
2013-05-17 10:54:56 -07:00
Gregory Szorc
c0e82f1e41 Bug 860957 - Support for invoking non-recursive targets during partial tree builds; r=glandium 2013-05-17 10:54:53 -07:00