Home | History | Annotate | Download | only in patches
      1 --- devhelp-0.19/configure.in.old	2008-02-07 17:18:55.000000000 +0800
      2 +++ devhelp-0.19/configure.in	2008-05-07 15:19:04.827005000 +0800
      3 @@ -72,22 +72,30 @@ AC_SUBST([GECKO_FLAVOUR])
      4  AC_SUBST([GECKO_INCLUDE_ROOT])
      5  AC_SUBST([GECKO_HOME])
      6  AC_SUBST([GECKO_PREFIX])
      7  AC_SUBST([GECKO_EXTRA_LIBS])
      8  
      9  case "$GECKO" in
     10  mozilla) gecko_min_version=1.7 ;;
     11  seamonkey) gecko_min_version=1.0 ;;
     12 +libxul-embedding) gecko_min_version=1.9 ;;
     13 +firefox3) gecko_min_version=1.9 ;;
     14  *firefox) gecko_min_version=1.0 ;;
     15  *thunderbird) gecko_min_version=1.0 ;;
     16  xulrunner) gecko_min_version=1.8 ;;
     17 +*) AC_MSG_ERROR([$gecko_cv_gecko is not supported])
     18  esac
     19  
     20 -PKG_CHECK_MODULES([GECKO],[$GECKO_EXTRA_PKG_DEPENDENCIES $GECKO-xpcom >= $gecko_min_version])
     21 +if test $GECKO = libxul-embedding; then
     22 +	PKG_CHECK_MODULES([GECKO],[libxul-embedding $gecko_cv_extra_pkg_dependencies >= $gecko_min_version])
     23 +else
     24 +	PKG_CHECK_MODULES([GECKO],[$GECKO_EXTRA_PKG_DEPENDENCIES $GECKO-xpcom >= $gecko_min_version])
     25 +fi
     26 +
     27  AC_SUBST([GECKO_CFLAGS])
     28  AC_SUBST([GECKO_LIBS])
     29  
     30  # **********************************
     31  # now tests for mozilla API variance
     32  # **********************************
     33  
     34  # Firefox doesn't have this API
     35 --- devhelp-0.19/m4/gecko.m4.old	2007-02-13 16:34:26.000000000 +0800
     36 +++ devhelp-0.19/m4/gecko.m4	2008-05-13 20:15:05.421715000 +0800
     37 @@ -46,31 +46,34 @@ AC_PROG_AWK
     38  
     39  # ************************
     40  # Check which gecko to use
     41  # ************************
     42  
     43  AC_MSG_CHECKING([which gecko to use])
     44  
     45  AC_ARG_WITH([gecko],
     46 -	AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox|seamonkey|xulrunner@:>@],
     47 +	AS_HELP_STRING([--with-gecko@<:@=mozilla|firefox3|firefox|seamonkey|xulrunner|libxul-embedding@:>@],
     48  		       [Which gecko engine to use (autodetected by default)]))
     49  
     50  # Backward compat
     51  AC_ARG_WITH([mozilla],[],[with_gecko=$withval],[])
     52  
     53  gecko_cv_gecko=$with_gecko
     54  
     55  # Autodetect gecko
     56 -_geckos="xulrunner firefox mozilla-firefox seamonkey mozilla"
     57 +_geckos="xulrunner firefox3 firefox mozilla-firefox seamonkey mozilla libxul-embedding"
     58  if test -z "$gecko_cv_gecko"; then
     59  	for lizard in $_geckos; do
     60  		if $PKG_CONFIG --exists $lizard-xpcom; then
     61  			gecko_cv_gecko=$lizard
     62  			break;
     63 +		elif $PKG_CONFIG --exists $lizard; then
     64 +			gecko_cv_gecko=$lizard
     65 +			break;
     66  		fi
     67  	done
     68  fi
     69  
     70  AC_MSG_RESULT([$gecko_cv_gecko])
     71  
     72  if test "x$gecko_cv_gecko" = "x"; then
     73  	ifelse([$3],,[AC_MSG_ERROR([No gecko found; you may need to adjust PKG_CONFIG_PATH or install a mozilla/firefox/xulrunner -devel package])],[$3])
     74 @@ -86,36 +89,47 @@ fi
     75  # Define variables
     76  # ****************
     77  
     78  if test "$gecko_cv_have_gecko" = "yes"; then
     79  
     80  case "$gecko_cv_gecko" in
     81  mozilla) gecko_cv_gecko_flavour=mozilla ;;
     82  seamonkey) gecko_cv_gecko_flavour=mozilla ;;
     83 +firefox3) gecko_cv_gecko_flavour=gecko-1-9 ;;
     84  *firefox) gecko_cv_gecko_flavour=toolkit ;;
     85  xulrunner) gecko_cv_gecko_flavour=toolkit ;;
     86 +libxul-embedding) gecko_cv_gecko_flavour=toolkit ;;
     87  esac
     88  
     89 -_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`"
     90 -_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
     91 -_GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
     92 -_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
     93 -
     94 +if $PKG_CONFIG --exists  ${gecko_cv_gecko}-xpcom; then
     95 +	_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}-xpcom`"
     96 +	_GECKO_CFLAGS="-I$_GECKO_INCLUDE_ROOT"
     97 +	_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
     98 +	_GECKO_HOME="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
     99 +	_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`"
    100 +else
    101 +	_GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable"
    102 +	_GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --define-variable=includetype=unstable --cflags ${gecko_cv_gecko}`"
    103 +	_GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin"
    104 +	_GECKO_HOME=# NO HOME
    105 +	_GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`"
    106 +fi
    107  fi # if gecko_cv_have_gecko
    108  
    109  if test "$gecko_cv_gecko_flavour" = "toolkit"; then
    110  	AC_DEFINE([HAVE_MOZILLA_TOOLKIT],[1],[Define if mozilla is of the toolkit flavour])
    111  fi
    112  
    113  AM_CONDITIONAL([HAVE_MOZILLA_TOOLKIT],[test "$gecko_cv_gecko_flavour" = "toolkit"])
    114  
    115  $1[]=$gecko_cv_gecko
    116  $1[]_FLAVOUR=$gecko_cv_gecko_flavour
    117  $1[]_INCLUDE_ROOT=$_GECKO_INCLUDE_ROOT
    118 +$1[]_CFLAGS=$_GECKO_CFLAGS
    119  $1[]_LIBDIR=$_GECKO_LIBDIR
    120  $1[]_HOME=$_GECKO_HOME
    121  $1[]_PREFIX=$_GECKO_PREFIX
    122  
    123  # **************************************************************
    124  # This is really gcc-only
    125  # Do this test using CXX only since some versions of gcc
    126  # 2.95-2.97 have a signed wchar_t in c++ only and some versions
    127 @@ -179,17 +193,17 @@ fi # if gecko_cv_have_gecko
    128  # Various tests
    129  # *************
    130  
    131  if test "$gecko_cv_have_gecko" = "yes"; then
    132  
    133  AC_LANG_PUSH([C++])
    134  
    135  _SAVE_CPPFLAGS="$CPPFLAGS"
    136 -CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT"
    137 +CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS"
    138  
    139  AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]])
    140  AC_RUN_IFELSE(
    141  	[AC_LANG_SOURCE(
    142  		[[#include <mozilla-config.h>
    143  		  #include <string.h>
    144  		  #include <stdlib.h>
    145                    int main(void) {
    146 @@ -204,18 +218,20 @@ AC_RUN_IFELSE(
    147  	[AC_MSG_ERROR([[This program needs a gtk 2 gecko build]])],
    148          [result=maybe])
    149  AC_MSG_RESULT([$result])
    150  
    151  AC_MSG_CHECKING([[whether we have a gecko debug build]])
    152  AC_COMPILE_IFELSE(
    153  	[AC_LANG_SOURCE(
    154  		[[#include <mozilla-config.h>
    155 +          #if !defined(MOZ_STORAGE)
    156  		  #if !defined(MOZ_REFLOW_PERF) || !defined(MOZ_REFLOW_PERF_DSP)
    157  		  #error No
    158 +          #endif
    159  		  #endif]]
    160  	)],
    161  	[gecko_cv_have_debug=yes],
    162  	[gecko_cv_have_debug=no])
    163  AC_MSG_RESULT([$gecko_cv_have_debug])
    164  
    165  CPPFLAGS="$_SAVE_CPPFLAGS"
    166  
    167 @@ -236,17 +252,17 @@ AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test 
    168  # Check for gecko version
    169  # ***********************
    170  
    171  if test "$gecko_cv_have_gecko" = "yes"; then
    172  
    173  AC_LANG_PUSH([C++])
    174  
    175  _SAVE_CPPFLAGS="$CPPFLAGS"
    176 -CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT"
    177 +CPPFLAGS="$CPPFLAGS $_GECKO_CFLAGS"
    178  
    179  AC_CACHE_CHECK([for gecko version],
    180  	[gecko_cv_gecko_version],
    181  	[AC_RUN_IFELSE(
    182  		[AC_LANG_PROGRAM([[
    183  #include <mozilla-config.h>
    184  #include <string.h>
    185  #include <stdlib.h>
    186 @@ -323,20 +339,19 @@ $1[]_VERSION_INT=$gecko_cv_gecko_version
    187  # Packages that we need to check for with pkg-config 
    188  # **************************************************
    189  
    190  gecko_cv_extra_libs=
    191  gecko_cv_glue_libs=
    192  gecko_cv_extra_pkg_dependencies=
    193  
    194  if test "$gecko_cv_gecko_version_int" -ge "1009000"; then
    195 -	gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul"
    196 -	gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue_s"
    197 +    gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul"
    198  else
    199 -	gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed"
    200 +    gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed"
    201  fi
    202  
    203  $1[]_EXTRA_PKG_DEPENDENCIES="$gecko_cv_extra_pkg_dependencies"
    204  $1[]_EXTRA_LIBS="$gecko_cv_extra_libs"
    205  $1[]_GLUE_LIBS="$gecko_cv_glue_libs"
    206  
    207  ])
    208  
    209 @@ -354,31 +369,43 @@ if test "$gecko_cv_have_gecko" != "yes";
    210  fi
    211  
    212  AC_LANG_PUSH([C++])
    213  
    214  _SAVE_CPPFLAGS="$CPPFLAGS"
    215  _SAVE_CXXFLAGS="$CXXFLAGS"
    216  _SAVE_LDFLAGS="$LDFLAGS"
    217  _SAVE_LIBS="$LIBS"
    218 -CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS -I$_GECKO_INCLUDE_ROOT $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
    219 -CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)"
    220 -LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME"
    221 -LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)"
    222 +if test "${gecko_cv_gecko}" = "libxul-embedding"; then
    223 +	CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --define-variable=includetype=unstable --cflags-only-I ${gecko_cv_gecko})"
    224 +	CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --define-variable=includetype=unstable --cflags-only-other ${gecko_cv_gecko})"
    225 +	LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}) -ldl"
    226 +else
    227 +	CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)"
    228 +	CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-xpcom)"
    229 +	LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}-xpcom)"
    230 +fi
    231 +if test -n "$_GECKO_HOME"; then
    232 +	LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS -Wl,--rpath=$_GECKO_HOME"
    233 +else
    234 +	LDFLAGS="$LDFLAGS $_GECKO_EXTRA_LDFLAGS"
    235 +fi
    236  
    237  _GECKO_DISPATCH_INCLUDEDIRS="$2"
    238  
    239  # Sigh Gentoo has a rubbish header layout
    240  # http://bugs.gentoo.org/show_bug.cgi?id=100804
    241  # Mind you, it's useful to be able to test against uninstalled mozilla builds...
    242  _GECKO_DISPATCH_INCLUDEDIRS="$_GECKO_DISPATCH_INCLUDEDIRS dom necko pref"
    243  
    244 -# Now add them to CPPFLAGS
    245 +# Now add them to CPPFLAGS - asac: well ... not anymore since 1.9 -> test whether they exist before adding.
    246  for i in $_GECKO_DISPATCH_INCLUDEDIRS; do
    247 -	CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i"
    248 +	if test -d "$_GECKO_INCLUDE_ROOT/$i"; then
    249 +		CPPFLAGS="$CPPFLAGS -I$_GECKO_INCLUDE_ROOT/$i"
    250 +	fi
    251  done
    252  
    253  m4_indir([$1],m4_shiftn(2,$@))
    254  
    255  CPPFLAGS="$_SAVE_CPPFLAGS"
    256  CXXFLAGS="$_SAVE_CXXFLAGS"
    257  LDFLAGS="$_SAVE_LDFLAGS"
    258  LIBS="$_SAVE_LIBS"
    259 @@ -421,38 +448,65 @@ AC_DEFUN([GECKO_RUN_IFELSE],[_GECKO_DISP
    260  #
    261  # To jump out of the BODY and exit the test program, you can use |break|.
    262  
    263  AC_DEFUN([GECKO_XPCOM_PROGRAM],
    264  [AC_LANG_PROGRAM([[
    265  #include <mozilla-config.h>
    266  #include <stdlib.h>
    267  #include <stdio.h>
    268 +
    269 +#ifdef XPCOM_GLUE
    270 +#include <nsXPCOMGlue.h>
    271 +#else
    272  #include <nsXPCOM.h>
    273 +#endif // XPCOM_GLUE
    274 +
    275  #include <nsCOMPtr.h>
    276  #include <nsILocalFile.h>
    277  #include <nsIServiceManager.h>
    278 -#ifdef HAVE_GECKO_1_8
    279 +#if defined(HAVE_GECKO_1_8) || defined(HAVE_GECKO_1_9)
    280  #include <nsStringAPI.h>
    281  #else
    282  #include <nsString.h>
    283  #endif
    284  ]]
    285  [$1],
    286  [[
    287 +
    288 +nsresult rv;
    289 +#ifdef XPCOM_GLUE
    290 +    static const GREVersionRange greVersion = {
    291 +    "1.8", PR_TRUE,
    292 +    "2", PR_TRUE
    293 +    };
    294 +    char xpcomLocation[4096];
    295 +    rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, 4096);
    296 +    if (NS_FAILED(rv)) {
    297 +        exit(123);
    298 +    }
    299 +
    300 +    // Startup the XPCOM Glue that links us up with XPCOM.
    301 +    XPCOMGlueStartup(xpcomLocation);
    302 +    if (NS_FAILED(rv)) {
    303 +        exit(124);
    304 +    }
    305 +#endif // XPCOM_GLUE
    306 +
    307  // redirect unwanted mozilla debug output to the bit bucket
    308  freopen ("/dev/null", "w", stdout);
    309  
    310 -nsresult rv;
    311 -nsCOMPtr<nsILocalFile> directory;
    312 +nsCOMPtr<nsILocalFile> directory = nsnull;
    313 +#ifndef XPCOM_GLUE
    314  rv = NS_NewNativeLocalFile (NS_LITERAL_CSTRING("$_GECKO_HOME"), PR_FALSE,
    315  			    getter_AddRefs (directory));
    316  if (NS_FAILED (rv) || !directory) {
    317  	exit (126);
    318  }
    319 +#endif
    320  
    321  rv = NS_InitXPCOM2 (nsnull, directory, nsnull);
    322  if (NS_FAILED (rv)) {
    323  	exit (125);
    324  }
    325  
    326  int status = EXIT_FAILURE;
    327  
    328 @@ -590,33 +644,40 @@ fi
    329  #
    330  # Variables set:
    331  # XPIDL:        the xpidl program
    332  # XPIDL_IDLDIR: the xpidl include directory
    333  
    334  AC_DEFUN([GECKO_XPIDL],
    335  [AC_REQUIRE([GECKO_INIT])dnl
    336  
    337 -_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
    338 +if test ${gecko_cv_gecko} = "libxul-embedding"; then
    339 +	_GECKO_LIBDIR="`$PKG_CONFIG pkg-config --variable=sdkdir ${gecko_cv_gecko}`/bin"
    340 +else
    341 +	_GECKO_LIBDIR="`$PKG_CONFIG --variable=libdir ${gecko_cv_gecko}-xpcom`"
    342 +fi
    343  
    344  AC_PATH_PROG([XPIDL],[xpidl],[no],[$_GECKO_LIBDIR:$PATH])
    345  
    346 +if test ${gecko_cv_gecko} = "libxul-embedding"; then
    347 +XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}`"
    348 +else
    349  XPIDL_IDLDIR="`$PKG_CONFIG --variable=idldir ${gecko_cv_gecko}-xpcom`"
    350  
    351  # Older geckos don't have this variable, see
    352  # https://bugzilla.mozilla.org/show_bug.cgi?id=240473
    353  
    354 -if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
    355 -	XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`"
    356 -fi
    357 -
    358 -# Some distributions (Gentoo) have it in unusual places
    359 -
    360 -if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
    361 -	XPIDL_IDLDIR="$_GECKO_INCLUDE_ROOT/idl"
    362 +if test ${gecko_cv_gecko} != "libxul-embedding"; then
    363 +	if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
    364 +		XPIDL_IDLDIR="`echo $_GECKO_LIBDIR | sed -e s!lib!share/idl!`"
    365 +	fi
    366 +	# Some distributions (Gentoo) have it in unusual places
    367 +	if test -z "$XPIDL_IDLDIR" -o ! -f "$XPIDL_IDLDIR/nsISupports.idl"; then
    368 +		XPIDL_IDLDIR="$_GECKO_INCLUDE_ROOT/idl"
    369 +	fi
    370  fi
    371  
    372  if test "$XPIDL" != "no" -a -n "$XPIDL_IDLDIR" -a -f "$XPIDL_IDLDIR/nsISupports.idl"; then
    373  	ifelse([$1],,[:],[$1])
    374  else
    375  	ifelse([$2],,[AC_MSG_FAILURE([XPIDL program or include directory not found])],[$2])
    376  fi
    377  
    378 --- devhelp-0.19/src/Makefile.am.old	2008-05-13 20:12:07.109433000 +0800
    379 +++ devhelp-0.19/src/Makefile.am	2008-05-13 20:12:16.234096000 +0800
    380 @@ -46,16 +46,17 @@ gecko_include_subdirs =	\
    381  	fastfind		\
    382  	docshell		\
    383  	gfx			\
    384  	gtkembedmoz		\
    385  	locale			\
    386  	pref			\
    387  	webbrwsr		\
    388  	string			\
    389 +	nspr			\
    390  	xpcom
    391  
    392  libcppwrapper_la_CPPFLAGS = 				\
    393  	$(DEFINES)					\
    394  	-DALLOW_PRIVATE_API				\
    395  	-DGECKO_HOME=\""$(GECKO_HOME)\""		\
    396  	-include $(GECKO_INCLUDE_ROOT)/mozilla-config.h			\
    397  	$(addprefix -I$(GECKO_INCLUDE_ROOT)/,$(gecko_include_subdirs))	\
    398