aboutsummaryrefslogtreecommitdiffstats
path: root/www/seamonkey/files/patch-bug799441
blob: 35d43a9b45792d3f53d6042b4be9ae274be76104 (plain) (blame)
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.