ports/www/libxul/files/patch-bug799441
Florian Smeets 96b39667d3 Update to 17.0.6 (this should also fix the build on head after the
clang 3.3 merge)

PR:             ports/179034 [1]
Submitted by:   Jan Beich <jbeich@tormail.org>,
                Nikolai Lifanov <lifanov@mail.lifanov.com> [1]
2013-06-04 15:47:49 +00:00

116 lines
3.6 KiB
Text

commit b9accdd
Author: Mike Hommey <mh+mozilla@glandium.org>
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.