Граф коммитов

1453 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd b3f52ed877 Bug 1318981 - part 1 - factor out a CARGO_BUILD makefile variable; r=chmanchester
This change makes the individual cargo rules easier to understand, and
provides a single place to change e.g. environment variables passed to
cargo.
2016-12-02 11:38:45 -05:00
Mike Hommey 07083a8dfb Bug 1317504 - Make MSVC builds use the LINK variable instead of LD. r=chmanchester
At the same time, remove HOST_LD. It was only used for MSVC builds,
which don't support cross-compile anyways, so we can, at least for now,
use LINK for both host and target.

--HG--
extra : rebase_source : 9ee9e7e1bd3edefc043fa63d5c03f2a242f76982
2016-11-24 15:45:16 +09:00
Nathan Froyd 36fb414815 Bug 1293253 - part 6 - add build and installation rules for {HOST_,}RUST_PROGRAMS; r=chmanchester
The only complicating factor here is having to split out the --target
flag from cargo_build_flags, so we can pass the appropriate one
depending on our build target.
2016-11-28 11:20:39 -05:00
Nathan Froyd 3d6a6a666a Bug 1293253 - part 5 - move cargo_build_flags determination out of RUST_LIBRARY_FILE block; r=chmanchester
We need cargo_build_flags not just for Rust libraries now, but for Rust
programs as well.
2016-11-28 11:20:39 -05:00
Nathan Froyd cd91c3196d Bug 1293253 - part 1 - modify existing Rust library build rules to be explicitly about libraries; r=chmanchester
In preparation for a world where we have cargo building binaries too,
the existing rules should be renamed to reflect their library
associations.  The lone Cargo invocation should be updated to explicitly
build libraries only, so libraries and binaries in the same directory
will work correctly.

Fixup a leftover comment from a previous set of changes while we're here.
2016-11-28 11:20:39 -05:00
Nathan Froyd 55243ce768 Bug 1300835 - enable --disable-optimize --enable-debug to DTRT for Rust code; r=ted.mielczarek 2016-11-21 17:39:39 -05:00
Gregory Szorc 389dbcf95f Bug 1315785 - Invoke cargo with --color=always when original stdout is a TTY; r=glandium
Combined with the previous patch that sets MACH_STDOUT_ISATTY, the
practical effect of this patch is that cargo is invoked with
`--color=always` when mach was attached to a TTY and colorized output
is sent to the terminal.

Note: this doesn't work with Rust/Cargo 1.10 for reasons unknown to me.
It appears there was a bug with Rust/Cargo because `--color=never` still
sent colorized output on that version! Cargo/Rust 1.12.1 works fine.

MozReview-Commit-ID: 6uXS3t3413i

--HG--
extra : rebase_source : 72df6e8248cb14c96850964f694576c7fd2f5fbb
2016-11-07 13:46:15 -08:00
Aaron Klotz a426b005cc Bug 1310841: Modify build rules to allow specification of a manifest for Windows DLLs; r=gps
MozReview-Commit-ID: EdY8Kx8irYW

--HG--
extra : histedit_source : 2c62d93279b54c30840910fb3fe54f9276a80f01
2016-10-17 16:03:11 -06:00
Cameron McCormack 4378d41370 Bug 1310939 - Pass $(CARGOFLAGS) to cargo invocations so cargo flags can be passed from a .mozconfig file. r=froydnj
MozReview-Commit-ID: A5GNTzS0BTM

--HG--
extra : amend_source : 01749f41a239949510bbc1e90a3324c934cfe86a
2016-10-18 16:04:57 +08:00
Ted Mielczarek e9130abab5 bug 1305731 - Revert workaround from bug 1301751 now that we have updated to Rust 1.12. r=froydnj
MozReview-Commit-ID: 3akbELExfKT

--HG--
extra : rebase_source : 0308214bae6eb683df65991fc91d41679acd3530
2016-10-17 10:47:30 -04:00
Nathan Froyd e818915fae Bug 1304815 - rearrange Rust crate structure for newer Rust releases; r=ted.mielczarek
In our current Rust world, we have the following dependency structure:

  xul.so --------------------------+
                                   |
  xul-gtest.so -+--> xul.a --------+-> gkrust
                |
                +--> gkrust-gtest

This structure results in link errors with multiply-defined symbols
between gkrust-gtest and gkrust with newer Rust releases when linking
xul-gtest.so.  So we have to do something different.

Our new structure is:

  xul.so --------------------------+
                                   |
  xul-gtest.so -+--> xul.a --------+-> gkrust --+-> gkrust-shared
                |                               |
                +--> gkrust-gtest --------------+

and we enforce that a given shared library can only have at most one
Rust library that it depends on.  Said Rust library is assumed to
include all significant Rust dependencies of the dependent static
libraries as well.  (In the above structure, gkrust is simply a wrapper
around gkrust-shared, so gkrust-gtest doesn't have to include gkrust as
a dependency.)
2016-10-15 18:16:13 -04:00
Andrew Halberstadt 6b48ddc0b0 Bug 1304593 - Use |mach python-test| to run python unittests from make check, r=ted
Currently make check loops over all directories and runs each test file in PYTHON_UNIT_TESTS
individually. This patch instead creates a single top-level check target that runs
|mach python-tests|. This should make automation more similar to running locally, be a bit
quicker and make it easier to pull python tests out of make check completely at a future date.

MozReview-Commit-ID: 4Hg4zdFyc61

--HG--
extra : rebase_source : 31d0c38a76c11b75d3bf569f2bf22a0666161726
2016-09-26 15:29:02 -04:00
Ted Mielczarek abdba70d60 bug 1301751 - work around llvm-dsymutil crash by building rust with debuginfo=1 instead of -g. r=froydnj
MozReview-Commit-ID: 5pK8okLw0Cl

--HG--
extra : rebase_source : f1c366ae3751bcd70272e77c7754fb4adeafdd7b
2016-09-27 06:24:24 -04:00
Chris Manchester bb8ff6012c Bug 1262155 - Always pass defines when compiling SOBJS. r=ted
This is relevant when attempting to build libffi with our build system
(libffi expects its assembly sources to be pre-processed).

MozReview-Commit-ID: J6mCUkYYjQh
2016-09-21 12:04:08 -07:00
Michael Layzell 05bd5a1076 Bug 1300208 - Allow specifying multiple rust crates to mozbuild within the same FINAL_LIBRARY, r=froydnj
MozReview-Commit-ID: IIjV4Kg7wOv
2016-09-20 11:26:43 -04:00
Nathan Froyd f7fb6722a6 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Nathan Froyd 4fb1a7545d Bug 1231764 - part 0 - only link librul once; r=chmanchester
Through an oversight, we listed librul.a twice when linking libxul: once
as part of the "objects" we were linking, and once as a static library.
This duplication is unnecessary and would cause problems later when we
try to generate librul.a via cargo, as cargo will put it someplace
different from where we expect and the two names will conflict.  Let's
have rules.mk be the single source of truth for how librul.a is named,
and then the code to link libxul can simply refer to that name.
2016-08-06 00:49:26 -04:00
Wes Kocher 9605851be0 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)

