commit b9accdd Author: Mike Hommey Date: Thu Oct 18 14:47:10 2012 +0200 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 configure.in configure.in index a9fb5f1..37e6db8 100644 --- configure.in +++ 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 extensions/gio/Makefile.in extensions/gio/Makefile.in index ccf2846..79112a8 100644 --- extensions/gio/Makefile.in +++ 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 toolkit/library/Makefile.in toolkit/library/Makefile.in index 7f9046e..6499758 100644 --- toolkit/library/Makefile.in +++ 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 toolkit/library/nsStaticXULComponents.cpp toolkit/library/nsStaticXULComponents.cpp index e1d90f2..85b21a2 100644 --- toolkit/library/nsStaticXULComponents.cpp +++ toolkit/library/nsStaticXULComponents.cpp @@ -164,6 +164,12 @@ #define PROFILER_MODULE #endif +#if defined(MOZ_GIO_COMPONENT) +#define GIO_MODULE MODULE(nsGIOModule) +#else +#define GIO_MODULE +#endif + #define XUL_MODULES \ MODULE(nsUConvModule) \ MODULE(nsI18nModule) \ @@ -220,6 +226,7 @@ MODULE(nsTelemetryModule) \ MODULE(jsinspector) \ MODULE(jsdebugger) \ + GIO_MODULE \ /* end of list */ #define MODULE(_name) \ diff --git toolkit/toolkit-tiers.mk toolkit/toolkit-tiers.mk index e87d7af..4b16d23 100644 --- toolkit/toolkit-tiers.mk +++ 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.