tag 480799 + help tag 473702 + help stop Hi,
I didn't expect my journey to build galeon against xulrunner 1.9 to be so long; I reached the point today where I don't really know how to continue further; it would probably require understanding many concepts of XPCOM glue which I'm far from mastering. I've pushed the decent changes to SVN as individual patches: svn.debian.org/svn/pkg-galeon/unstable/galeon I tried some random changes in the attached random changes patch; the only one I'm pretty confident with is the MOZILLA_HOME one. The other ones were attempts to get the thing to build. I could reach the final link with them in place, but the linking fails due to hidden symbols being missing. At this point I know it's related to glue things, but there are too many hacks in place for me to claim this is useful or safe to run by Debian users. I welcome any help in finishing the port; it probably needs some hours of someone knowing how mozembed should now be used with glue defines and links. Be careful with some of the recent changes I introduced, I'm not too confident with the fixes I came up with. :-/ Thanks, -- Loïc Minier
--- a/configure.in +++ b/configure.in @@ -263,13 +263,17 @@ if test $MOZILLA = libxul-embedding-unstable; then fi AC_SUBST(MOZILLA_INCLUDE_ROOT) -MOZILLA_HOME="`$PKG_CONFIG --variable=libdir $MOZILLA_XPCOM`" +AC_ARG_WITH([gecko-home], + AS_HELP_STRING([--with-gecko-home@<:@=[path]@:>@], + [Manually set MOZILLA_FIVE_HOME]), + MOZILLA_HOME=$with_gecko_home, + MOZILLA_HOME="`$PKG_CONFIG --variable=libdir $MOZILLA_XPCOM`") AC_SUBST(MOZILLA_HOME) PKG_CHECK_MODULES(MOZILLA_COMPONENT, $MOZILLA-gtkmozembed >= $min_version, [has_gtkmozembed=yes], [has_gtkmozembed=no]) if test "x$has_gtkmozembed" = "xno"; then - MOZILLA_COMPONENT_CFLAGS="$XPCOM_COMPONENT_CFLAGS -I$MOZILLA_INCLUDE_ROOT/gtkembedmoz" + MOZILLA_COMPONENT_CFLAGS="$XPCOM_COMPONENT_CFLAGS -I$MOZILLA_INCLUDE_ROOT/gtkembedmoz -DXPCOM_GLUE_USE_NSPR" MOZILLA_COMPONENT_LIBS="$XPCOM_COMPONENT_LIBS -lxul" fi --- a/mozilla/JSConsoleListener.cpp +++ b/mozilla/JSConsoleListener.cpp @@ -50,7 +50,7 @@ NS_IMETHODIMP JSConsoleListener::Observe(nsIConsoleMessage *aMessage) { PRUnichar *message; - aMessage->GetMessage (&message); + aMessage->GetMessageMoz (&message); GaleonJSConsole * js_console; js_console = galeon_embed_shell_get_js_console (embed_shell); --- a/mozilla/MozRegisterComponents.cpp +++ b/mozilla/MozRegisterComponents.cpp @@ -52,7 +52,13 @@ #include <nsICategoryManager.h> #include <nsIComponentManager.h> #include <nsCOMPtr.h> +#ifdef XPCOM_GLUE +#define XPCOM_GLUE_USE_NSPR +#include <gtkmozembed_glue.cpp> +#include <nsXPCOMGlue.h> +#else #include <nsXPCOM.h> +#endif #include <nsComponentManagerUtils.h> #include <nsServiceManagerUtils.h> #include <nsDocShellCID.h> --- a/mozilla/mozilla-embed.cpp +++ b/mozilla/mozilla-embed.cpp @@ -26,6 +26,12 @@ #define MOZILLA_CLIENT #include "gtkmozembed.h" #undef MOZILLA_CLIENT +#ifdef XPCOM_GLUE +#include <gtkmozembed_glue.cpp> +#include <nsXPCOMGlue.h> +#else +#include <nsXPCOM.h> +#endif #include "gul-string.h" #include "galeon-embed-utils.h" #include "galeon-embed.h" --- a/src/Makefile.am +++ b/src/Makefile.am @@ -145,7 +145,7 @@ galeon_LDADD = \ $(GALEON_DEPENDENCY_LIBS) \ $(INTLLIBS) -galeon_LDFLAGS = -R$(MOZILLA_HOME) -dlopen self +galeon_LDFLAGS = -rpath $(MOZILLA_HOME) -dlopen self if ENABLE_GTKHTML_EMBED gtkhtmlembed_libs = $(top_builddir)/gtkhtml/libgtkhtmlembed.la