Commit Graph

13 Commits

Author SHA1 Message Date
Mike Hommey
ace23258e7 Bug 1299616 - Rearrange libxul linking such that StaticXULComponentStart always is first. r=gps
When building gtest libxul with LTO, the fact that
StaticXULComponentStart is not passed first to the linker makes the
linker pull the NSModule symbols out of all the other objects first,
presumably because linking the gtest objects (which appear first) pulls
code from the other non StaticXULComponent* objects first.

So, to make things link properly with LTO, we trick the build system
to always put StaticXULComponentStart first.

--HG--
extra : rebase_source : 7ddda118903f5845f6b6d12db2bf39cd22d67ab5
2016-09-02 07:08:16 +09: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
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
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Mike Hommey
4b99580194 Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Also force to use the existing template for XPCOM components.
2014-09-04 09:04:45 +09:00
Mike Hommey
ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Mike Hommey
7cab62150a Bug 1041936 part 2 - Directly use the static library "xul" to link into "xul-gtest" instead of having an intermediate library "xul" used by "xul-shared" and "xul-gtest". r=gps 2014-07-23 13:33:09 +09:00
Mike Hommey
490ed7cdd4 Bug 988168 - Better integrate gtest libxul in the build system. r=mshal. DONTBUILD
--HG--
rename : toolkit/library/Makefile.in => toolkit/library/libxul.mk
rename : toolkit/library/moz.build => toolkit/library/libxul.mozbuild
2014-03-31 13:21:38 +02:00
Mike Hommey
421099347a Backed out changeset 561b9329d832 (bug 988168) for wrong attribution. 2014-04-01 13:17:50 +09:00
Jacek Caban
46abe3117f Bug 988168 - Better integrate gtest libxul in the build system. r=mshal
--HG--
rename : toolkit/library/Makefile.in => toolkit/library/libxul.mk
rename : toolkit/library/moz.build => toolkit/library/libxul.mozbuild
2014-03-31 13:21:38 +02:00
Mike Hommey
084f4bf6b5 Backout changesets ca413634eba3 and a92851ff7444 (bug 988168) for likely windows PGO perf regression 2014-03-29 16:49:19 +09:00
Mike Hommey
0e1dd1fe7c Bug 988168 - Better integrate gtest libxul in the build system. r=mshal
--HG--
rename : toolkit/library/Makefile.in => toolkit/library/libxul.mk
rename : toolkit/library/moz.build => toolkit/library/libxul.mozbuild
2014-03-29 07:50:08 +09:00