octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MSVC/Win32: building the documentation


From: John W. Eaton
Subject: Re: MSVC/Win32: building the documentation
Date: Sun, 29 Oct 2006 11:59:52 -0500

On 29-Oct-2006, John W. Eaton wrote:

| On 29-Oct-2006, Michael Goffioul wrote:
| 
| | John W. Eaton a écrit :
| | > No, I didn't make any changes.  I just agreed that problems like this
| | > should be fixed.
| | >
| | > You're telling me there is a problem with spaces, but I don't
| | > understand precisely what the problem is, so I don't know exactly what
| | > it is that needs to be fixed.
| | >   
| | 
| | In my case, the octave source are located in a dir with spaces in it; 
| | hence "top_srcdir" and
| | "builddir" contain both spaces. The 2 first assigment statements fail 
| | already:
| | 
| | top_srcdir=/c/Document and Settings/and/so/on
| | builddir=/c/Document and Settings/and/so/on
| | 
| | leads to the shell trying to execute "and". If I enclose the 2 dirs into 
| | double-quotes, assigments
| | succeeds, but then the problem appears in the "find" execution: the 
| | "dirs" variable contains again
| | the spaces. I didn't farer than that.
| 
| I don't see a simple solution for this problem.  I don't have time to
| work on it but I'd consider a patch.

OK, this problem was bugging me, and I found a few minutes.  Does the
following patch help?

jwe


ChangeLog:

2006-10-29  John W. Eaton  <address@hidden>

        * run-octave.in: Handle spaces in directory names.


Index: run-octave.in
===================================================================
RCS file: /cvs/octave/run-octave.in,v
retrieving revision 1.7
diff -u -u -r1.7 run-octave.in
--- run-octave.in       24 Oct 2006 14:20:17 -0000      1.7
+++ run-octave.in       29 Oct 2006 16:57:59 -0000
@@ -1,15 +1,33 @@
 #! /bin/sh
-top_srcdir=%abs_top_srcdir%
-builddir=%builddir%
-## FIXME -- this will fail for filenames with embedded spaces...
-dirs="$top_srcdir/test $top_srcdir/scripts $builddir/scripts $builddir/src"
-dirs=$(find $dirs -type d -a ! \( \( -name CVS -o -name private \) -a -prune 
\))
-for d in $dirs; do
-  LOADPATH=$LOADPATH:$d
-done
-LOADPATH=$(echo $LOADPATH | sed 's|^:||')
+
+AWK=${AWK:-'awk'}
+
+# FIXME -- is there a better way to handle the possibility of spaces
+# in these names? 
+
+top_srcdir="%abs_top_srcdir%"
+builddir="%builddir%"
+
+d1="$top_srcdir/test"
+d2="$top_srcdir/scripts"
+d3="$builddir/scripts"
+d4="$builddir/src"
+
+d1_list=$(find "$d1" -type d -a ! \( \( -name CVS -o -name private \) -a 
-prune \) -exec echo '{}': ';')
+d2_list=$(find "$d2" -type d -a ! \( \( -name CVS -o -name private \) -a 
-prune \) -exec echo '{}': ';')
+d3_list=$(find "$d3" -type d -a ! \( \( -name CVS -o -name private \) -a 
-prune \) -exec echo '{}': ';')
+d4_list=$(find "$d4" -type d -a ! \( \( -name CVS -o -name private \) -a 
-prune \) -exec echo '{}': ';')
+
+d1_path=$(echo "$d1_list" | $AWK '{ s = sprintf ("%s%s", s, $0); } END { sub 
(/:$/, "", s); print s; }')
+d2_path=$(echo "$d2_list" | $AWK '{ s = sprintf ("%s%s", s, $0); } END { sub 
(/:$/, "", s); print s; }')
+d3_path=$(echo "$d3_list" | $AWK '{ s = sprintf ("%s%s", s, $0); } END { sub 
(/:$/, "", s); print s; }')
+d4_path=$(echo "$d4_list" | $AWK '{ s = sprintf ("%s%s", s, $0); } END { sub 
(/:$/, "", s); print s; }')
+
+LOADPATH="$d1_path:$d2_path:$d3_path:$d4_path"
 IMAGEPATH="$top_srcdir/scripts/image"
-args="--path=$LOADPATH --image-path=$IMAGEPATH"
+
+args="--path=\"$LOADPATH\" --image-path=\"$IMAGEPATH\""
+
 if [ $# -gt 0 ]; then
   if [ "x$1" = "x-g" ]; then
     driver="gdb"
@@ -27,7 +45,8 @@
     shift
   fi
 fi
-OCTAVE_SITE_INITFILE=$top_srcdir/scripts/startup/main-rcfile \
+
+OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile" \
 
%library_path_var%="$builddir/src:$builddir/liboctave:$builddir/libcruft:$%library_path_var%"
 \
-  exec $driver $builddir/src/octave $args "$@"
+  exec $driver "$builddir/src/octave" "$args" "$@"
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]