--HG--
extra : rebase_source : e71360fa4b5e3e74859c82e74e183e13e6211c4c
2016-08-03 16:27:06 -07:00
Nathan Froyd 6b2618fb44 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00
Nathan Froyd a79d68b929 Bug 1231764 - part 0 - only link librul once; r=chmanchester
Through an oversight, we listed librul.a twice when linking libxul: once
as part of the "objects" we were linking, and once as a static library.
This duplication is unnecessary and would cause problems later when we
try to generate librul.a via cargo, as cargo will put it someplace
different from where we expect and the two names will conflict.  Let's
have rules.mk be the single source of truth for how librul.a is named,
and then the code to link libxul can simply refer to that name.
2016-08-03 19:40:41 -04:00
Mike Hommey 02e5baaf74 Bug 1289246 - Do not hardcode mt.exe as the Manifest Tool. r=chmanchester
Configure uses the value of the MT environment variable before falling back
to mt(.exe), but the build system was completely ignoring the MT
environment variable.

--HG--
extra : rebase_source : 8c9b43aeb08493ae5bd6d6361f4f18f097ea0553
2016-07-22 15:56:26 +09:00
Ted Mielczarek 82d77574ff bug 1266368 - move rust.m4 to configure. r=glandium
MozReview-Commit-ID: 9ol2nMYM0a0

--HG--
extra : rebase_source : 3f3feeac941791d081e09ebb096a3e052540a52c
2016-05-16 15:27:37 -04:00
Mike Shal 5ab92bb3fa Bug 1252804 - remove TARGET_LOCAL_INCLUDES; r=ted
MozReview-Commit-ID: 6s1SWINNMM9

--HG--
extra : rebase_source : 3c64cc907a41215be454ccae4230d3d216e097d9
2016-04-29 17:09:57 -04:00
Nathan Froyd 82c6f5d7a7 Bug 1163224 - add build system support for multiple Rust crates; r=glandium
Our current build system support for Rust compiles any Rust crate into a
so-called staticlib, which is a static library (.a file) that includes
the Rust runtime. That staticlib is then linked into libxul. For
supporting multiple crates, this approach breaks down, as linking
multiple copies of the Rust runtime is going to fail.

For supporting multiple crates, the approach taken here is to compile
each crate into a so-called rlib, which is essentially a staticlib
without the Rust runtime linked in. The build system takes note of
every crate destined for linking with libxul (treating them like static
libraries generated from C/C++ files), and generates a super-crate,
whimsically named "rul", that is compiled as a staticlib (so as to
include the Rust runtime) and then linked into libxul. Thus only one
copy of the Rust runtime is included, and the Rust compiler can take
care of any inter-crate dependencies.

This patch currently only supports Rust code in shared libraries, not in
binaries.
2016-04-21 09:54:01 -04:00
Sebastian Hengst 364386e3cf Backed out changeset cb4b18566f30 and 7c4d19e3376f (bug 1163224) for build bustage. r=backout on a CLOSED TREE 2016-04-11 19:43:04 +02:00
Nathan Froyd e136c9ac20 Bug 1163224 - fix typo in creating global crate dependencies; r=me
Hoping the added Rust will let us reopen this CLOSED TREE.
2016-04-11 12:42:36 -04:00
Nathan Froyd 45af5cd66c Bug 1163224 - add build system support for multiple Rust crates; r=glandium
Our current build system support for Rust compiles any Rust crate into a
so-called staticlib, which is a static library (.a file) that includes
the Rust runtime.  That staticlib is then linked into libxul.  For
supporting multiple crates, this approach breaks down, as linking
multiple copies of the Rust runtime is going to fail.

For supporting multiple crates, the approach taken here is to compile
each crate into a so-called rlib, which is essentially a staticlib
without the Rust runtime linked in.  The build system takes note of
every crate destined for linking with libxul (treating them like static
libraries generated from C/C++ files), and generates a super-crate,
whimsically named "rul", that is compiled as a staticlib (so as to
include the Rust runtime) and then linked into libxul.  Thus only one
copy of the Rust runtime is included, and the Rust compiler can take
care of any inter-crate dependencies.

This patch currently only supports Rust code in shared libraries, not in
binaries.  The handling for the rul crate is placed in the common
backend, with a special hook for derived backends to handle shared
library objects.
2016-04-11 11:05:44 -05:00
Gregory Szorc 8bec49cc68 Bug 1262569 - Do not print individual source targets being built; r=ted
Multiple people have complained that the build output of printing the
source files being built adds little value. I agree. The extra output
doesn't give really helpful progress info because sources can be built
in non-deterministic order. Furthermore, the extra output hides useful
output like compiler warnings.

This patch makes the default build system output even less verbose. We
no longer print the individual source targets when they are built. We do
still print the targets for binaries, so some sense of progress can be
inferred.

If people like verbosity, they can export the undocumented
BUILD_VERBOSE_LOG environment variable can be set to restore the old
behavior.

MozReview-Commit-ID: KeaeJJkjPJn

--HG--
extra : rebase_source : a90b4b82eeef48d9bd896b5c12907ce05a650d4d
2016-04-06 16:49:55 -04:00
Mike Hommey 2a512468b1 Bug 1260998 - Add support for HOST_CPPFLAGS for consistency. r=nalexander 2016-04-01 09:43:26 +09:00
Mike Hommey 84027af8da Bug 1256507 - Remove --enable-xterm-updates. r=gps
It's an opt-in flag that allows to display where the build is in
terminal window titles. The fact that it's opt-in and likely unknown
makes it very low-value, and the fact that it was added in an era where
builds were not very well parallelized made it have a meaning, but now
that builds are parallelized, its meaningfulness is diminished.

Let's just remove it.
2016-03-15 16:40:15 +09:00
Mike Hommey d464f29e5f Bug 1255813 - Remove build system support for Solaris, HPUX and AIX. r=ted 2016-03-15 07:34:50 +09:00
Ted Mielczarek 5c634ab869 bug 1248016 - make ASFILES rules work with .s/.asm, get rid of ASM_SUFFIX. r=mshal
MozReview-Commit-ID: 1MK0Kud51vR

--HG--
extra : rebase_source : de7a7f11bfbbac1e8eccc34de39dd2d88d803b03
extra : amend_source : d7eddb71b050e0576e783c6ce8c67f66cfd88e13
2016-03-01 13:47:19 -05:00
Mike Shal 053369e67e Bug 1253431 part 7 - Remove SDK_BINARY; r=gps
MozReview-Commit-ID: 4RmjsX966Qh

--HG--
extra : rebase_source : 0d9d94ed98ae8f1cfb9d5787edc1336ce1ee6785
2016-03-03 14:23:57 -05:00
Myk Melez db9a40ca42 Bug 1238079 - remove the desktop web runtime; r=fabrice,mossop,gps,jryans,jmaher,marco 2016-03-07 13:33:12 -08:00
Ms2ger 2351d7e46d Bug 1252093 - Move AUTOCFG_JS_EXPORTS to moz.build; r=ted 2016-03-01 09:17:29 +01:00
Nathan Froyd d75a7f55af Bug 1249103 - remove support for MOZ_POST_DSO_LIB_COMMAND; r=mshal
Nothing uses this variable.  blame suggests that it was used for HP-UX
once upon a time.  The companion variable, MOZ_POST_PROGRAM_COMMAND, is
only used by HP-UX, but as we're not wholesale removing HP-UX
support (yet), we should leave MOZ_POST_PROGRAM_COMMAND alone.
2016-02-17 15:17:21 -05:00
Mike Hommey e50a6cfd7b 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 e9ce9ca165 Bug 1241421 - Remove jar.mn with no JAR_MANIFESTS check in config/rules.mk. r=mshal
The same check exists in the emitter code anyways.
2016-01-22 07:00:23 +09:00
Jacek Caban ea0edf0971 Bug 1239672 - Fixed symbols file support on mingw. r=glandium 2016-01-21 13:39:41 +01:00
Mike Hommey 27f3aa7c34 Bug 1241022 - Move GENERATED_FILES. r=gps
GENERATED_FILES impacts the export tier through the config/rules.mk
definitions, now moved to the backend itself, so that everything is
close to each other.
2016-01-21 13:54:03 +09:00
Mike Hommey dd60f8bf2c Backout changeset de0a7a1cdc4a from bug 1240660 for make package bustage on a CLOSED TREE 2016-01-20 08:03:58 +09:00
Mike Hommey 299b5dc832 Bug 1240660 - Move jar_maker to the misc tier, now that ordering does't matter. r=gps 2016-01-20 07:24:40 +09:00
Dan Minor 30f2bba053 bug 1237619: Record build objects in resource_usage.json r=gps
Collecting the list of object files compiled, while not ideal, will give us
some indication of how much work was involved in the build. This will help
with analyzing the data.

