summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--components/mozilla/Makefile.am4
-rw-r--r--configure.in37
3 files changed, 43 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d1cfe2ead..caa1dd58f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2000-09-27 Ramiro Estrugo <ramiro@eazel.com>
+
+ * components/mozilla/Makefile.am:
+ * configure.in:
+ Add support for using a debuggable version of the beast.
+
2000-09-27 Rebecca Schulman <rebecka@eazel.com>
Fixed bug 1275, that sidebar panels don't have defaults
per user level.
diff --git a/components/mozilla/Makefile.am b/components/mozilla/Makefile.am
index 76844628f..29e618732 100644
--- a/components/mozilla/Makefile.am
+++ b/components/mozilla/Makefile.am
@@ -4,7 +4,9 @@ SUBDIRS = eazel-protocol-handler
CPPFLAGS = \
-DPREFIX=\"$(prefix)\" \
- -DG_LOG_DOMAIN=\"Nautilus-Mozilla\"
+ -DG_LOG_DOMAIN=\"Nautilus-Mozilla\" \
+ $(MOZILLA_COMPONENT_DEBUG_FLAGS) \
+ $(NULL)
component_path=$(prefix)/share/nautilus/mozilla-components/libeazel-protocol-handler.so
diff --git a/configure.in b/configure.in
index 3b881d6bf..6be602d29 100644
--- a/configure.in
+++ b/configure.in
@@ -201,14 +201,27 @@ fi
AM_CONDITIONAL(BUILD_MOZILLA_COMPONENT, test "x$found_mozilla" = "xtrue")
dnl
+dnl EVIL1:
+dnl
dnl The mozilla milestone version checks are very un-scientific.
dnl They are based on thing that I know changed between milestones,
dnl but are likely to not be right in the future. Unfortunately, there
dnl doesnt seem to be anything in mozilla (such as #define MOZILLA_VERSION)
dnl thing that we can check. -re
dnl
+dnl EVIL2:
+dnl
+dnl The DEBUG check is a most evil hack. The problem im trying to solve
+dnl is that we dont know whether the mozilla binaries we are using are built
+dnl in debug mode or not (DEBUG). We need to know this so that we set
+dnl appropiate compile flags in the mozilla component. Otherwise we get
+dnl undefined symbols. Specifically, the undefined symbols are some
+dnl destrcutors (nsCOMPtr_base::~nsCOMPtr_base) which are implemented only
+dnl if the debug flag DEBUG is set a certain way.
+dnl
if test "x$found_mozilla" = "xtrue"
then
+dnl EVIL1:
grep -w net_state $_mozilla_include_place/gtkmozembed.h > /dev/null 2>&1
if test $? -eq 0
@@ -227,6 +240,23 @@ then
fi
AC_SUBST(MOZILLA_MILESTONE)
+
+dnl EVIL2:
+ _xpcom_lib=$_mozilla_lib_place/libxpcom.so
+ _symbol="nsCOMPtr_base::~nsCOMPtr_base"
+ _num_symbols=`nm $_xpcom_lib 2> /dev/null | wc -l`
+
+ if test $_num_symbols -ne 0
+ then
+ nm --demangle $_xpcom_lib | grep $_symbol > /dev/null 2>&1
+
+ if test $? -eq 1
+ then
+ MOZILLA_COMPONENT_DEBUG_FLAGS="-DDEBUG"
+ fi
+ fi
+
+ AC_SUBST(MOZILLA_COMPONENT_DEBUG_FLAGS)
fi
dnl ====================================
@@ -600,9 +630,10 @@ case $found_mozilla in
t*)
echo "
Mozilla component : YES
- mozilla libraries : $_mozilla_lib_place
- mozilla includes : $_mozilla_include_place
- MOZILLA_MILESTONE : $MOZILLA_MILESTONE"
+ mozilla libraries : $_mozilla_lib_place
+ mozilla includes : $_mozilla_include_place
+ MOZILLA_MILESTONE : $MOZILLA_MILESTONE
+ MOZILLA_COMPONENT_DEBUG_FLAGS : $MOZILLA_COMPONENT_DEBUG_FLAGS"
;;
*)
echo "