1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
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
--- mozilla/configure.in
+++ mozilla/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
--- mozilla/extensions/gio/Makefile.in
+++ mozilla/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
--- mozilla/toolkit/library/Makefile.in
+++ mozilla/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
--- mozilla/toolkit/library/nsStaticXULComponents.cpp
+++ mozilla/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
--- mozilla/toolkit/toolkit-tiers.mk
+++ mozilla/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.
|