--HG--
extra : rebase_source : e9861ed5c0766e3ee8038dbec0b9267022c523eb
2016-01-12 14:00:24 -05:00
Mike Hommey d5c0c5233a Bug 1235733 - Use absolute paths for include paths. r=gps
Limit ourselves to include paths for now, because there are tricky things
involved in making this globally.

While here, use shell_quote instead of manual quoting for those paths.
2015-12-31 08:10:02 +09:00
Mike Hommey e0c501a1c1 Bug 1235738 - Move MOZ_DEBUG_DEFINES to build frontend. r=gps
MOZ_DEBUG_DEFINES are essentially defines used everywhere. So treat them as
feeding the initial value for DEFINES in each moz.build sandbox. This allows
the kind overrides that was done in the past by resetting MOZ_DEBUG_DEFINES
in Makefiles.
2015-12-31 07:27:23 +09:00
Mike Hommey 54704ce9a1 Bug 1235132 - Add support for a more-or-less cross-platform symbols file. r=gps
Currently, one needs to define DEFFILE or LD_VERSION_SCRIPT appropriately,
and somehow deal with the fact that their input format is different, which
currently relies on manual invocations of the convert_def_file script, with
awkward aggregations.

This simplifies the problem by using a simple list of symbols, with
preprocessing, allowing #includes.
2015-12-31 07:22:04 +09:00
Mike Hommey d5126527fe Bug 1235021 - Always use the % marker for preprocessed css files. r=gps
Currently, only css files added through jar manifests are treated this way.
There is really no reason for the discrepancy, but there are actually no css
files added directly through moz.build, so this was never a problem.

On the other hand, it makes things simpler in a world where jar manifests are
treated as if they were entirely described in moz.build (which is where the
FasterMake backend is heading).
2015-12-31 07:06:11 +09:00
Mike Hommey d7478b6b1e Bug 1234955 - Make TEST_DIRS a SPECIAL_VARIABLE. r=gps
Using TEST_DIRS is nothing more than a shortcut for

if CONFIG['ENABLE_TESTS']:
    DIRS += [...]

As such, we might as well remove it being a separate variable, and use some
Context magic to just fill DIRS when ENABLE_TESTS is set.

The security/manager/ssl/tests/unit/moz.build change ensures that the order
of DIRS before the change is kept, not because it matters, but because it
allows to confirm that nothing else is modified by this change.
2015-12-24 13:12:49 +09:00
Nathan Froyd bd48dbd1fc Bug 1208566 - emit proper dependencies when compiling Rust sources; r=mshal 2015-12-17 12:14:33 -08:00
Wes Kocher 5f38bdeff2 Backed out 2 changesets (bug 1208566) for breaking mulet builds
Backed out changeset a5618a5cbc7f (bug 1208566)
Backed out changeset f3fd530324ee (bug 1208566)

--HG--
extra : commitid : DaxmN4TLzwv
2015-12-17 09:34:33 -08:00
Nathan Froyd aa7ce205e6 Bug 1208566 - emit proper dependencies when compiling Rust sources; r=mshal 2015-12-17 08:25:03 -08:00
Mike Hommey 158e08c29b Bug 1230355 - Remove include_deps. r=mshal
We used to use include_deps to trigger a fast-path in pymake, but we don't
use pymake anymore, so we can use normal includes now.
2015-12-09 19:23:53 +09:00
Mike Hommey 3b9cda439c Bug 1229241 - Use FINAL_TARGET{,_PP}_FILES for JS_PREFERENCE{,_PP}_FILES. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey 861b5a242a Bug 1229241 - Redirect EXTRA{_PP}_COMPONENTS to FINAL_TARGET{,_PP}_FILES.components. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey 3a04b1f8dc Bug 1228444 - Make DIST_FILES a HierarchicalStringList, like FINAL_TARGET_FILES. r=gps 2015-12-01 08:25:22 +09:00
Mike Hommey 655579a1fa Bug 1228444 - Don't silence "no preprocessor directives found" warnings for DIST_FILES. r=gps
and move files without preprocessor directives to FINAL_TARGET_FILES.
2015-12-01 08:25:22 +09:00
Jon Coppeard f04a28db9e Bug 1220731 - Refactor embedjs script for use from moz.build rather than makefiles r=shu r=glandium 2015-11-06 13:09:01 +00:00
Chris Manchester ba6beeb0c0 Bug 1220000 - Unconditionally include EXTRA_MDDEPEND_FILES so callers get what they expect. r=glandium
GENERATED_FILES and accessible/xpcom/Makefile.in add to EXTRA_MDDEPEND_FILES, but for
targets that run during export. Export doesn't include EXTRA_MDDEPEND_FILES, so none
of them is ending up with correct dependencies. The EXTRA_EXPORT_MDDEPEND_FILES variable
could be used for this purpose, but given the circumstances this variable is removed,
and EXTRA_MDDEPEND_FILES is instead included unconditionally.

