From 4dbb2e1066ed52b055b12743a163881e7291b6e8 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Thu, 18 Oct 2012 14:47:10 +0200 Subject: [PATCH] Bug 799441 - Build GIO module in libxul. r=ted --- configure.in | 6 ++++++ extensions/gio/Makefile.in | 14 +++----------- toolkit/library/Makefile.in | 5 +++++ toolkit/library/nsStaticXULComponents.cpp | 7 +++++++ toolkit/toolkit-tiers.mk | 4 ++++ 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/configure.in b/configure.in index a9fb5f16555..37e6db8f6c9 100644 --- a/configure.in +++ b/configure.in @@ -6086,6 +6086,12 @@ if test -n "$LIBXUL_SDK_DIR" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; th MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'` fi +if test `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then + MOZ_GIO_COMPONENT=1 + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'` +fi +AC_SUBST(MOZ_GIO_COMPONENT) + if test -z "$MOZ_JSDEBUGGER" -a `echo "$MOZ_EXTENSIONS" | grep -c venkman` -ne 0; then AC_MSG_WARN([Cannot build venkman without JavaScript debug library. Removing venkman from MOZ_EXTENSIONS.]) MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|venkman||'` diff --git a/extensions/gio/Makefile.in b/extensions/gio/Makefile.in index ccf2846c00c..79112a848eb 100644 --- a/extensions/gio/Makefile.in +++ b/extensions/gio/Makefile.in @@ -14,6 +14,9 @@ MODULE = nkgio LIBRARY_NAME = nkgio SHORT_LIBNAME = nkgio IS_COMPONENT = 1 +EXPORT_LIBRARY = 1 +MODULE_NAME = nsGIOModule +LIBXUL_LIBRARY = 1 CPPSRCS = \ nsGIOProtocolHandler.cpp \ @@ -21,15 +24,4 @@ CPPSRCS = \ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS) -EXTRA_DSO_LDOPTS = \ - $(XPCOM_GLUE_LDOPTS) \ - $(MOZ_COMPONENT_LIBS) \ - $(MOZ_GIO_LIBS) \ - $(NULL) - -# make sure this component is never statically linked into the main -# application. this is necessary since we don't want to force users -# to install gio in order to use the rest of mozilla ;-) -FORCE_SHARED_LIB= 1 - include $(topsrcdir)/config/rules.mk diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in index 7f9046ee746..6499758633a 100644 --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in @@ -333,6 +333,11 @@ COMPONENT_LIBS += gkdebug endif endif +ifdef MOZ_GIO_COMPONENT +DEFINES += -DMOZ_GIO_COMPONENT +COMPONENT_LIBS += nkgio +endif + ifdef MOZ_APP_COMPONENT_LIBS COMPONENT_LIBS += $(MOZ_APP_COMPONENT_LIBS) endif diff --git a/toolkit/library/nsStaticXULComponents.cpp b/toolkit/library/nsStaticXULComponents.cpp index e1d90f2abf1..85b21a2875b 100644 --- a/toolkit/library/nsStaticXULComponents.cpp +++ b/toolkit/library/nsStaticXULComponents.cpp @@ -170,6 +170,12 @@ #define PEERCONNECTION_MODULE #endif +#if defined(MOZ_GIO_COMPONENT) +#define GIO_MODULE MODULE(nsGIOModule) +#else +#define GIO_MODULE +#endif + #define XUL_MODULES \ MODULE(nsUConvModule) \ MODULE(nsI18nModule) \ @@ -228,6 +234,7 @@ MODULE(jsinspector) \ MODULE(jsdebugger) \ PEERCONNECTION_MODULE \ + GIO_MODULE \ /* end of list */ #define MODULE(_name) \ diff --git a/toolkit/toolkit-tiers.mk b/toolkit/toolkit-tiers.mk index e87d7af81cc..4b16d2380c1 100644 --- a/toolkit/toolkit-tiers.mk +++ b/toolkit/toolkit-tiers.mk @@ -252,6 +252,10 @@ tier_platform_dirs += js/ductwork/debugger tier_platform_dirs += other-licenses/snappy +ifdef MOZ_GIO_COMPONENT +tier_platform_dirs += extensions/gio +endif + ifdef APP_LIBXUL_STATICDIRS # Applications can cheat and ask for code to be # built before libxul so libxul can be linked against it.