2007-01-08 Bruno Haible <bruno@clisp.org>
[gnulib.git] / gnulib-tool
index 4c9d863..7b1d9ce 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 2002-2006 Free Software Foundation, Inc.
+# Copyright (C) 2002-2007 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
 
 progname=$0
 package=gnulib
-cvsdatestamp='$Date: 2006-12-11 18:19:59 $'
+cvsdatestamp='$Date: 2007-01-08 19:20:07 $'
 last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
 version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
 nl='
@@ -66,10 +66,13 @@ if test -z "${AUTOPOINT}" || test -n "${GETTEXTPATH}"; then
   AUTOPOINT="${GETTEXTPATH}autopoint"
 fi
 
-# GNU sort is needed. Set SORT to its location (not needed if it's called
-# 'sort' and already in the PATH).
-if test -z "$SORT"; then
-  SORT=sort
+# When using GNU sed, turn off as many GNU extensions as possible,
+# to minimize the risk of accidentally using non-portable features.
+# However, do this only for gnulib-tool itself, not for the code that
+# gnulib-tool generates, since we don't want "sed --posix" to leak
+# into makefiles.
+if (alias) > /dev/null 2>&1 && echo | sed --posix d >/dev/null 2>&1; then
+  alias sed='sed --posix'
 fi
 
 # func_usage
@@ -182,7 +185,7 @@ Written by" "Bruno Haible" "and" "Simon Josefsson"
 # outputs to stdout a header for a generated file.
 func_emit_copyright_notice ()
 {
-  echo "# Copyright (C) 2004-2006 Free Software Foundation, Inc."
+  echo "# Copyright (C) 2004-2007 Free Software Foundation, Inc."
   echo "#"
   echo "# This file is free software, distributed under the terms of the GNU"
   echo "# General Public License.  As a special exception to the GNU General"
@@ -690,11 +693,14 @@ func_ln_if_changed ()
       s,^dnl .*$,,
       s, dnl .*$,,
       /AC_PREREQ/ {
-        s,^.*AC_PREREQ([[ ]*\([^])]*\).*$,prereqs="$prereqs \1",p
+        s,^.*AC_PREREQ([[ ]*\([^])]*\).*$,\1,p
       }'
-    eval `sed -n -e "$my_sed_traces" < "$configure_ac"`
+    prereqs=`sed -n -e "$my_sed_traces" < "$configure_ac"`
     if test -n "$prereqs"; then
-      autoconf_minversion=`for version in $prereqs; do echo $version; done | $SORT -g -u | tail -1`
+      autoconf_minversion=`
+        for version in $prereqs; do echo $version; done |
+        LC_ALL=C sort -nru | sed 1q
+      `
     fi
   fi
   if test -z "$autoconf_minversion"; then
@@ -902,6 +908,7 @@ func_get_filelist ()
 {
   func_lookup_file "modules/$1"
   sed -n -e "/^Files$sed_extract_prog" < "$lookedup_file"
+  echo m4/gnulib-common.m4
   case "$autoconf_minversion" in
     2.59)
       #echo m4/onceonly.m4
@@ -951,7 +958,7 @@ func_get_automake_snippet ()
         s/\\$/\\/
         ta
       }'
-      sed_extract_mentioned_files='s/^lib_SOURCES[     ]*+=[   ]*//p'
+      sed_extract_mentioned_files='s/^lib_SOURCES[      ]*+=[   ]*//p'
       already_mentioned_files=` \
         sed -n -e "/^Makefile\.am$sed_extract_prog" < "$lookedup_file" \
         | sed -e "$sed_combine_lines" \
@@ -2501,6 +2508,10 @@ func_create_testdir ()
    echo "AC_PROG_INSTALL"
    echo "AC_PROG_MAKE_SET"
    echo
+   echo "# For autobuild."
+   echo "AC_CANONICAL_BUILD"
+   echo "AC_CANONICAL_HOST"
+   echo
    echo "m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace"
    echo "m4_pattern_allow([^gl_ES\$])dnl a valid locale name"
    echo "m4_pattern_allow([^gl_LIBOBJS\$])dnl a variable"