--HG--
extra : commitid : 7daRRnxfkS0
2015-11-03 10:23:04 -08:00
Mike Hommey a8bec728dc Bug 1212773 - Pass a base directory to jar maker, instead of a chrome directory. r=gps 2015-10-20 07:36:47 +09:00
Mike Hommey 9af046b5b4 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 7f68f92edb Bug 1210329 - Remove support for line endings munging in the preprocessor. r=gps
It was added back in
5147d5c69f
for unclear reasons (and the lack of bug number doesn't help), and hasn't been
used, as far as I can see in the gecko-dev history, other than in bug 206029,
which is the only use currently in the tree.

Bug 206029 was working around the Flash player installer modifying Firefox's
prefs file and not dealing with it properly or something depending on the line
endings. 11 years later, all prefs files except channel-prefs.js are in
omni.ja, so obviously, bug 206029 doesn't actually apply anymore.

So, let's simplify it all and get rid of this.
2015-10-06 11:15:04 +09:00
Mike Hommey 9f2c4e94ba Bug 1209875 - Get rid of XULPPFLAGS. r=gps
The flags added in toolkit/locales/Makefile.in turn out not to be actually
used, so just remove that.

The remaining uses of XULPPFLAGS are to set debug flags depending on whether
MOZ_DEBUG is set or not. Just set a dedicated variable with the right value
from configure.
2015-10-01 07:30:48 +09:00
Andreas Tolfsen 29d401a02f Bug 1177608: Support for compiling optimised Rust code
Optimised Rust compilation is enabled on passing --enable-optimize to
the configure script.  This sets the RUSTFLAGS output variable that gets
picked up by the compile targets RSOBJS and RSSRCS and passed to rustc.

r=glandium

--HG--
extra : commitid : 8thSkfLFXSY
extra : rebase_source : 5ec79b76a187bcbb0f09ad374cf9f763f0adb0d7
2015-07-21 14:21:40 +01:00
Ted Mielczarek f6af9a3909 bug 1163828 - build system changes to support building for iOS. r=glandium
--HG--
extra : commitid : EAxgCmmuwAx
extra : rebase_source : 854a55e62573e59e042a326d62450fa3fbf2db18
2015-06-10 11:10:40 -04:00
Mike Hommey 622e7d63a3 Bug 1166538 - Use zip py_action in a few places. r=gps 2015-05-21 15:17:02 +09:00
Brian O'Keefe c6ba641724 Bug 924187 - Deal with interfaces.manifest from the backend. r=mshal
--HG--
extra : rebase_source : 2d2cbc1ebc97496c54aef63de73b00af8126e750
2015-02-13 08:11:57 -05:00
Ralph Giles 2ea918802d Bug 1161339 - Add rust support to moz.build. r=ted
Add .rs as a recognized file extension in SOURCES.

Propagate that through to the Makefile backend and add a dependency
generated and an explicit rule to call $(RUSTC) to compile them.

rustc builds static libraries, not obj files. At least, if one
asks it to output an obj file, I'm not clear how to get all the
compiler-specific runtime libraries the code will expect to link
to. Therefore we generate a static library for each rust source
file (which must be a complete crate for the time being) and link
that. Because of the extension it ends up on the LIBS line in the
the corresponding .desc file.

Note that the static library does still depend on some system
libraries, e.g. -ldl -lpthread -lm on linux. Gecko already
links to all of those, so we don't keep track of it here.

Should we need to add explicit linkage for other targets,
rustc does print a list to stderr which can be parsed.

--HG--
extra : rebase_source : 9f66101fd15a649a952d5481cf9561416204272a
2015-05-08 15:18:00 -07:00
Nathan Froyd c18b2cd88a Bug 1155283 - remove XULAPP_DEFINES from DIST_FILES_FLAGS; r=mshal
Nothing uses XULAPP_DEFINES anymore, let's just get rid of it.  There
are plenty more places to add in defines for DIST_FILES if one is so
inclined.
2015-05-07 10:03:16 -04:00
Nathan Froyd 83a343a076 Bug 1155816 - part 2 - move EXTRA_*COMPONENTS manifest check to build-backend time; r=mshal
Now that moz.build can see EXTRA_*COMPONENTS and NO_JS_MANIFEST, we can
move some logic from rules.mk (executed every build) to moz.build's
emitter.py (executed only at build-backend time).
2015-04-17 15:02:19 -04:00
Mike Hommey 6b5cb3d245 Fixup for bug 1153154 for bustage on a CLOSED TREE. r=me
There was no need for a stdc++compat check on host static libraries anyways.
2015-04-16 15:30:29 +09:00
Mike Hommey f5314c8492 Bug 1153154 - Add stdc++compat check for host programs when not cross compiling. r=mshal 2015-04-16 14:35:11 +09:00
Brian O'Keefe 48eccfb774 Bug 852814 - Move mozbuild variable blacklist logic into the backend. r=gps
--HG--
extra : rebase_source : 01acc12d0ac4d08f7f5367990037eb87db20a404
2015-03-27 15:39:34 -04:00
Mike Hommey cfddf46217 Bug 1063874 - Move the parts of XPIDL_SOURCES handling in misc to export. r=gps 2015-02-11 17:36:45 +09:00
Brian O'Keefe a7beaba91a Bug 923080 - Generate xpt files into final location. r=glandium
Now that the mozbuild backend knows about FINAL_TARGET, we are able to
install generated xpt files into their final location. This saves us
from copying xpt files into their final location on every build.

Original patch by gps, rebased and comments addressed by Ms2ger

--HG--
extra : transplant_source : %E2%DC%0F%E0%AD%C2%25%A1%B8%A9%FE%B0%8C%60%FF%CB%02G%25%E5
2014-05-21 08:25:57 -04:00
Nathan Froyd 3789a9c7de Bug 1109826 - part 2 - don't complain about missing directives for PREF_JS_EXPORTS and DIST_FILES; r=mshal 2014-12-10 14:56:14 -05:00
Joshua Cranmer 6bc7254918 Bug 1099430, mozilla-central parts: Eliminate the duplication of the build system in comm-central, r=glandium.
See the revisions a few steps prior for more fine-grained information. This just
needs to be relanded because our automation doesn't like non-ASCII commit
messages.

--HG--
extra : amend_source : 0ee4e0da1ea9ada815abfe989c51030db24aac56
2014-11-29 19:45:31 -06:00
Phil Ringnalda 23f2a4bc21 Backed out 3 changesets (bug 1099430) because 256 characters should be enough for anybody's commit message
CLOSED TREE

Backed out changeset 28abb8af2d62 (bug 1099430)
Backed out changeset 358aa39360d5 (bug 1099430)
Backed out changeset 3313e545f4f6 (bug 1099430)
2014-11-29 17:17:58 -08:00
Joshua Cranmer 80b5548b99 Bug 1099430, part 三: Use MOZILLA_DIR instead of topsrcdir in shared makefiles, r=glandium.
With these substitutions, it is possible to have comm-central's versions of
these files merely include the mozilla-central versions and avoid having to port
small changes to these files.
2014-11-29 18:44:19 -06:00
Joshua Cranmer 358bd037da Bug 1099430, part 一: Define MOZILLA_DIR early in the base makefiles, r=glandium.
This change allows us to use use MOZILLA_DIR even for changes in config.mk. The
corollary is that comm-central needs to define MOZILLA_DIR before calling into
baseconfig.mk, which it already does.

The change to the test Makefile is needed since it decides to skip including
config.mk, and hence baseconfig.mk, where it would need to grab the MOZILLA_DIR
declaration.
2014-11-29 18:44:10 -06:00
Gregory Szorc 8414202025 Bug 1094303 - Move XPT buildlist into misc tier; r=glandium
buildlist invocations are slow and can occur in parallel since the
underlying program obtains a lock on the modified file.

Moving the XPT-related buildlist invocation from the serial libs tier to
the parallel misc tier decreased my no-op build time on OS X from 43.5s
to 37.0s.

--HG--
extra : rebase_source : 7d274024c401b1ecfbc771424a69eb487808fcbf
2014-11-05 09:20:35 -08:00
Gregory Szorc 26231d7079 Bug 1094302 - Remove unused EXTRA_JS_MODULES rule from rules.mk; r=glandium
The installation rule for EXTRA_JS_MODULES and EXTRA_PP_JS_MODULES
became unused after b961ba8f0892 (bug 1044162). We remove the dead code.

--HG--
extra : rebase_source : 40adf7514d15ae4ba5bbfe3ac101061657aac841
2014-11-05 09:39:13 -08:00
Mike Hommey 9cec4aee6b Bug 1094584 - Stop using the fake.lib trick. r=mshal
This used to be necessary to avoid the conflicting names between import
libraries and static libraries, but that's now prevented by the whole
moz.build machinery.
2014-11-07 10:16:42 +09:00
Mike Hommey 2277137650 Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Wes Kocher d57953d2bd Backed out changeset db93b3cbdc17 (bug 1094037) on a CLOSED TREE 2014-11-05 17:22:50 -08:00
Mike Hommey ac80bd5f6c Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey e8150918fc Bug 1094033 part 1 - Consolidate how to add new tiers. r=gps 2014-11-06 09:29:11 +09:00
Jan Beich c058a442f6 Bug 1041795 - Disable system libs when generating DTrace probes. f=sfink f=ginn.chen 2014-11-04 02:01:00 +01:00
Mike Hommey 24ed7656db Bug 1091383 - Move delayload logic entirely in moz.build frontend code. r=gps 2014-11-04 13:48:25 +09:00
Mike Hommey 47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey deb5d056a6 Bug 1090107 - Define stlport dependencies in moz.build. r=mshal 2014-10-29 13:29:42 +09:00
Mike Hommey 707134faf6 Bug 857628 - Add a --enable-pie configure option to build target programs as position independent executables when supported by gcc/clang. r=mshal 2014-09-26 07:33:56 +09:00
Mike Hommey 75a8d98fa3 Bug 1077228 - Include the right autoconf.mk in GLOBAL_DEPS. r=mshal
Ever since bug 969164, the js build system, when building gecko (not when
building standalone) uses a autoconf-js.mk file for its config.

One of the suboptimal ways we have to retrigger builds when the build
configuration changes (changes to e.g. configure.in can do that) is to
make most things depend on autoconf.mk. Which unfortunately doesn't
account for the fact the js/src subdirectory uses a different file.

In practice, this means that some classes of changes to the js build
system, not accompanied with toplevel build system changes may no
trigger the corresponding rebuilds in the js subtree on incremental
builds.
2014-10-04 10:34:35 +09:00
Mike Hommey 8c10235da0 Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal
Currently, when there is both an expandlibs descriptor and an actual static
library, expandlibs picks the static library. This has the side effect that
if there are object files in the static library that aren't directly used,
they're dropped when linking, even when they export symbols that would be
exported in the final linked binary.

In most cases in the code base, files are not dropped that way. The most
notable counter-example is xpcomglue, where actually not dropping files
leads to link failure because of missing symbols those files reference
(yes, that would tend to say the glue is broken in some way).

On the opposite side, there is mozglue, which does have both a descriptor
and a static library (the latter being necessary for the SDK), and that
linking as a static library drops files that shouldn't be dropped (like
jemalloc). We're currently relying on -Wl,--whole-archive for those files
not to be dropped, but that won't really be possible without much hassle
in a world where mozglue dependencies live in moz.build land.

