Bug 560147: Follow-up fixing non-libxul builds. This will include layers into thebes.dll, and ensure thebes.dll exposes the correct symbols. r=ted
authorBas Schouten <bschouten@mozilla.com>
Wed, 28 Apr 2010 22:43:52 +0200
changeset 41484 5d011d796c84d40e741adcdac13bdb3725d88b38
parent 41483 f444c1024fd1d6b1b2ec758de4e1cdbd1ef105c1
child 41485 c2db5c026000cf9885d836fb8f0051658b17f603
push id13038
push userbschouten@mozilla.com
push dateWed, 28 Apr 2010 20:44:28 +0000
treeherdermozilla-central@5d011d796c84 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted
bugs560147
milestone1.9.3a5pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
Bug 560147: Follow-up fixing non-libxul builds. This will include layers into thebes.dll, and ensure thebes.dll exposes the correct symbols. r=ted
embedding/browser/build/Makefile.in
gfx/Makefile.in
gfx/layers/Makefile.in
gfx/thebes/src/Makefile.in
gfx/thebes/src/gfxDllDeps.cpp
layout/build/Makefile.in
toolkit/library/libxul-config.mk
widget/src/build/Makefile.in
widget/src/cocoa/Makefile.in
widget/src/gtk2/Makefile.in
widget/src/os2/Makefile.in
widget/src/qt/Makefile.in
--- a/embedding/browser/build/Makefile.in
+++ b/embedding/browser/build/Makefile.in
@@ -47,17 +47,17 @@ MODULE		= webbrwsr
 LIBRARY_NAME	= webbrwsr
 IS_COMPONENT	= 1
 MODULE_NAME	= Browser_Embedding_Module
 EXPORT_LIBRARY	= 1
 GRE_MODULE	= 1
 LIBXUL_LIBRARY	= 1
 
 
-EXTRA_DSO_LIBS	= gkgfx thebes layers
+EXTRA_DSO_LIBS	= gkgfx thebes
 
 CPPSRCS		= \
 		nsWebBrowserModule.cpp		\
 		$(NULL)
 
 SHARED_LIBRARY_LIBS= \
 		../webBrowser/$(LIB_PREFIX)nsWebBrowser_s.$(LIB_SUFFIX) \
 		$(NULL)
--- a/gfx/Makefile.in
+++ b/gfx/Makefile.in
@@ -43,28 +43,28 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= gfx
 
 ifdef MOZ_TREE_CAIRO
 DIRS		= cairo
 endif
 
-DIRS		+= thebes public idl src qcms
-
 # In static builds, ycbcr must appear after layers in
 # the link line on linux. This order is defined by the
 # order listed in DIRS. On shared builds ycbcr must
 # be built first so the order is reversed.
 ifdef BUILD_STATIC_LIBS
 DIRS		+= layers ycbcr
 else
 DIRS            += ycbcr layers
 endif
 
+DIRS		+= public idl src qcms thebes
+
 ifdef MOZ_IPC
 DIRS		+= ipc
 endif
 
 ifdef ENABLE_TESTS
 ifndef MOZ_ENABLE_LIBXUL
 TOOL_DIRS	+= tests
 endif
--- a/gfx/layers/Makefile.in
+++ b/gfx/layers/Makefile.in
@@ -41,20 +41,20 @@ srcdir      = @srcdir@
 VPATH       = \
   $(srcdir) \
   $(srcdir)/basic \
   $(srcdir)/opengl \
   $(NULL)
 
 include $(DEPTH)/config/autoconf.mk
 
-MODULE         = layers
+MODULE         = thebes
 LIBRARY_NAME   = layers
-EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
+FORCE_STATIC_LIB = 1
 
 DEFINES += -DIMPL_THEBES
 
 EXPORTS = \
         BasicLayers.h \
         ImageLayers.h \
         Layers.h \
         LayerManagerOGL.h \
@@ -64,25 +64,11 @@ CPPSRCS = \
         BasicImages.cpp \
         BasicLayers.cpp \
         LayerManagerOGL.cpp \
         ThebesLayerOGL.cpp \
         ContainerLayerOGL.cpp \
         ImageLayerOGL.cpp \
         $(NULL)
 
