Lines 13-19
Link Here
|
13 |
# |
13 |
# |
14 |
# You should have received a copy of the GNU General Public License along |
14 |
# You should have received a copy of the GNU General Public License along |
15 |
# with this program; if not, write to the Free Software Foundation, Inc., |
15 |
# with this program; if not, write to the Free Software Foundation, Inc., |
16 |
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
16 |
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
17 |
|
17 |
|
18 |
# GECKO_INIT(VARIABLE,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) |
18 |
# GECKO_INIT(VARIABLE,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) |
19 |
# |
19 |
# |
Lines 32-37
Link Here
|
32 |
# VARIABLE: Which gecko was found (e.g. "xulrunnner", "seamonkey", ...) |
32 |
# VARIABLE: Which gecko was found (e.g. "xulrunnner", "seamonkey", ...) |
33 |
# VARIABLE_FLAVOUR: The flavour of the gecko that was found |
33 |
# VARIABLE_FLAVOUR: The flavour of the gecko that was found |
34 |
# VARIABLE_HOME: |
34 |
# VARIABLE_HOME: |
|
|
35 |
# VARIABLE_NSPR: set if nspr is provided by gecko flags |
35 |
# VARIABLE_PREFIX: |
36 |
# VARIABLE_PREFIX: |
36 |
# VARIABLE_INCLUDE_ROOT: |
37 |
# VARIABLE_INCLUDE_ROOT: |
37 |
# VARIABLE_VERSION: The version of the gecko that was found |
38 |
# VARIABLE_VERSION: The version of the gecko that was found |
Lines 51-57
AC_PROG_AWK
Link Here
|
51 |
AC_MSG_CHECKING([which gecko to use]) |
52 |
AC_MSG_CHECKING([which gecko to use]) |
52 |
|
53 |
|
53 |
AC_ARG_WITH([gecko], |
54 |
AC_ARG_WITH([gecko], |
54 |
AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner@:>@], |
55 |
AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner|libxul-embedding|libxul@:>@], |
55 |
[Which gecko engine to use (autodetected by default)])) |
56 |
[Which gecko engine to use (autodetected by default)])) |
56 |
|
57 |
|
57 |
# Backward compat |
58 |
# Backward compat |
Lines 60-71
AC_ARG_WITH([mozilla],[],[with_gecko=$wi
Link Here
|
60 |
gecko_cv_gecko=$with_gecko |
61 |
gecko_cv_gecko=$with_gecko |
61 |
|
62 |
|
62 |
# Autodetect gecko |
63 |
# Autodetect gecko |
63 |
_geckos="xulrunner firefox mozilla-firefox seamonkey mozilla" |
64 |
_geckos="xulrunner firefox mozilla-firefox seamonkey mozilla libxul-embedding libxul" |
64 |
if test -z "$gecko_cv_gecko"; then |
65 |
if test -z "$gecko_cv_gecko"; then |
65 |
for lizard in $_geckos; do |
66 |
for lizard in $_geckos; do |
66 |
if $PKG_CONFIG --exists $lizard-xpcom; then |
67 |
if $PKG_CONFIG --exists $lizard-xpcom; then |
67 |
gecko_cv_gecko=$lizard |
68 |
gecko_cv_gecko=$lizard |
68 |
break; |
69 |
break; |
|
|
70 |
elif $PKG_CONFIG --exists $lizard-unstable; then |
71 |
gecko_cv_gecko=$lizard |
72 |
break; |
69 |
fi |
73 |
fi |
70 |
done |
74 |
done |
71 |
fi |
75 |
fi |
Lines 82-87
else
Link Here
|
82 |
gecko_cv_have_gecko=yes |
86 |
gecko_cv_have_gecko=yes |
83 |
fi |
87 |
fi |
84 |
|
88 |
|
|
|
89 |
AC_MSG_CHECKING([manual gecko home set]) |
90 |
|
91 |
AC_ARG_WITH([gecko-home], |
92 |
AS_HELP_STRING([--with-gecko-home@<:@=[path]@:>@], |
93 |
[Manually set MOZILLA_FIVE_HOME])) |
94 |
|
95 |
gecko_cv_gecko_home=$with_gecko_home |
96 |
|
85 |
# **************** |
97 |
# **************** |
86 |
# Define variables |
98 |
# Define variables |
87 |
# **************** |
99 |
# **************** |
Lines 93-119
mozilla) gecko_cv_gecko_flavour=mozilla
Link Here
|
93 |
seamonkey) gecko_cv_gecko_flavour=mozilla ;; |
105 |
seamonkey) gecko_cv_gecko_flavour=mozilla ;; |
94 |
*firefox) gecko_cv_gecko_flavour=toolkit ;; |
106 |
*firefox) gecko_cv_gecko_flavour=toolkit ;; |
95 |
xulrunner) gecko_cv_gecko_flavour=toolkit ;; |
107 |
xulrunner) gecko_cv_gecko_flavour=toolkit ;; |
|
|
108 |
libxul*) gecko_cv_gecko_flavour=toolkit ;; |
96 |
esac |
109 |
esac |
97 |
|
110 |
|
98 |
_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`" |
111 |
if $PKG_CONFIG --exists ${gecko_cv_gecko}-xpcom; then |
99 |
_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" |
112 |
_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`" |
100 |
_GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" |
113 |
_GECKO_CFLAGS="-I$_GECKO_INCLUDE_ROOT" |
101 |
_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`" |
114 |
_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" |
102 |
|
115 |
_GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" |
|
|
116 |
_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`" |
117 |
_GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test |
118 |
else |
119 |
_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable" |
120 |
_GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}-unstable`" |
121 |
_GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin" |
122 |
_GECKO_HOME="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`" |
123 |
_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`" |
124 |
_GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test |
125 |
fi |
103 |
fi # if gecko_cv_have_gecko |
126 |
fi # if gecko_cv_have_gecko |
104 |
|
127 |
|
105 |
if test "$gecko_cv_gecko_flavour" = "toolkit"; then |
128 |
if test "$gecko_cv_gecko_flavour" = "toolkit"; then |
106 |
AC_DEFINE([HAVE_MOZILLA_TOOLKIT],[1],[Define if mozilla is of the toolkit flavour]) |
129 |
AC_DEFINE([HAVE_MOZILLA_TOOLKIT],[1],[Define if mozilla is of the toolkit flavour]) |
107 |
fi |
130 |
fi |
108 |
|
131 |
|
109 |
AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_gecko_flavour" = "toolkit"]) |
|
|
110 |
|
111 |
$1[]=$gecko_cv_gecko |
132 |
$1[]=$gecko_cv_gecko |
112 |
$1[]_FLAVOUR=$gecko_cv_gecko_flavour |
133 |
$1[]_FLAVOUR=$gecko_cv_gecko_flavour |
113 |
$1[]_INCLUDE_ROOT=$_GECKO_INCLUDE_ROOT |
134 |
$1[]_INCLUDE_ROOT=$_GECKO_INCLUDE_ROOT |
|
|
135 |
$1[]_CFLAGS=$_GECKO_CFLAGS |
114 |
$1[]_LIBDIR=$_GECKO_LIBDIR |
136 |
$1[]_LIBDIR=$_GECKO_LIBDIR |
115 |
$1[]_HOME=$_GECKO_HOME |
137 |
$1[]_HOME=$_GECKO_HOME |
116 |
$1[]_PREFIX=$_GECKO_PREFIX |
138 |
$1[]_PREFIX=$_GECKO_PREFIX |
|
|
139 |
$1[]_NSPR=$_GECKO_NSPR |
117 |
|
140 |
|
118 |
# ************************************************************** |
141 |
# ************************************************************** |
119 |
# This is really gcc-only |
142 |
# This is really gcc-only |
Lines 184-190
if test "$gecko_cv_have_gecko" = "yes";
Link Here
|
184 |
AC_LANG_PUSH([C++]) |
207 |
AC_LANG_PUSH([C++]) |
185 |
|
208 |
|
186 |
_SAVE_CPPFLAGS="$CPPFLAGS" |
209 |
_SAVE_CPPFLAGS="$CPPFLAGS" |
187 |
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT" |
210 |
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS" |
188 |
|
211 |
|
189 |
AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]]) |
212 |
AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]]) |
190 |
AC_RUN_IFELSE( |
213 |
AC_RUN_IFELSE( |
Lines 217-222
AC_COMPILE_IFELSE(
Link Here
|
217 |
[gecko_cv_have_debug=no]) |
240 |
[gecko_cv_have_debug=no]) |
218 |
AC_MSG_RESULT([$gecko_cv_have_debug]) |
241 |
AC_MSG_RESULT([$gecko_cv_have_debug]) |
219 |
|
242 |
|
|
|
243 |
AC_MSG_CHECKING([[whether we have a xpcom glue]]) |
244 |
AC_COMPILE_IFELSE( |
245 |
[AC_LANG_SOURCE( |
246 |
[[ |
247 |
#ifndef XPCOM_GLUE |
248 |
#error "no xpcom glue found" |
249 |
#endif]] |
250 |
)], |
251 |
[gecko_cv_have_xpcom_glue=yes], |
252 |
[gecko_cv_have_xpcom_glue=no]) |
253 |
AC_MSG_RESULT([$gecko_cv_have_xpcom_glue]) |
254 |
|
220 |
CPPFLAGS="$_SAVE_CPPFLAGS" |
255 |
CPPFLAGS="$_SAVE_CPPFLAGS" |
221 |
|
256 |
|
222 |
AC_LANG_POP([C++]) |
257 |
AC_LANG_POP([C++]) |
Lines 228-236
if test "$gecko_cv_have_debug" = "yes";
Link Here
|
228 |
AC_DEFINE([HAVE_GECKO_DEBUG],[1],[Define if gecko is a debug build]) |
263 |
AC_DEFINE([HAVE_GECKO_DEBUG],[1],[Define if gecko is a debug build]) |
229 |
fi |
264 |
fi |
230 |
|
265 |
|
231 |
fi # if gecko_cv_have_gecko |
266 |
if test "$gecko_cv_have_xpcom_glue" = "yes"; then |
|
|
267 |
AC_DEFINE([HAVE_GECKO_XPCOM_GLUE],[1],[Define if xpcom glue is used]) |
268 |
fi |
232 |
|
269 |
|
233 |
AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"]) |
270 |
fi # if gecko_cv_have_gecko |
234 |
|
271 |
|
235 |
# *********************** |
272 |
# *********************** |
236 |
# Check for gecko version |
273 |
# Check for gecko version |
Lines 241-247
if test "$gecko_cv_have_gecko" = "yes";
Link Here
|
241 |
AC_LANG_PUSH([C++]) |
278 |
AC_LANG_PUSH([C++]) |
242 |
|
279 |
|
243 |
_SAVE_CPPFLAGS="$CPPFLAGS" |
280 |
_SAVE_CPPFLAGS="$CPPFLAGS" |
244 |
CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT" |
281 |
CPPFLAGS="$CPPFLAGS $_GECKO_CFLAGS" |
245 |
|
282 |
|
246 |
AC_CACHE_CHECK([for gecko version], |
283 |
AC_CACHE_CHECK([for gecko version], |
247 |
[gecko_cv_gecko_version], |
284 |
[gecko_cv_gecko_version], |
Lines 311-321
fi
Link Here
|
311 |
|
348 |
|
312 |
fi # if gecko_cv_have_gecko |
349 |
fi # if gecko_cv_have_gecko |
313 |
|
350 |
|
314 |
AM_CONDITIONAL([HAVE_GECKO_1_7],[test "$gecko_cv_gecko_version_int" -ge "1007000"]) |
|
|
315 |
AM_CONDITIONAL([HAVE_GECKO_1_8],[test "$gecko_cv_gecko_version_int" -ge "1008000"]) |
316 |
AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_gecko_version_int" -ge "1008001"]) |
317 |
AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_gecko_version_int" -ge "1009000"]) |
318 |
|
319 |
$1[]_VERSION=$gecko_cv_gecko_version |
351 |
$1[]_VERSION=$gecko_cv_gecko_version |
320 |
$1[]_VERSION_INT=$gecko_cv_gecko_version_int |
352 |
$1[]_VERSION_INT=$gecko_cv_gecko_version_int |
321 |
|
353 |
|
Lines 328-335
gecko_cv_glue_libs=
Link Here
|
328 |
gecko_cv_extra_pkg_dependencies= |
360 |
gecko_cv_extra_pkg_dependencies= |
329 |
|
361 |
|
330 |
if test "$gecko_cv_gecko_version_int" -ge "1009000"; then |
362 |
if test "$gecko_cv_gecko_version_int" -ge "1009000"; then |
331 |
gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul" |
363 |
if ! test "$gecko_cv_have_xpcom_glue" = "yes"; then |
332 |
gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue_s" |
364 |
gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul" |
|
|
365 |
else |
366 |
gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue" |
367 |
fi |
333 |
else |
368 |
else |
334 |
gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed" |
369 |
gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed" |
335 |
fi |
370 |
fi |
Lines 340-345
$1[]_GLUE_LIBS="$gecko_cv_glue_libs"
Link Here
|
340 |
|
375 |
|
341 |
]) |
376 |
]) |
342 |
|
377 |
|
|
|
378 |
# GECKO_DEFINES |
379 |
# |
380 |
# Defines the AM_CONDITIONALS for GECKO_INIT. This is a separate call |
381 |
# so that you may call GECKO_INIT conditionally; but note that you must |
382 |
# call GECKO_DEFINES _unconditionally_ ! |
383 |
|
384 |
AC_DEFUN([GECKO_DEFINES], |
385 |
[ |
386 |
# Ensure we have an integer variable to compare with |
387 |
if test -z "$gecko_cv_gecko_version_int"; then |
388 |
gecko_cv_gecko_version_int=0 |
389 |
fi |
390 |
AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_flavour" = "toolkit"]) |
391 |
AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_debug" = "yes"]) |
392 |
AM_CONDITIONAL([HAVE_GECKO_1_7],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1007000"]) |
393 |
AM_CONDITIONAL([HAVE_GECKO_1_8],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008000"]) |
394 |
AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"]) |
395 |
AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"]) |
396 |
AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"]) |
397 |
AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"]) |
398 |
AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"]) |
399 |
]) |
400 |
|
343 |
# *************************************************************************** |
401 |
# *************************************************************************** |
344 |
# *************************************************************************** |
402 |
# *************************************************************************** |
345 |
# *************************************************************************** |
403 |
# *************************************************************************** |
Lines 359-368
_SAVE_CPPFLAGS="$CPPFLAGS"
Link Here
|
359 |
_SAVE_CXXFLAGS="$CXXFLAGS" |
417 |
_SAVE_CXXFLAGS="$CXXFLAGS" |
360 |
_SAVE_LDFLAGS="$LDFLAGS" |
418 |
_SAVE_LDFLAGS="$LDFLAGS" |
361 |
_SAVE_LIBS="$LIBS" |
419 |
_SAVE_LIBS="$LIBS" |
362 |
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)" |
420 |
if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then |
363 |
CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)" |
421 |
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-unstable)" |
364 |
LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME" |
422 |
CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-unstable)" |
365 |
LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)" |
423 |
LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}) -ldl" |
|
|
424 |
else |
425 |
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)" |
426 |
CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)" |
427 |
LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)" |
428 |
fi |
429 |
if test -n "$_GECKO_HOME"; then |
430 |
LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME" |
431 |
else |
432 |
LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS" |
433 |
fi |
366 |
|
434 |
|
367 |
_GECKO_DISPATCH_INCLUDEDIRS="$2" |
435 |
_GECKO_DISPATCH_INCLUDEDIRS="$2" |
368 |
|
436 |
|
Lines 371-379
_GECKO_DISPATCH_INCLUDEDIRS="$2"
Link Here
|
371 |
# Mind you, it's useful to be able to test against uninstalled mozilla builds... |
439 |
# Mind you, it's useful to be able to test against uninstalled mozilla builds... |
372 |
_GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref" |
440 |
_GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref" |
373 |
|
441 |
|
374 |
# Now add them to CPPFLAGS |
442 |
# Now add them to CPPFLAGS - asac: well ... not anymore since 1.9 -> test whether they exist before adding. |
375 |
for i in $_GECKO_DISPATCH_INCLUDEDIRS; do |
443 |
for i in $_GECKO_DISPATCH_INCLUDEDIRS; do |
376 |
CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i" |
444 |
if test -d "$_GECKO_INCLUDE_ROOT/$i"; then |
|
|
445 |
CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i" |
446 |
fi |
377 |
done |
447 |
done |
378 |
|
448 |
|
379 |
m4_indir([$1],m4_shiftn(2,$@)) |
449 |
m4_indir([$1],m4_shiftn(2,$@)) |
Lines 426-436
AC_DEFUN([GECKO_XPCOM_PROGRAM],
Link Here
|
426 |
#include <mozilla-config.h> |
496 |
#include <mozilla-config.h> |
427 |
#include <stdlib.h> |
497 |
#include <stdlib.h> |
428 |
#include <stdio.h> |
498 |
#include <stdio.h> |
|
|
499 |
|
500 |
#ifdef XPCOM_GLUE |
501 |
#include <nsXPCOMGlue.h> |
502 |
#else |
429 |
#include <nsXPCOM.h> |
503 |
#include <nsXPCOM.h> |
|
|
504 |
#endif // XPCOM_GLUE |
505 |
|
430 |
#include <nsCOMPtr.h> |
506 |
#include <nsCOMPtr.h> |
431 |
#include <nsILocalFile.h> |
507 |
#include <nsILocalFile.h> |
432 |
#include <nsIServiceManager.h> |
508 |
#include <nsIServiceManager.h> |
433 |
#ifdef HAVE_GECKO_1_8 |
509 |
#if defined(HAVE_GECKO_1_8) || defined(HAVE_GECKO_1_9) |
434 |
#include <nsStringAPI.h> |
510 |
#include <nsStringAPI.h> |
435 |
#else |
511 |
#else |
436 |
#include <nsString.h> |
512 |
#include <nsString.h> |
Lines 438-453
AC_DEFUN([GECKO_XPCOM_PROGRAM],
Link Here
|
438 |
]] |
514 |
]] |
439 |
[$1], |
515 |
[$1], |
440 |
[[ |
516 |
[[ |
|
|
517 |
|
518 |
nsresult rv; |
519 |
#ifdef XPCOM_GLUE |
520 |
static const GREVersionRange greVersion = { |
521 |
"1.8", PR_TRUE, |
522 |
"1.9.*", PR_TRUE |
523 |
}; |
524 |
char xpcomLocation[4096]; |
525 |
rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, 4096); |
526 |
if (NS_FAILED(rv)) { |
527 |
exit(123); |
528 |
} |
529 |
|
530 |
// Startup the XPCOM Glue that links us up with XPCOM. |
531 |
XPCOMGlueStartup(xpcomLocation); |
532 |
if (NS_FAILED(rv)) { |
533 |
exit(124); |
534 |
} |
535 |
#endif // XPCOM_GLUE |
536 |
|
441 |
// redirect unwanted mozilla debug output to the bit bucket |
537 |
// redirect unwanted mozilla debug output to the bit bucket |
442 |
freopen ("/dev/null", "w", stdout); |
538 |
freopen ("/dev/null", "w", stdout); |
443 |
|
539 |
|
444 |
nsresult rv; |
540 |
nsCOMPtr<nsILocalFile> directory = nsnull; |
445 |
nsCOMPtr<nsILocalFile> directory; |
541 |
#ifndef XPCOM_GLUE |
446 |
rv = NS_NewNativeLocalFile (NS_LITERAL_CSTRING("$_GECKO_HOME"), PR_FALSE, |
542 |
rv = NS_NewNativeLocalFile (NS_LITERAL_CSTRING("$_GECKO_HOME"), PR_FALSE, |
447 |
getter_AddRefs (directory)); |
543 |
getter_AddRefs (directory)); |
448 |
if (NS_FAILED (rv) || !directory) { |
544 |
if (NS_FAILED (rv) || !directory) { |
449 |
exit (126); |
545 |
exit (126); |
450 |
} |
546 |
} |
|
|
547 |
#endif |
451 |
|
548 |
|
452 |
rv = NS_InitXPCOM2 (nsnull, directory, nsnull); |
549 |
rv = NS_InitXPCOM2 (nsnull, directory, nsnull); |
453 |
if (NS_FAILED (rv)) { |
550 |
if (NS_FAILED (rv)) { |
Lines 595-615
fi
Link Here
|
595 |
AC_DEFUN([GECKO_XPIDL], |
692 |
AC_DEFUN([GECKO_XPIDL], |
596 |
[AC_REQUIRE([GECKO_INIT])dnl |
693 |
[AC_REQUIRE([GECKO_INIT])dnl |
597 |
|
694 |
|
598 |
_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" |
695 |
if test ${gecko_cv_gecko} = "libxul-embedding" -o ${gecko_cv_gecko} = "libxul"; then |
|
|
696 |
_GECKO_LIBDIR="`$PKG_CONFIG pkg-config --variable=sdkdir ${gecko_cv_gecko}`/bin" |
697 |
else |
698 |
_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`" |
699 |
fi |
599 |
|
700 |
|
600 |
AC_PATH_PROG([XPIDL],[xpidl],[no],[$_GECKO_LIBDIR:$PATH]) |
701 |
AC_PATH_PROG([XPIDL],[xpidl],[no],[$_GECKO_LIBDIR:$PATH]) |
601 |
|
702 |
|
|
|
703 |
if test ${gecko_cv_gecko} = "libxul-embedding" -o ${gecko_cv_gecko} = "libxul"; then |
704 |
XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}`" |
705 |
else |
602 |
XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}-xpcom`" |
706 |
XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}-xpcom`" |
603 |
|
|
|
604 |
# Older geckos don't have this variable, see |
605 |
# https://bugzilla.mozilla.org/show_bug.cgi?id=240473 |
606 |
|
607 |
if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then |
707 |
if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then |
608 |
XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`" |
708 |
XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`" |
609 |
fi |
709 |
fi |
610 |
|
|
|
611 |
# Some distributions (Gentoo) have it in unusual places |
710 |
# Some distributions (Gentoo) have it in unusual places |
612 |
|
|
|
613 |
if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then |
711 |
if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then |
614 |
XPIDL_IDLDIR="$_GECKO_INCLUDE_ROOT/idl" |
712 |
XPIDL_IDLDIR="$_GECKO_INCLUDE_ROOT/idl" |
615 |
fi |
713 |
fi |