Switching expandlibs to use descriptors when they exist, even when there
is a static library (so, the opposite of the current behavior) allows to
drop -Wl,--whole-archive and prepare for a better future. However, as
mentioned, xpcomglue does still require to be linked through the static
library, so we need to make it a static library only.

To achieve that, we make NO_EXPAND_LIBS now actually mean no expandlibs
and use that to build the various different xpcomglues.
2014-10-04 10:33:00 +09:00
Ed Morley 0e5462f1d2 Backed out changeset e2fee324047d (bug 857628) for causing bug 1076892 2014-10-03 14:19:45 +01:00
Mike Hommey 26049ee2f7 Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey c8ae3e0b2f Bug 857628 - Build target programs as position independent executable when supported by gcc/clang. r=mshal 2014-09-26 07:33:56 +09:00
Jacek Caban d4deb0c2a3 Bug 1055627 - Pass MOZ_GLUE_PROGRAM_LDFLAGS after STATIC_LIBS to linker. r=glandium 2014-08-26 13:50:27 +02:00
Mike Hommey 89777800f9 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps
* * *
Bug 1047267 - To fold with "Move remaining OS_LIBS and EXTRA_LIBS to moz.build"
2014-08-07 14:21:03 +09:00
Mike Hommey 220b276684 Bug 1047267 - Allow to reference libraries from third-party build systems in USE_LIBS. r=gps 2014-08-07 14:20:38 +09:00
Mike Hommey c978a88653 Bug 1049281 - Remove static dirs handling, now that there aren't any. r=gps
Also do some overdue cleanup from the removal of parallel and tools dirs
2014-08-07 02:58:53 +09:00
Mike Hommey 4a01b3b147 Bug 1048993 - Use nsinstall from $(topobjdir)/config instead of $(DIST)/bin to avoid races when make wants to reinstall it for some reason. r=mshal 2014-08-07 02:58:50 +09:00
Ian Neal c3cb6b4ce8 Bug 1047924 - When building with ac_add_options --enable-extensions extensions are put expanded into the wrong location in dist/bin r=glandium 2014-08-06 17:58:31 +01:00
Nathan Froyd 909d33279c Bug 1044162 - part 2 - remove JS_MODULES_PATH from the build system; r=mshal 2014-07-25 14:37:22 -04:00
Mike Hommey 99fdc4c1d6 Bug 1043869 - Derive build dependencies for programs and libraries from make backend data instead of getting them from expandlibs. r=mshal 2014-07-29 08:59:56 +09:00
Mike Hommey c48f53e37a Bug 1043865 - Remove the remainder of compilation bits from the libs tier. r=gps 2014-07-29 08:59:27 +09:00
Mike Hommey 179299ea01 Bug 1043862 - Make the binaries target use the compile tier. r=gps 2014-07-29 08:58:28 +09:00
Mike Hommey 2bab6202af Bug 1043820 - Remove PARALLEL_DIRS. r=gps 2014-07-29 08:57:59 +09:00
Mike Hommey 5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Mike Hommey a62cdc4fa7 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Mike Hommey 628443a0e1 Bug 1043286 - Use INSTALL_TARGETS to stage C++ unit tests. r=mshal 2014-07-25 07:09:44 +09:00
Jan Beich 7b3340b357 Bug 1041381 - Ignore missing depfiles for dtrace. r=glandium 2014-07-23 22:40:00 +02:00
Mike Hommey 2a9a0b150f Followup for bug 1041936 to unbreak spidermonkey fail-on-warnings builds. r=me 2014-07-23 14:01:55 +09:00
Mike Hommey ad2b8b8346 Bug 1041936 - Allow static library definitions to depend on shared libraries. r=gps 2014-07-23 13:33:06 +09:00
Mike Hommey 95063176fa Bug 1036894 part 9 - Replace all EXTRA_DSO_LDOPTS, SHARED_LIBRARY_LIBS and LIBS with EXTRA_LIBS, OS_LIBS or OS_LDFLAGS, appropriately. r=gps
OS_LIBS for libraries that are not part of the gecko tree, EXTRA_LIBS for
libraries, such as NSPR, that are in the tree, but are not handled by
moz.build just yet. Those EXTRA_LIBS may also come from a system library.
However, in cases where the expanded variables are always empty for the
in-tree case, OS_LIBS is used (as for, e.g. MOZ_ZLIB_LIBS). OS_LDFLAGS is
used exclusively for non-library linker flags.

Always pass EXTRA_LIBS before OS_LIBS on linker command lines.

