[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnulib-tool nits
From: |
Ralf Wildenhues |
Subject: |
gnulib-tool nits |
Date: |
Fri, 22 Jun 2007 20:24:26 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Another rough pass over gnulib-tool's tendency to spawn more processes
than it needs to. OK to install?
Note the IFS initialization is needed because POSIX allows shells to
have it unset at script start, in which case field splitting is required
to work as if IFS was set properly, but it would break the IFS=$save_IFS
restoration done later. Some dash version present on older RedHat
systems exposed this issue.
Cheers,
Ralf
* gnulib-tool (IFS): Initialize early, so we don't set it to
empty later.
(self_abspathname): Rewrite algorithm to set it, reindent.
(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
(func_create_megatestdir): Merge some sed scripts.
Index: gnulib-tool
===================================================================
RCS file: /cvsroot/gnulib/gnulib/gnulib-tool,v
retrieving revision 1.234
diff -u -r1.234 gnulib-tool
--- gnulib-tool 22 Jun 2007 18:16:40 -0000 1.234
+++ gnulib-tool 22 Jun 2007 18:20:49 -0000
@@ -27,6 +27,7 @@
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
nl='
'
+IFS=" "" $nl"
# You can set AUTOCONFPATH to empty if autoconf 2.57 is already in your PATH.
AUTOCONFPATH=
@@ -739,16 +740,23 @@
case "$0" in
/*) self_abspathname="$0" ;;
*/*) self_abspathname=`pwd`/"$0" ;;
- *) for d in `echo ":$PATH:" | sed -e 's/:::*/:.:/g' | sed -e 's/:/ /g'`; do
- if test -x "$d/$0" && test ! -d "$d/$0"; then
- self_abspathname="$d/$0"
- break
- fi
- done
- if test -z "$self_abspathname"; then
- func_fatal_error "could not locate the gnulib-tool program - how did
you invoke it?"
- fi
- ;;
+ *)
+
+ save_IFS=$IFS
+ IFS=:
+ for d in $PATH; do
+ IFS=$save_IFS
+ test -z "$d" && d=.
+ if test -x "$d/$0" && test ! -d "$d/$0"; then
+ self_abspathname=$d/$0
+ break
+ fi
+ done
+ IFS=$save_IFS
+ if test -z "$self_abspathname"; then
+ func_fatal_error "could not locate the gnulib-tool program - how did you
invoke it?"
+ fi
+ ;;
esac
while test -h "$self_abspathname"; do
# Resolve symbolic link.
@@ -1256,12 +1264,12 @@
{
func_get_automake_snippet "$module" |
sed -e 's,lib_LIBRARIES,lib%_LIBRARIES,g' \
- -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' |
- sed -e "$sed_eliminate_LDFLAGS" |
- sed -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' |
- sed -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
- -e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g' |
- sed -e "$sed_transform_check_PROGRAMS"
+ -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' \
+ -e "$sed_eliminate_LDFLAGS" \
+ -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' \
+ -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
+ -e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g' \
+ -e "$sed_transform_check_PROGRAMS"
if test "$module" = 'alloca'; then
echo "${libname}_${libext}_LIBADD += @${perhapsLT}ALLOCA@"
echo "${libname}_${libext}_DEPENDENCIES += @${perhapsLT}ALLOCA@"
@@ -1401,12 +1409,12 @@
{
func_get_automake_snippet "$module" |
sed -e 's,lib_LIBRARIES,lib%_LIBRARIES,g' \
- -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' |
- sed -e "$sed_eliminate_LDFLAGS" |
- sed -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' |
- sed -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
- -e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g' |
- sed -e "$sed_transform_check_PROGRAMS"
+ -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' \
+ -e "$sed_eliminate_LDFLAGS" \
+ -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' \
+ -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
+ -e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g' \
+ -e "$sed_transform_check_PROGRAMS"
} > amsnippet.tmp
# Skip the contents if its entirely empty.
if grep '[^ ]' amsnippet.tmp > /dev/null ; then
@@ -2901,8 +2909,8 @@
-e 's,October,10,' -e 's,Oct,10,' \
-e 's,November,11,' -e 's,Nov,11,' \
-e 's,December,12,' -e 's,Dec,12,' \
- | sed -e 's,^,00,' | sed -e 's,^[0-9]*\([0-9][0-9] \),\1,' \
- | sed -e 's,^\([0-9]*\) \([0-9]*\) \([0-9]*\),\3\2\1,'`
+ -e 's,^,00,' -e 's,^[0-9]*\([0-9][0-9] \),\1,' \
+ -e 's,^\([0-9]*\) \([0-9]*\) \([0-9]*\),\3\2\1,'`
(echo '#!/bin/sh'
echo "CVSDATE=$cvsdate"
echo "test -d logs || mkdir logs"
- gnulib-tool nits,
Ralf Wildenhues <=
Re: gnulib-tool nits, Paul Eggert, 2007/06/26