gecko-dev/config/tests
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
..
makefiles/autodeps Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
ref-simple bug 361583, add testcases for jar.mn, r=ted.mielczarek 2008-06-13 16:41:43 +02:00
src-simple Bug 774572 - Part 2: Define JAR_MANIFESTS in moz.build files; r=glandium 2013-12-10 16:18:11 +09:00
chrome.manifest.flat Bug 533592, part 1 - Remove uses of and support for xpcnativewrappers=no/yes in manifests. (The default has been yes for some time and we will now only have that behavior.) r=mrbkap. 2010-05-27 12:33:54 -07:00
test.manifest.flat Bug 533592, part 1 - Remove uses of and support for xpcnativewrappers=no/yes in manifests. (The default has been yes for some time and we will now only have that behavior.) r=mrbkap. 2010-05-27 12:33:54 -07:00
test.manifest.jar Bug 533592, part 1 - Remove uses of and support for xpcnativewrappers=no/yes in manifests. (The default has been yes for some time and we will now only have that behavior.) r=mrbkap. 2010-05-27 12:33:54 -07:00
test.manifest.symlink Bug 533592, part 1 - Remove uses of and support for xpcnativewrappers=no/yes in manifests. (The default has been yes for some time and we will now only have that behavior.) r=mrbkap. 2010-05-27 12:33:54 -07:00
unit-expandlibs.py Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal 2014-10-04 10:33:00 +09:00
unit-mozunit.py Bug 937803 - os.path.exists should work with MockedOpen; r=glandium 2013-11-12 12:30:34 -08:00
unit-nsinstall.py Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
unit-printprereleasesuffix.py Bug 776035 - Make mozunit even easier to use, and use it in config/tests python unit tests. r=ted 2012-07-25 07:44:08 +02:00
unitMozZipFile.py Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30