Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: build script fixes



-----BEGIN PGP SIGNED MESSAGE-----

Those script fixes:

Src/mkmodindex.sh:
	* Use sed instead of a dodgy glob pattern.
Src/mkmakemod.sh:
	* I was using double quotes inside backquotes inside double
	  quotes in a couple of places, which IIRC POSIX leaves undefined.
	  It's definitely a bad idea.
	* Don't trust the $top_srcdir inherited from the Makefile;
	  use pwd to get it without links.  NOTE: zsh, even in sh mode,
	  will report a pathname including links.  I think this is a
	  bug that needs to be fixed.
Src/makepro.awk:
	* Quote `=' and `{' in regexps.  Other potential metacharacters
	  are `}', `<' and `>'; I've left these unquoted in case quoting
	  them might make them metacharacters in some awks.

I'll be on holiday all next week, so I won't be able to respond to any
feedback until the following week (1998-01-26).

 -zefram

 *** Src/makepro.awk	1997/06/14 00:25:36	1.2
 --- Src/makepro.awk	1998/01/16 01:10:21
 ***************
 *** 50,56 ****
   	if(line ~ /\/\*/)
   	    continue
   	# If it is a function definition, note so.
 ! 	if(line ~ /\) *{.*$/) #}
   	    isfunc = 1
   	if(sub(/ *[{;].*$/, "", line)) #}
   	    break
 --- 50,56 ----
   	if(line ~ /\/\*/)
   	    continue
   	# If it is a function definition, note so.
 ! 	if(line ~ /\) *\{.*$/) #}
   	    isfunc = 1
   	if(sub(/ *[{;].*$/, "", line)) #}
   	    break
 ***************
 *** 91,97 ****
   	# initialiser.
   	dcltor = substr(line, 1, RLENGTH-1)
   	line = substr(line, RLENGTH+1)
 ! 	sub(/=.*$/, "", dcltor)
   	match(dcltor, /^([^_0-9A-Za-z]| const )*/)
   	dcltor = substr(dcltor, 1, RLENGTH) "@+" substr(dcltor, RLENGTH+1)
   	match(dcltor, /^.*@\+[_0-9A-Za-z]+/)
 --- 91,97 ----
   	# initialiser.
   	dcltor = substr(line, 1, RLENGTH-1)
   	line = substr(line, RLENGTH+1)
 ! 	sub(/\=.*$/, "", dcltor)
   	match(dcltor, /^([^_0-9A-Za-z]| const )*/)
   	dcltor = substr(dcltor, 1, RLENGTH) "@+" substr(dcltor, RLENGTH+1)
   	match(dcltor, /^.*@\+[_0-9A-Za-z]+/)
 ***************
 *** 101,107 ****
   	sub(/@-.*$/, "", dnam)
   
   	# Put parens etc. back
 ! 	gsub(/@{/, " _((", dcltor)
   	gsub(/@}/, "))", dcltor)
   	gsub(/@</, "(", dcltor)
   	gsub(/@>/, ")", dcltor)
 --- 101,107 ----
   	sub(/@-.*$/, "", dnam)
   
   	# Put parens etc. back
 ! 	gsub(/@\{/, " _((", dcltor)
   	gsub(/@}/, "))", dcltor)
   	gsub(/@</, "(", dcltor)
   	gsub(/@>/, ")", dcltor)
 *** Src/mkmakemod.sh	1998/01/11 14:57:22	1.2
 --- Src/mkmakemod.sh	1998/01/16 01:06:53
 ***************
 *** 93,99 ****
       echo "##### ===== DEFINITIONS ===== #####"
       echo
       echo "makefile = ${the_makefile}"
 !     echo "dir_top = `echo $the_subdir | sed 's,[^/][^/]*,..,g'`"
       echo "subdir = $the_subdir"
       echo
   
 --- 93,99 ----
       echo "##### ===== DEFINITIONS ===== #####"
       echo
       echo "makefile = ${the_makefile}"
 !     echo "dir_top = "`echo $the_subdir | sed 's,[^/][^/]*,..,g'`
       echo "subdir = $the_subdir"
       echo
   
 ***************
 *** 137,143 ****
   		;;
   	esac
       done
 !     all_subdirs="`echo "$all_subdirs" | sed "s' $the_subdir/' 'g"`"
       echo "MODOBJS =$all_modobjs"
       echo "MODULES =$all_modules"
       echo "MDDS    =$all_mdds"
 --- 137,143 ----
   		;;
   	esac
       done
 !     all_subdirs=`echo "$all_subdirs" | sed "s' $the_subdir/' 'g"`
       echo "MODOBJS =$all_modobjs"
       echo "MODULES =$all_modules"
       echo "MDDS    =$all_mdds"
 ***************
 *** 306,317 ****
       # config.status requires the pathname for the .in file to be relative
       # to the top of the source tree.  As we have it in the build tree, it
       # is necessary to construct an appropriate pathname.
 ! 
 !     case $top_srcdir in
 ! 	/*) sdir=$top_srcdir ;;
 ! 	*) sdir=`pwd`/$top_srcdir; sdir=`echo $sdir | sed "$sed_normalise"` ;;
 !     esac
 !     top_builddir=`echo $sdir | sed 's,[^/][^/]*,..,g;s,^/,,'``pwd`
   
       CONFIG_FILES=$the_subdir/${the_makefile}:$top_builddir/$the_subdir/${the_makefile}.in CONFIG_HEADERS= ./config.status
   
 --- 306,312 ----
       # config.status requires the pathname for the .in file to be relative
       # to the top of the source tree.  As we have it in the build tree, it
       # is necessary to construct an appropriate pathname.
 !     top_builddir=`(cd $top_srcdir; pwd) | sed 's,[^/][^/]*,..,g;s,^/,,'``pwd`
   
       CONFIG_FILES=$the_subdir/${the_makefile}:$top_builddir/$the_subdir/${the_makefile}.in CONFIG_HEADERS= ./config.status
   
 *** Src/mkmodindex.sh	1997/06/17 15:59:54	1.1
 --- Src/mkmodindex.sh	1998/01/16 01:00:08
 ***************
 *** 15,22 ****
       ( set $dir/*.mdd; test -f $1 ) || continue
       dosubs=false
       for mod in `echo '' $dir/*.mdd '' | sed 's, [^ ]*/, ,g;s,\.mdd , ,g'`; do
 ! 	case "$mod@ $module_list " in
 ! 	    *[^_0-9A-Za-z]*@*)
   		echo >&2 "WARNING: illegally named module \`$mod' in $dir"
   		echo >&2 "         (ignoring it)"
   		;;
 --- 15,22 ----
       ( set $dir/*.mdd; test -f $1 ) || continue
       dosubs=false
       for mod in `echo '' $dir/*.mdd '' | sed 's, [^ ]*/, ,g;s,\.mdd , ,g'`; do
 ! 	case `echo "$mod@ $module_list " | sed 's,^.*[^_0-9A-Za-z].*@,@@,'` in
 ! 	    @@*)
   		echo >&2 "WARNING: illegally named module \`$mod' in $dir"
   		echo >&2 "         (ignoring it)"
   		;;

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: ascii

iQEVAwUBNL63c5mk9GeOHh7BAQHdCwf9HFbp/oUPdpK+CkvkVJVVp769rmVgsKvN
sfV0EVeFhU9Lplr5X4jBlNK3BZSv/Ny/cskGSEZGitoC4gWaACH1UEllqRc2nObG
IHQ80uKXoZYg/GE19dY90FMz9wP7s0runcZQdFHv0RyQI6CjR+5PDY+uk0Rppf8g
x6WdpM2XlYRraBudYW2M7J6jOknlSCWFYR0qRZwfMazxayKIjE9jeI4IXvWbpAir
MHKcFiPz4NL5ztKk8QMSOLPtN9VV/cGbF7WhN3fYb0qKwiAaEZhPPqSdXvTLw6Pp
6vz4cGHFpk1Scb4YT1IrFK0Mb+jHWyAW4k/ae6PnLITzxK/xVPHjBg==
=9ZvJ
-----END PGP SIGNATURE-----



Messages sorted by: Reverse Date, Date, Thread, Author