Commit Graph

196 Commits

Author SHA1 Message Date
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
Mike Hommey
06d6d3c5cf 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
daec0cfe86 Bug 941120 - Stop running make check twice in js/src. r=gps 2013-11-20 15:14:31 -05:00
Carsten "Tomcat" Book
b06981dc37 merge fx-team to mozilla-central 2013-11-07 14:24:24 +01:00
Mike Hommey
bf5fdbbd38 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
9df805e45f 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
4ca37a2628 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
8e1b1693f3 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
0fd2e15636 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
cf2b1d71d9 Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey
9228a9c148 Bug 926906 - Drop support for GNU make < 3.81. r=gps 2013-10-17 07:55:14 +09:00
Mike Hommey
35747eb07e Bug 925993 - Ensure clang-plugin is built before everything else; r=gps 2013-10-12 08:29:46 +09:00
Mike Hommey
1e42ec5de9 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
9ff9ef374e 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
06edd04a69 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
2b2720f0c8 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
d284873d3c 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
1f9037d4ca Bug 915648 - Parallelize make export. r=gps 2013-09-20 13:30:17 +09:00
Mike Hommey
107771f6d5 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
a560579be1 Bug 911375 - Part 2: Convert uses of PurgeManifest to InstallManifest; r=glandium 2013-09-16 17:49:44 -07:00
Mike Hommey
18beb0b78d Bug 912856 - Add a compile 'tier' to build OBJS and HOST_OBJS. r=gps 2013-09-06 09:19:32 +09:00
Mike Hommey
b72cb335fd Bug 912832 - Inverse tiers and subtiers for build traversal. r=gps 2013-09-06 09:17:59 +09:00
Mike Hommey
0f35ce5cf0 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
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Mike Hommey
3cee26c564 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
ed5c045c36 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Phil Ringnalda
c1c484bd50 Back out ce03cc2994aa:ae9f95fc1136 (bug 896797) for SpiderMonkey shell build bustage
CLOSED TREE
2013-09-03 23:21:30 -07:00
Gregory Szorc
36d7e59565 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Mike Hommey
cafbfeeac5 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
7e2f5ae088 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
5c981f7ca9 Bug 906412 - Cleanup some random parts of the build system; r=mshal 2013-08-22 08:55:59 +02:00
Gregory Szorc
41905b45f6 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
d561f14d5c Bug 905879 - More robust tier tracking; r=glandium 2013-08-20 00:06:32 -07:00
Ed Morley
9a32ee0533 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
d98f76c5d1 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
e65cc254d8 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
a8bfea6116 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
f8d99eeb9b Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Ryan VanderMeulen
6f4b79afc6 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
d16a589a6d Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Gregory Szorc
76e47f2072 Bug 874078 - Move RecursiveMakeBackend.built rule to rules.mk; r=glandium 2013-05-20 23:26:20 -07:00
Gregory Szorc
1b57b99b5f Bug 873809 - Proper dependencies under pymake; r=khuey
--HG--
extra : rebase_source : dddc589c1052470312644b7f5f4e41e566e824e6
2013-05-19 13:19:00 -07:00
Gregory Szorc
9a1da3f7a8 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
2a72dc0d95 Bug 860957 - Support for invoking non-recursive targets during partial tree builds; r=glandium 2013-05-17 10:54:53 -07:00
Mike Hommey
1ec8e719f4 Bug 861178 - Don't purge dist/ data during the MOZ_PROFILE_USE pass of a PGO build. r=ted 2013-04-12 16:03:06 +02:00
Mike Hommey
3a64c05999 Bug 860371 - Remove dist/bin when starting a build. r=gps 2013-04-11 09:33:48 +02:00