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

29 Коммитов

Автор SHA1 Сообщение Дата
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
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 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
Nathan Froyd c599444402 Bug 1031352 - move most of the _MSC_VER references in Makefile.in to moz.build; r=glandium 2014-06-27 10:32:05 -04:00
Nathan Froyd c3ea6db0ae Bug 728600 - define TARGET_XPCOM_ABI in mozilla-config.h; r=glandium 2014-06-23 15:06:48 -04:00
Ehsan Akhgari 17f4a32d8b Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Ehsan Akhgari b7b6d52aef Bug 970745 - Move USE_STATIC_LIBS to moz.build; r=glandium 2014-02-11 09:12:33 -05:00
Ms2ger 561cae4a0e Bug 950130 - Move more INCLUDES / LOCAL_INCLUDES to moz.build; r=mshal 2013-12-31 10:06:11 +01:00
Ehsan Akhgari f07cba6cad Bug 945118 - Build more of XPCOM in unified mode; r=glandium 2013-12-01 10:47:52 -05:00
Mike Hommey 8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +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 682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Cykesiopka d2f6b7333c Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Joey Armstrong dad034f5cd bug 882907: move SDK_LIBRARY to mozbuild. r=mshal 2013-09-20 18:00:48 -04:00
Brian O'Keefe 916782e929 Bug 865673 - Convert objs.mk to objs.mozbuild. r=gps 2013-08-30 09:09:06 -04:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Paul Adenot 85bccc71ae Bug 894941 - Move SSE.{h,cpp} and arm.{h,cpp} to mozglue/build/. r=glandium
--HG--
rename : xpcom/glue/SSE.cpp => mozglue/build/SSE.cpp
rename : xpcom/glue/SSE.h => mozglue/build/SSE.h
rename : xpcom/glue/arm.cpp => mozglue/build/arm.cpp
rename : xpcom/glue/arm.h => mozglue/build/arm.h
rename : xpcom/tests/ShowSSEConfig.cpp => mozglue/tests/ShowSSEConfig.cpp
2013-07-26 18:46:31 +02:00
Brian O'Keefe 11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Mike Shal 5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Kyle Machulis 72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis 43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis 334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Shal 7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc 8958bacc6e Bug 784841 - Part 18ν: Convert /xpcom; f=Ms2ger rs=ted 2013-02-25 13:20:02 -08:00
Mike Hommey 70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Nathan Froyd 4328d1be09 Bug 778220 - remove $(wildcard *.$(OBJ_SUFFIX)) calls from xpcom Makefiles; r=glandium 2012-07-27 14:15:01 -04:00
Jim Mathies 025f49633e Bug 732124 - Fix for crt link errors with VC11 - build glue using both the static and the dynamic runtime lib, and link accordingly for various components. r=ted 2012-05-21 16:31:03 -05:00