Forbid EXTRA_DSO_LDOPTS, SHARED_LIBRARY_LIBS and LIBS in Makefiles.
2014-07-23 13:31:02 +09:00
Mike Hommey 5fab42fcaf Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Mike Hommey 6d6d400ea1 Bug 1036894 part 6 - Emit SimplePrograms for CPP_UNIT_TESTs, and make the corresponding moz.build config look like that of SIMPLE_PROGRAMS. r=gps 2014-07-23 13:29:44 +09:00
Mike Hommey a33d7d67e6 Bug 1036894 part 1 - Move MAKE_FRAMEWORK, SDK_LIBRARY, SHARED_LIBRARY_NAME and STATIC_LIBRARY_NAME to moz.build. r=gps
At the same time, make the Library data more useful in the build frontend.
2014-07-23 13:29:09 +09:00
Mike Hommey 40d22b0bb7 Bug 1040649 - Detect changes to frozen variables between rules.mk include and the end of Makefile.in. r=mshal 2014-07-19 08:46:33 +09:00
Mike Hommey d3f990ebdb Bug 1040639 - Remove LIBS_DIR. r=mshal 2014-07-19 08:42:16 +09:00
Mike Hommey 72839c7305 Bug 1038639 - Remove --with-libxul-sdk and --with-system-libxul. r=bsmedberg 2014-07-17 08:42:16 +09:00
Neil Rashbrook bf47b7faa5 Bug 1037981 Make 'derecursed' builds support --enable-xterm-updates r=glandium 2014-07-16 08:36:30 +01:00
Mike Hommey 70a5917917 Bug 1036864 - Remove EXPORT_LIBRARY. r=mshal 2014-07-11 19:06:55 +09:00
Mike Hommey c52d31562a Bug 1035543 - Remove the MOZ_PSEUDO_DERECURSE variable. r=gps 2014-07-10 14:11:52 +09:00
Steve Fink 12341263ec Bug 1036525 - DSO_SONAME should not depend on FORCE_SHARED_LIB, r=glandium 2014-07-09 17:16:19 -07:00
Mukilan Thiyagarajan 3dca759f3f Bug 1000994 - Allow specifying SONAME of a shared library in moz.build. r=glandium 2014-07-09 00:47:00 +02:00
Gregory Szorc 5acd08b03a Bug 1033836 - Remove Makefile.in support for TESTING_JS_MODULES; r=glandium
--HG--
extra : rebase_source : 20cebe4a7d940cb3a18c6f13bae36cf63388e2b8
2014-07-02 16:54:51 -07:00
Mike Hommey b81d50e1eb Bug 883339 - Enable gtest on windows TBPL non-PGO builds. r=ted 2014-06-26 07:59:24 +09:00
Mike Hommey b161fa67a5 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Ryan VanderMeulen f2dcba3d01 Bug 1025918 - Add support for the .cxx extension to mozbuild. r=ted 2014-06-16 22:36:24 -04:00
Nathan Froyd 6103a76c71 Bug 1018375 - part 1 - add LD_VERSION_SCRIPT build variable; r=glandium 2014-05-30 14:12:20 -04:00
Mike Shal ae50c26b92 Bug 943971 - 'make foo.i' should work for unified files; r=glandium 2013-12-11 19:23:24 -05:00
Nathan Froyd 413283dd46 Bug 1006026 - remove duplicate distclean:: rule in rules.mk; r=mshal 2014-05-07 10:33:06 -04:00
Ehsan Akhgari 57c249bbff Backed out changeset 70946e64e8f8 (bug 1005704) because it caused bug 1006541 2014-05-06 16:39:39 -04:00
Ehsan Akhgari 9e5d46f732 Bug 1005705 - Remove the unused DIST_CHROME_FILES rule; r=mshal 2014-05-05 21:26:32 -04:00
Ehsan Akhgari 15aa0ce41b Bug 1005704 - Enable installing files dist files without preprocessing; r=mshal 2014-05-05 21:26:11 -04:00
Mike Hommey b49534e0da Bug 915535 - Remove directory tracking from build system. r=gps
It's not used except with pymake, anyways.
2014-03-27 10:36:16 +09:00
Mike Hommey d7540b3055 Bug 985836 - Move -Fd flags from configure to config.mk. r=mshal 2014-03-26 08:12:26 +09:00
Ted Mielczarek 34da80ea4f Bug 980015 - Remove MOCHITEST_FILES et. al. r=gps 2014-03-05 15:51:39 -05:00
Ryan VanderMeulen 70fda5091d Backed out changeset 88780b5a201e (bug 980015) for test_property_database.html failures.
CLOSED TREE
2014-03-10 15:31:23 -04:00
Ted Mielczarek 16414a3269 Bug 980015 - Remove MOCHITEST_FILES et. al. r=gps
--HG--
extra : rebase_source : 3825abc63eb0901bc1422aa00aed3680dbe3e44c
2014-03-05 15:51:39 -05:00
Ehsan Akhgari a8d5c6ba79 Bug 978594 - Part 2: Add support for expressing per-source build flags to moz.build; r=glandium
--HG--
extra : rebase_source : 254d8acf1a6a53845a2e2d6d895217515ea7b836
2014-03-04 11:30:01 -05: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
EKR e029aab31b Bug 970476 - Re-add CPP unit test target. r=ted 2014-02-10 11:42:19 -08:00
Ehsan Akhgari d91d200572 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Ehsan Akhgari 39001bcb42 Bug 944800 - Move the information about delay loaded DLLs into moz.build; r=gps 2014-02-06 14:17:44 -05:00
Mike Hommey d3b848da56 Bug 959519 - Keep timestamps when copying files with nsinstall.py while nsinstall is not ready to be used yet. r=gps 2014-02-05 13:02:20 +09:00
Ehsan Akhgari bdd531f68f Backed out changeset b54e8c328c32 (bug 944800) because of test failures on a CLOSED TREE 2014-02-04 17:03:17 -05:00
Ehsan Akhgari 6494b169e9 Bug 944800 - Move the information about delay loaded DLLs into moz.build; r=gps
--HG--
extra : rebase_source : 3eca29dae04c42fa8e7d113318b8a169a0cf22e4
2014-02-04 13:57:34 -05:00
Sylvestre Ledru acb3eb4dc5 Bug 777378 - Remove SUPPRESS_DEFAULT_RULES. r=gps 2014-01-23 09:38:29 -05:00
Mike Hommey 4c0e22933b Bug 956398 - Error out at build time if we end up with text relocations. r=ted 2014-01-16 09:13:43 +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
Dan Minor df1c99dccf Bug 949536 - Remove cpp unittests from 'make check'; r=gps 2014-01-09 21:59:28 -08:00
Gregory Szorc e396fc159d Bug 774572 - Part 2: Define JAR_MANIFESTS in moz.build files; r=glandium
Every directory with a jar.mn now has JAR_MANIFESTS defined in its
moz.build file.

We also removed the may_skip special consideration of jar.mn files
because this information is now available during tier traversal by the
reader courtesy of the variables being present in moz.build files.