-EXTRA_DSO_LIBS = \
-        gkgfx \
-        thebes \
-        ycbcr \
-        $(NULL)
-
-EXTRA_DSO_LDOPTS += \
-        $(LIBS_DIR) \
-        $(EXTRA_DSO_LIBS) \
-        $(MOZ_CAIRO_LIBS) \
-        $(XPCOM_LIBS) \
-        $(NSPR_LIBS) \
-        $(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
--- a/gfx/thebes/src/Makefile.in
+++ b/gfx/thebes/src/Makefile.in
@@ -30,18 +30,31 @@ CPPSRCS	= \
 	gfxRect.cpp \
 	gfxSkipChars.cpp \
 	gfxTextRunCache.cpp \
 	gfxTextRunWordCache.cpp \
 	gfxUserFontSet.cpp \
 	GLContext.cpp \
 	$(NULL)
 
+SHARED_LIBRARY_LIBS += \
+	../../layers/$(LIB_PREFIX)layers.$(LIB_SUFFIX) \
+	$(NULL)
+
+
+ifndef MOZ_ENABLE_LIBXUL
+EXTRA_DSO_LIBS	= gkgfx ycbcr
+ifeq (,$(filter-out WINNT WINCE OS2,$(OS_ARCH)))
+CPPSRCS += gfxDllDeps.cpp
+endif
+endif
+
 EXTRA_DSO_LDOPTS += \
 	$(MOZ_CAIRO_LIBS) \
+	$(EXTRA_DSO_LIBS) \
 	$(MOZ_UNICHARUTIL_LIBS) \
 	$(XPCOM_LIBS) \
 	$(NSPR_LIBS) \
 	$(ZLIB_LIBS) \
 	$(QCMS_LIBS) \
 	$(NULL)
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
new file mode 100644
--- /dev/null
+++ b/gfx/thebes/src/gfxDllDeps.cpp
@@ -0,0 +1,4 @@
+#include "Layers.h"
+#include "LayerManagerOGL.h"
+#include "BasicLayers.h"
+#include "ImageLayers.h"
--- a/layout/build/Makefile.in
+++ b/layout/build/Makefile.in
@@ -56,17 +56,17 @@ EXPORT_LIBRARY = 1
 IS_COMPONENT	= 1
 MODULE_NAME	= nsLayoutModule
 GRE_MODULE	= 1
 LIBXUL_LIBRARY	= 1
 
 ifndef MOZ_ENABLE_LIBXUL
 EXTRA_DSO_LIBS	= gkgfx gfxutils
 endif
-EXTRA_DSO_LIBS	+= thebes layers ycbcr
+EXTRA_DSO_LIBS	+= thebes ycbcr
 
 
 CPPSRCS		= \
 		nsLayoutModule.cpp \
 		nsContentDLF.cpp \
 		nsLayoutStatics.cpp \
 		$(NULL)
 
--- a/toolkit/library/libxul-config.mk
+++ b/toolkit/library/libxul-config.mk
@@ -302,17 +302,17 @@ DEFINES += -DMOZ_ENABLE_POSTSCRIPT
 STATIC_LIBS += gfxpsshar
 endif
 
 ifneq (,$(filter icon,$(MOZ_IMG_DECODERS)))
 DEFINES += -DICON_DECODER
 COMPONENT_LIBS += imgicon
 endif
 
-STATIC_LIBS += thebes layers ycbcr
+STATIC_LIBS += thebes ycbcr
 COMPONENT_LIBS += gkgfxthebes
 
 ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
 COMPONENT_LIBS += gkwidget
 endif
 ifeq (beos,$(MOZ_WIDGET_TOOLKIT))
 COMPONENT_LIBS += widget_beos
 endif
--- a/widget/src/build/Makefile.in
+++ b/widget/src/build/Makefile.in
@@ -50,17 +50,16 @@ RESFILE		= widget.res
 MODULE_NAME	= nsWidgetModule
 LIBXUL_LIBRARY = 1
 
 
 CPPSRCS		= nsWinWidgetFactory.cpp
 
 EXTRA_DSO_LIBS	= gkgfx \
 		  thebes \
-		  layers \
 		  $(NULL)
 
 LOCAL_INCLUDES	= \
 		-I$(srcdir) \
 		-I$(srcdir)/../xpwidgets \
 		-I$(srcdir)/../windows \
 		$(NULL)
 
--- a/widget/src/cocoa/Makefile.in
+++ b/widget/src/cocoa/Makefile.in
@@ -101,17 +101,16 @@ XPIDLSRCS	+= \
 SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a
 
 EXTRA_DSO_LDOPTS += \
 		$(MOZ_UNICHARUTIL_LIBS) \
 		$(TK_LIBS) \
 		$(call EXPAND_LIBNAME_PATH,gkgfx,$(DEPTH)/gfx/src) \
 		$(MOZ_COMPONENT_LIBS) \
 		-lthebes \
-		-llayers \
 		$(QCMS_LIBS) \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
 NIB_FILES = \
 	classes.nib \
 	info.nib \
--- a/widget/src/gtk2/Makefile.in
+++ b/widget/src/gtk2/Makefile.in
@@ -104,17 +104,16 @@ endif
 # build our subdirs, too
 
 SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a
 
 EXTRA_DSO_LDOPTS += \
 		$(MOZ_COMPONENT_LIBS) \
 		-lgkgfx \
 		-lthebes \
-		-llayers \
 		$(MOZ_CAIRO_LIBS) \
                 $(MOZ_STARTUP_NOTIFICATION_LIBS) \
 		$(XLDFLAGS) \
 		$(XLIBS) \
 		$(XEXT_LIBS) \
 		$(XCOMPOSITE_LIBS) \
 		$(MOZ_GTK2_LIBS) \
 		$(QCMS_LIBS) \
--- a/widget/src/os2/Makefile.in
+++ b/widget/src/os2/Makefile.in
@@ -84,17 +84,16 @@ SHARED_LIBRARY_LIBS = \
 
 EXTRA_DSO_LIBS	= gkgfx
 
 EXTRA_DSO_LDOPTS = \
 		$(EXTRA_DSO_LIBS) \
 		$(MOZ_UNICHARUTIL_LIBS) \
 		$(MOZ_COMPONENT_LIBS) \
 		-lthebes \
-		-llayers \
 		$(QCMS_LIBS) \
 		$(NULL)
 
 ifdef ENABLE_TESTS
 HAS_EXTRAEXPORTS = 1
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/widget/src/qt/Makefile.in
+++ b/widget/src/qt/Makefile.in
@@ -83,17 +83,16 @@ CPPSRCS	= \
 		$(NULL)
 
 SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a
 
 EXTRA_DSO_LDOPTS = \
 		$(MOZ_COMPONENT_LIBS) \
 		-lgkgfx \
 		-lthebes \
-		-llayers \
 		$(MOZ_JS_LIBS) \
 		$(MOZ_QT_LIBS) \
 		$(GLIB_LIBS) \
 		$(QCMS_LIBS) \
 		$(XEXT_LIBS) \
 		$(NULL)