gecko-dev/config
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
..
external Bug 1064636 followup: Add new function to config/external/nss/nss.def r=khuey a=bustage CLOSED TREE 2014-09-23 14:16:56 -07:00
makefiles Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Moz Fix bug 927073 - Binary compatibility broken for maintenance releases due to strict version-script. r=glandium 2013-10-29 21:48:28 +01:00
tests Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal 2014-10-04 10:33:00 +09:00
android-common.mk Bug 1065773 - Part 1: Extract Android release signing bits into config/android-common.mk. r=mshal 2014-09-19 13:52:54 -07:00
autoconf-js.mk.in Bug 969164 - Traverse js/src moz.builds from top-level configure. r=gps 2014-02-11 10:37:47 +09:00
autoconf.mk.in Bug 912293 - Add a generic header and footer to generated Makefiles. r=gps 2013-09-05 09:01:45 +09:00
baseconfig.mk Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
check_source_count.py Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
check_spidermonkey_style.py Bug 1067699 (part 1) - Export double-conversion.h normally from MFBT. r=froydnj. 2014-09-16 23:33:05 -07:00
check_vanilla_allocations.py Bug 1068123 - Make the MOZ_GCTIMER logs more verbose and readable; r=jonco 2014-09-19 08:39:54 -07:00
config.mk Bug 1059255 - Make stdc++compat errors fatal. r=mshal 2014-09-11 12:20:41 +09:00
configobj.py
createprecomplete.py Mac v2 signing - Bug 1059467 - Move precomplete file from the root of the Mac bundle to Contents/Resources. r=bbondy, r=nthomas 2014-09-29 11:51:55 -07:00
doxygen.cfg.in
emptyvars-js.mk.in Bug 969164 - Traverse js/src moz.builds from top-level configure. r=gps 2014-02-11 10:37:47 +09:00
emptyvars.mk.in Bug 861453 - Restore empty substs after bug 857557, but put them in a separate file, unlisted as a dependency for everything. r=gps 2013-04-16 08:23:18 +02:00
expandlibs_config.py Bug 831790 - Use the buildconfig python module for expandlibs_config. r=ted 2013-01-19 09:45:50 +01:00
expandlibs_exec.py Bug 1047621 - Have link.py import and call expandlibs_exec.py; r=gps 2014-08-13 14:24:15 -04:00
expandlibs_gen.py 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
expandlibs.py Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal 2014-10-04 10:33:00 +09:00
find_OOM_errors.py Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
gcc_hidden_dso_handle.h Backed out changeset 8433a3609a54 (bug 1001320) for suspected B2G device image bustage. 2014-05-20 12:17:51 -04:00
gcc_hidden.h
gcc-stl-wrapper.template.h Bug 786533 - On Windows, one of the system header files (windef.h) defines 'min' and 'max' as macros which breaks any use of std::min/std::max. Define NOMINMAX before including system header files where needed to avoid defining those macros. r=ehsan 2013-01-15 13:22:03 +01:00
glibcversion.sh
install.bat
link.py Bug 1047621 - Have link.py import and call expandlibs_exec.py; r=gps 2014-08-13 14:24:15 -04:00
make-atom-strings.pl
make-stl-wrappers.py Bug 913005 - Avoid overwriting unchanged stl_wrappers. r=ted 2013-09-06 09:22:39 +09:00
Makefile.in Bug 1044458 - Work around l10n jobs cherry-picking parts of the build system on a CLOSED TREE. r=mshal,a=ryanvm 2014-07-29 09:01:58 +09:00
milestone.pl Fix bug 927073 - Binary compatibility broken for maintenance releases due to strict version-script. r=glandium 2013-10-29 21:48:28 +01:00
milestone.txt Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2014-09-02 12:54:33 -04:00
module2dir.pl
moz.build Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
mozunit.py Bug 937803 - os.path.exists should work with MockedOpen; r=glandium 2013-11-12 12:30:34 -08:00
MozZipFile.py Bug 924331 - Move config/utils.py into mozbuild; r=mshal 2013-10-11 08:23:18 -07:00
msvc-stl-wrapper.template.h Bug 1014976 - Don't define _DEBUG on Windows debug builds, it's implied by -MDd/-MTd, and breaks builds with -MD/-MT. r=bsmedberg 2014-05-30 09:39:53 +09:00
nsinstall.c Bug 1056233 - Fix uninitialized value in nsinstall.c. r=froydnj 2014-09-01 14:30:11 +02:00
nsinstall.py No bug - Don't chmod before deleting target in nsinstall.py on non Windows to avoid touching CLOBBER on a CLOSED TREE 2014-07-25 09:01:23 +09:00
pathsub.c
pathsub.h
printconfigsetting.py Backout part of Bug 812179 for SeaMonkey bustage. rs+=gps 2013-03-02 13:31:19 -05:00
printprereleasesuffix.py Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
pythonpath.py
rebuild_check.py Bug 904329 - Fix rebuild_check.py when files are removed. r=gps 2013-08-15 23:45:07 +09:00
recurse.mk Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
rules.mk Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal 2014-10-04 10:33:00 +09:00
solaris_ia32.map
static-checking-config.mk Bug 969164 - Replace most BUILDING_JS uses with JS_STANDALONE. r=gps 2014-02-11 10:37:47 +09:00
static-checking.js
stl-headers Bug 918177 - Make sure <iosfwd> symbols are visible with gtest. r=glandium 2013-09-20 10:27:28 -04:00
string-format.js
system-headers Bug 1059573 - Add an option to use hardware AEC for WebRTC. r=jesup,ted 2014-09-24 19:11:58 +02:00
version_win.pl
version.mk Bug 939044 - Remove the last uses of the MODULE variable in makefiles. r=gps 2013-11-19 11:47:30 +09:00