changeset 9613:16907d1153d1

attempt to fix LD_PRELOAD for Cygwin
author John W. Eaton <jwe@octave.org>
date Fri, 04 Sep 2009 11:25:44 -0400
parents 66970dd627f6
children d4557fd08323
files ChangeLog Makeconf.in configure.in run-octave.in
diffstat 4 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Sep 04 11:22:53 2009 +0200
+++ b/ChangeLog	Fri Sep 04 11:25:44 2009 -0400
@@ -1,3 +1,9 @@
+2009-09-04  John W. Eaton  <jwe@octave.org>
+
+	* configure.in (ldpreloadsep): New variable.  Set to ':' for Cygwin.
+	* Makeconf.in (do-subst-script-vals): Substitute it.
+	* run-octave.in: Use it to seprate elements in the LD_PRELOAD variable.
+
 2009-09-03  John W. Eaton  <jwe@octave.org>
 
 	* configure.in (AH_BOTTOM): If HAVE_Z is defined, define HAVE_ZLIB.
--- a/Makeconf.in	Fri Sep 04 11:22:53 2009 +0200
+++ b/Makeconf.in	Fri Sep 04 11:25:44 2009 -0400
@@ -471,6 +471,11 @@
 # LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, PATH, ...
 library_path_var = @library_path_var@
 
+# The separator used for elements of the LD_PRELOAD variable (might be
+# a space, so protect with $(null))
+null :=
+ldpreloadsep = $(null)@ldpreloadsep@$(null)
+
 NO_OCT_FILE_STRIP = @NO_OCT_FILE_STRIP@
 
 # The following pattern rules and the substitution functions require
@@ -765,6 +770,7 @@
   -e "s|%liboctinterp%|${SHLPRE}octinterp.${SHLEXT}|g" \
   -e "s|%liboctave%|${SHLPRE}octave.${SHLEXT}|g" \
   -e "s|%libcruft%|${SHLPRE}cruft.${SHLEXT}|g" \
+  -e "s|%ldpreloadsep%|${ldpreloadsep}|g" \
   -e "s|%srcdir%|${srcdir}|" \
   -e "s|%top_srcdir%|${top_srcdir}|" \
   -e "s|%abs_top_srcdir%|${abs_top_srcdir}|" \
--- a/configure.in	Fri Sep 04 11:22:53 2009 +0200
+++ b/configure.in	Fri Sep 04 11:25:44 2009 -0400
@@ -1083,6 +1083,7 @@
 OCTINTERP_DLL_DEFS=
 OCTGRAPHICS_DLL_DEFS=
 library_path_var=LD_LIBRARY_PATH
+ldpreloadsep=" "
 SCRIPTS_EXE_SUFFIX=
 case "$canonical_host_type" in
   *-*-386bsd* | *-*-netbsd*)
@@ -1135,6 +1136,7 @@
     DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
     SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base"
     SONAME_FLAGS='-Wl,--out-implib=$(patsubst $(SHLPRE)%,$(LIBPRE)%,$@).a'
+    ldpreloadsep=":"
   ;;
   *-*-mingw*)
     CPICFLAG=
@@ -1324,6 +1326,7 @@
 AC_SUBST(OCTINTERP_DLL_DEFS)
 AC_SUBST(OCTGRAPHICS_DLL_DEFS)
 AC_SUBST(library_path_var)
+AC_SUBST(ldpreloadsep)
 AC_SUBST(SCRIPTS_EXE_SUFFIX)
 
 ### special checks for odd OS specific things.
--- a/run-octave.in	Fri Sep 04 11:22:53 2009 +0200
+++ b/run-octave.in	Fri Sep 04 11:25:44 2009 -0400
@@ -30,6 +30,7 @@
 top_srcdir='%abs_top_srcdir%'
 builddir='%builddir%'
 
+ldpreloadsep="%ldpreloadsep%"
 liboctinterp="$builddir/src/%liboctinterp%"
 liboctave="$builddir/liboctave/%liboctave%"
 libcruft="$builddir/libcruft/%libcruft%"
@@ -68,7 +69,7 @@
 fi
 
 OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile" \
-LD_PRELOAD="$liboctinterp $liboctave $libcruft" \
+LD_PRELOAD="$libcruft$ldpreloadsep$liboctave$ldpreloadsep$liboctinterp" \
 %library_path_var%="$builddir/src:$builddir/liboctave:$builddir/libcruft:$%library_path_var%" \
   exec $driver "$builddir/src/octave" --no-init-path --path="$LOADPATH" --image-path="$IMAGEPATH" --doc-cache-file="$DOCFILE" --info-file="$INFOFILE" "$@"