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