--HG--
extra : rebase_source : 21049b15e6bd9cf65b0805ccaccc4ba5aae93c98
extra : amend_source : 0b1ea866d725beef92d37c6f6d475369ac002e19
2013-12-10 16:18:11 +09:00
Mike Hommey 62d390485a Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09: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
Mike Hommey 004e0ed1ac Bug 944558 - Refactor config/makefiles/debugmake.mk for more correctness, and remove old cruft. r=gps
Also remove use of print-depth-path.sh in UPDATE_TITLE.
2013-12-01 07:20:19 +09:00
Mike Hommey a1486ce449 Bug 942043 - Straighten up zlib linkage wrt shared js and system zlib. r=gps,r=ted 2013-11-22 23:03:21 +09:00
Mike Hommey b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey 0a1fb8d11c Bug 942043 - Straighten up zlib linkage wrt shared js and system zlib. r=gps,r=ted 2013-11-28 12:49:43 +09:00
Mike Hommey 43d177307e Bug 940407 - Kill GTEST_SOURCES. r=gps 2013-11-26 11:48:58 +09:00
Mike Hommey 62a0ecdaf3 Bug 942031 - Don't link against the js engine when there's no need to. r=mshal 2013-11-24 08:18:50 +09:00
Mike Hommey aaacc118f4 Bug 941450 - Add some GENERATED_FILES to moz.build. r=gps 2013-11-22 08:16:18 +09:00
Ed Morley 2df56b3abd Backed out changeset 1eb6ceed2cda (bug 938437) on suspicion of causing WinXP debug jetpack failures on a CLOSED TREE 2013-11-22 16:00:32 +00:00
Ed Morley 1a9ee1c710 Backed out changeset c30371a66429 (bug 941450) 2013-11-22 15:59:22 +00:00
Mike Hommey 2f9d386e67 Bug 941450 - Add some GENERATED_FILES to moz.build. r=gps 2013-11-22 08:16:18 +09:00
Mike Hommey 86956347ec Bug 938437 - Replace nsStaticXULComponents.cpp with smart use of sections. r=bsmedberg,irc-r=decoder,r=nfroyd 2013-11-19 13:45:31 +09:00
Mike Hommey 8a469f49cb Bug 914274 - Remove MODULE_NAME. r=mshal 2013-11-21 17:31:19 +09:00
Mike Hommey a58f7369ea Bug 939071 - Kill SHORT_LIBNAME. r=ted 2013-11-19 11:47:47 +09:00
Mike Hommey f02f1af62d Bug 939044 - Remove the last uses of the MODULE variable in makefiles. r=gps 2013-11-19 11:47:30 +09:00
Dan Gohman 8e61693f29 Bug 569597 - Eliminate use of ranlib. r=glandium 2013-11-11 19:26:59 -08:00
Nathan Froyd fc9fd19933 Bug 841373 - use STRIP_FLAGS with STRIP consistently; r=glandium 2013-11-11 11:01:22 -05:00
Mike Hommey 9afc11243b Backout changeset 4810e8f4eb98 (part of bug 934864) for causing bug 937332. 2013-11-12 08:37:08 +09:00
Mike Hommey d0143abc0d Bug 935305 - Track preprocessor output dependencies. r=gps 2013-11-09 10:35:45 +09:00
Mike Hommey a470038314 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
Mike Hommey 41a1cabced Bug 934864 - Add REPORT_BUILD do INSTALL_TARGETS and PP_TARGETS. r=gps 2013-11-09 10:32:58 +09:00
Mike Hommey 8dc0b551b3 Bug 934864 - Add option to make INSTALL_TARGETS and PP_TARGETS keep the original path when copying/preprocessing. r=gps
Also, refactored them for more debuggability and clarity.
2013-11-09 10:32:53 +09:00
Seth Fowler 9c90ef3623 Backout of bug 934070 for breaking debugging on OS X 2013-11-07 18:42:22 -08:00
Mike Hommey 46de926a12 Bug 934070 - Stop copying dist/bin under dist/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS in */app/Makefile.in. r=ted
Consequently, revert changeset 92bea49b46b4 (bug 914560).
2013-11-07 10:38:13 +09: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 aadf41e5e3 Bug 934361 - Remove CHROME_DEPS. r=mshal 2013-11-05 07:39:28 +09:00
Mike Hommey 87cceb9126 Bug 933062 - Avoid using > for preprocessing rules, so that pymake is happy. r=ted 2013-11-01 10:30:46 +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
Gregory Szorc 9bd5fc0064 Bug 927837 - Don't manage generated files in configure; r=glandium
--HG--
extra : rebase_source : b502ce209de6a0ae10e130644e424687e4fae85e
2013-10-23 14:43:32 -07:00
Mike Hommey b74e4dd06f Bug 930380 - Fix host source rules when path contains a directory. r=gps 2013-10-25 07:58:14 +09:00
Mike Hommey e0e51f030c Bug 930227 - Don't use lists to link host binaries. r=gps
Host and target linkers may not support the same kind of lists expandlibs uses.
On the other hand, lists are only really needed for libxul, where the command
line length or number of arguments may overflow the kernel support. So just
don't use them for host linkage.
2013-10-24 08:06:43 +09:00
Mike Hommey 887442dcb0 Bug 928204 - Don't ignore missing depfiles when aggregating them. r=gps 2013-10-24 07:59:03 +09:00
Carsten "Tomcat" Book dae2e257aa Backed out changeset f90eb21ea4cd (bug 928204) for build failures on Linux PGO 2013-10-22 11:47:48 +02:00
Mike Hommey 7163b01a54 Bug 928204 - Don't ignore missing depfiles when aggregating them. r=gps
However, since we don't generate depfiles when compiling assembly, explicitly exclude those.
Also, fix a few issues with included depfiles:
- The tools tier need them because it (sadly) links binaries.
- depfiles for TARGETS use the full path, whereas the depfiles for OBJS and others don't.
2013-10-22 13:40:37 +09:00
Mike Hommey d8daefaa34 Bug 664362 - Generate depfiles for host objects/programs/libraries. r=gps 2013-10-22 13:40:27 +09:00
Joshua Cranmer 9e2f53a5c5 Bug 900526, part 2: Move backend.mk inclusion to config.mk instead of rules.mk, r=gps 2013-10-21 13:08:00 -05:00
Nick Alexander 2f1f13d152 Bug 900522 - Part 3: Add passthru ANDROID_GENERATED_RESFILES. r=gps
This defines all of the Android resources in moz.build files (although
some are still generated by mobile/android/base/Makefile.in).
2013-10-09 16:19:00 -07:00
Nick Alexander 69af33ef30 Bug 900522 - Part 1: Make ANDROID_RESFILES a moz.build-only variable. r=gps
This depends on Bug 923306, which I think is close to r=glandium.
Since this is more moz.build than Android, r?=gps.
2013-10-09 16:18:00 -07:00
Mike Hommey 0547bcf728 Bug 925605 - Allow to build with a special build of GNU make on windows. r=gps 2013-10-16 08:34:18 +09:00
Wes Kocher 1ec4cf1ebf Backed out changeset 5f0bfb16fa4a (bug 925605) 2013-10-15 16:57:00 -07:00
Mike Hommey 616f4b2735 Bug 925605 - Allow to build with a special build of GNU make on windows. r=gps 2013-10-16 08:34:18 +09:00
Gregory Szorc 81b47f773e Bug 924615 - Move JarMaker.py into mozbuild; r=mshal
--HG--
rename : config/JarMaker.py => python/mozbuild/mozbuild/jar.py
rename : config/tests/unit-JarMaker.py => python/mozbuild/mozbuild/test/test_jarmaker.py
2013-10-11 13:19:11 -07:00
Gregory Szorc dfb77e1fbd Bug 585016 - Move buildlist.py to a mozbuild action; r=mshal
--HG--
rename : config/buildlist.py => python/mozbuild/mozbuild/action/buildlist.py
rename : config/tests/unit-buildlist.py => python/mozbuild/mozbuild/test/action/test_buildlist.py
2013-10-11 07:22:49 -07:00
Nick Alexander bfb957cc0c Bug 923306 - Add JAVA_JAR_TARGETS. r=glandium 2013-10-09 17:05:36 -07:00
Marco Castelluccio 44f174e6d5 Bug 924549 - Add MOCHITEST_WEBAPPRT_CHROME_MANIFESTS to specify webapprt chrome tests and convert all the webapprt mochitests to use manifests. r=gps 2013-10-09 09:16:18 -04: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 aed1963cd4 Bug 922605 - Remove last reference to JAVA_LIBRARY. r=gps 2013-10-02 08:02:08 +09:00
Mike Hommey fb1d665f33 Bug 919832 - Remove EXPORTS related rules from rules.mk. r=gps 2013-09-26 16:43:52 +09:00
Gregory Szorc 5bb409fdd5 Bug 901990 - Part 1: Integrate test manifests with build config; r=ted 2013-09-24 11:50:04 -07:00
Joey Armstrong 7bb7fad614 bug 883350: move SDK_HEADERS to mozbuild r=mshal 2013-09-24 12:17:26 -04:00
Cykesiopka bb15ac3786 Bug 914273 - Move JS_MODULES_PATH to mozbuild. r=joey 2013-09-24 10:29:30 -04:00
Nick Alexander 207f5374fb Bug 909432 - Unify RESFILES and RES_FILES, and rename both to ANDROID_RESFILES. r=gps 2013-09-23 09:02:08 -07: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
Cykesiopka f093a0dd48 Bug 914272 - Move IS_COMPONENT to mozbuild. r=joey 2013-09-19 17:29:32 -04:00
Mike Hommey 18d895f774 Bug 917086 - Disallow DIRS, PARALLEL_DIRS and TEST_DIRS under TOOL_DIRS and TEST_TOOL_DIRS, and adapt moz.build files accordingly. r=gps
Also mark TOOL_DIRS/TEST_TOOL_DIRS directories in backend.mk and recurse them normally instead of forcing make -C dir libs for them.
2013-09-19 07:43:02 +09:00
Mike Hommey fdcd66734e Bug 917622 - Use INSTALL_TARGETS for mochitests. r=gps 2013-09-19 07:39:58 +09:00
Neil Rashbrook c56811a63f Bug 914560 - Package XPI extensions during tools phase so that all required files are in place when running the packaging step, r=glandium 2013-09-12 16:11:53 +02:00
Mike Hommey fc054d72fc Bug 914482 - Allow overrides from the command line for variables defined in moz.build. r=gps 2013-09-12 08:14:52 +09:00
Mike Hommey bf554d6584 Backout changeset 237c32279481 (bug 914482) for bustage 2013-09-12 08:52:36 +09:00
Mike Hommey 4a50b88b69 Bug 914482 - Allow overrides from the command line for variables defined in moz.build. r=gps 2013-09-12 08:14:52 +09:00
Ms2ger 486a5c3769 Merge m-c to inbound. 2013-09-06 12:31:58 +02:00
Ms2ger 4e96ae49a4 Bug 870407 - Move final batch of CMMSRCS to moz.build and disallow it in makefiles; r=khuey 2013-09-06 08:40:41 +02: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 de6de9a266 Bug 912292 - Always traverse sub-directories after executing rules in the current directory. r=gps 2013-09-05 15:08:43 +09:00
Mike Hommey 81fd05ae2c Bug 912293 - Add a generic header and footer to generated Makefiles. r=gps 2013-09-05 09:01:45 +09:00
Mike Hommey cda48ada2e Bug 911936 - Kill make depend. r=gps 2013-09-05 09:01:45 +09:00
Mike Hommey 04daefa195 Back out changeset 6fe5a446b775 (bug 903118) 2013-09-05 09:01:44 +09:00
Mike Hommey a6a6502733 Bug 911924 - Remove MAKE_DIRS leftovers. r=ted 2013-09-05 09:01:44 +09:00
Mike Shal 95b7b7aab1 Bug 903118 - set mozconfig environment variables for sub-makes; r=gps 2013-08-14 09:34:18 -04:00
Mike Hommey a0707cd256 Bug 909077 - Remove useless STATIC_DIRS and EXTERNAL_DIRS variables. r=gps 2013-08-30 11:10:19 +09:00
Brian O'Keefe 1a2f4aae5d Bug 875934 - Forbid LIBRARY_NAME in Makefile.ins; r=mshal 2013-08-15 11:46:20 -04:00
Gregory Szorc 3bfcccec9b Bug 909412 - Don't attempt to track tier progression during partial tree builds; r=glandium 2013-08-27 14:40:07 -07:00
Ms2ger d2a26bacbc Bug 904831 - Part d: Disallow MSVC_ENABLE_PGO in Makefiles; r=khuey 2013-08-22 08:56:02 +02:00
Ms2ger d4017cbff6 Bug 883284 - Part h: Disallow LIBXUL_LIBRARY in Makefiles; r=khuey 2013-08-22 08:56:01 +02:00
Ms2ger af2c13c793 Bug 906412 - Cleanup some random parts of the build system; r=mshal 2013-08-22 08:55:59 +02:00
Ms2ger 9cfd854dab Bug 906342 - Move the remaining SIMPLE_PROGRAMS to moz.build and disallow setting SIMPLE_PROGRAMS in Makefiles; r=gps 2013-08-22 08:35:03 +02:00
Ryan VanderMeulen 66733261dd Merge m-c to inbound. 2013-08-20 16:32:33 -04:00
Ryan VanderMeulen 3134daa72a Merge m-c to fx-team. 2013-08-20 15:33:48 -04:00
Gregory Szorc 0ec778510f Bug 896695 - Re-enable accidentally disabled toolkit/devtools/apps xpcshell tests; r=mshal 2013-08-20 10:05:52 -07:00
Mike Hommey 3dd1920bf3 Bug 904740 - Add a make macro for including dependency files. r=gps 2013-08-20 09:15:43 +09:00
Mike Hommey c5ad513ce0 Bug 905938 - Fixup for make -s verbosity. r=gps 2013-08-20 16:21:34 +09:00
Gregory Szorc 61a66aa0f0 Bug 905879 - More robust tier tracking; r=glandium 2013-08-20 00:06:32 -07:00
Mike Hommey 4855b2abb9 Bug 905938 - Remove Java rules from rules.mk. r=gps 2013-08-20 15:22:33 +09:00
Mike Hommey 0f67e8e976 Bug 905938 - Cancel GNU make builtin implicit rules by forcing -r instead of adding implicit rules to cancel them out. r=gps 2013-08-20 15:21:45 +09:00
Mike Hommey 27e26aa001 Bug 905938 - Use explicit rules for %.i, %.s, %.res, moc_% and qrc_%. r=gps 2013-08-20 15:21:35 +09: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
Mike Hommey 1660a86961 Bug 905074 - Hide build status markers when not building with mach. r=gps 2013-08-15 23:45:08 +09:00
Gregory Szorc df453f8483 Bug 850380 - Derecursify and optimize XPIDL processing and move into precompile tier; r=glandium 2013-08-14 08:40:25 -07:00
Ryan VanderMeulen fab2c2a3c8 Backed out changesets 1fa1f28c6edf and e74f694f31c4 (bug 850380) for PGO bustage on a CLOSED TREE. 2013-08-14 15:12:20 -04:00
Gregory Szorc d87c91cf0c Bug 850380 - Derecursify and optimize XPIDL processing and move into precompile tier; r=glandium 2013-08-14 08:40:25 -07:00
Ehsan Akhgari 539558980d Bug 904086 - Remove LOBJS; r=gps,jcranmer,glandium 2013-08-13 14:00:11 -04:00
Mike Hommey fe5663cc61 Bug 903321 - Don't update backend.RecursiveMakeBackend.built when no backend file changed. r=gps 2013-08-13 10:39:35 +09: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
Mike Hommey df4dd1a4ce Bug 903385 - Broaden REPORT_BUILD and make it report why something is rebuilt. r=gps 2013-08-10 15:57:09 +09:00