progname=$0
package=gnulib
-cvsdatestamp='$Date: 2006-07-29 15:56:45 $'
+cvsdatestamp='$Date: 2006-08-10 15:05:20 $'
last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
--lgpl Abort if modules aren't available under the LGPL.
Also modify license template from GPL to LGPL.
--libtool Use libtool rules.
+ --no-libtool Don't use libtool rules.
--macro-prefix=PREFIX Specify the prefix of the macros 'gl_EARLY' and
'gl_INIT'. Default is 'gl'.
--no-changelog don't update or create ChangeLog files
# - inctests true if --with-tests was given, blank otherwise
# - avoidlist list of modules to avoid, from --avoid
# - lgpl true if --lgpl was given, blank otherwise
-# - libtool true if --libtool was given, blank otherwise
+# - libtool true if --libtool was given, false if --no-libtool was
+# given, blank otherwise
# - macro_prefix from --macro-prefix
# - autoconf_minversion minimum supported autoconf version
# - do_changelog false if --no-changelog was given, : otherwise
lgpl=
libtool=
macro_prefix=
- autoconf_minversion=
do_changelog=:
doit=:
local_gnulib_dir=
--libtool )
libtool=true
shift ;;
+ --no-libtool )
+ libtool=false
+ shift ;;
--macro-prefix )
shift
if test $# = 0; then
# Determine the minimum supported autoconf version from the project's
# configure.ac.
DEFAULT_AUTOCONF_MINVERSION="2.59"
- if test -f configure.ac; then
- autoconf_minversion=`$AUTOCONF --trace=AC_PREREQ:'$1' | $SORT -g | uniq | tail -1`
+ autoconf_minversion=
+ configure_ac=
+ if { test "$mode" = import || test "$mode" = update; } && test -n "$destdir"; then
+ if test -f "$destdir"/configure.ac; then
+ configure_ac="$destdir/configure.ac"
+ else
+ if test -f "$destdir"/configure.in; then
+ configure_ac="$destdir/configure.in"
+ fi
+ fi
+ else
+ if test -f configure.ac; then
+ configure_ac="configure.ac"
+ else
+ if test -f configure.in; then
+ configure_ac="configure.in"
+ fi
+ fi
+ fi
+ if test -n "$configure_ac"; then
+ # Use sed, not autoconf --trace, to look for the AC_PREREQ invocation,
+ # because when some m4 files are omitted from a CVS repository,
+ # "autoconf --trace=AC_PREREQ" fails with an error message like this:
+ # m4: aclocal.m4:851: Cannot open m4/absolute-header.m4: No such file or directory
+ # autom4te: m4 failed with exit status: 1
+ prereqs=
+ my_sed_traces='
+ s,#.*$,,
+ s,^dnl .*$,,
+ s, dnl .*$,,
+ /AC_PREREQ/ {
+ s,^.*AC_PREREQ([[ ]*\([^])]*\).*$,prereqs="$prereqs \1",p
+ }'
+ eval `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 | uniq | tail -1`
+ fi
fi
if test -z "$autoconf_minversion"; then
autoconf_minversion=$DEFAULT_AUTOCONF_MINVERSION
# Input:
# - modules list of modules, including dependencies
# - libname library name
-# - libtool true if libtool will be used, blank otherwise
+# - libtool true if libtool will be used, false or blank otherwise
# - actioncmd (optional) command that will reproduce this invocation
func_emit_lib_Makefile_am ()
{
- if test -n "$libtool"; then
+ if test "$libtool" = true; then
libext=la
perhapsLT=LT
else
echo "${libname}_${libext}_SOURCES ="
echo "${libname}_${libext}_LIBADD = @${perhapsLT}LIBOBJS@"
echo "noinst_HEADERS ="
+ echo "pkgdata_DATA ="
echo "EXTRA_DIST ="
echo "BUILT_SOURCES ="
echo "SUFFIXES ="
- echo "MOSTLYCLEANFILES ="
+ echo "MOSTLYCLEANFILES = core *.stackdump"
echo "MOSTLYCLEANDIRS ="
echo "CLEANFILES ="
echo "DISTCLEANFILES ="
fi
done
echo
- echo "mostlyclean-local:"
+ echo "mostlyclean-local: mostlyclean-generic"
echo " @test -z \"\$(MOSTLYCLEANDIRS)\" || \\"
echo " for dir in \$(MOSTLYCLEANDIRS); do \\"
echo " if test -d \$\$dir; then \\"
# Input:
# - modules list of modules, including dependencies
# - libname library name
-# - libtool true if libtool will be used, blank otherwise
+# - libtool true if libtool will be used, false or blank otherwise
# - sourcebase relative directory containing lib source code
# - m4base relative directory containing autoconf macros
# - testsbase relative directory containing unit test code
func_emit_tests_Makefile_am ()
{
- if test -n "$libtool"; then
+ if test "$libtool" = true; then
libext=la
else
libext=a
echo "noinst_PROGRAMS ="
echo "check_PROGRAMS ="
echo "noinst_HEADERS ="
+ echo "pkgdata_DATA ="
echo "EXTRA_DIST ="
echo "BUILT_SOURCES ="
echo "SUFFIXES ="
- echo "MOSTLYCLEANFILES ="
+ echo "MOSTLYCLEANFILES = core *.stackdump"
echo "MOSTLYCLEANDIRS ="
echo "CLEANFILES ="
echo "DISTCLEANFILES ="
echo "clean-local:"
echo " rm -rf SunWS_cache"
echo
- echo "mostlyclean-local:"
+ echo "mostlyclean-local: mostlyclean-generic"
echo " @test -z \"\$(MOSTLYCLEANDIRS)\" || \\"
echo " for dir in \$(MOSTLYCLEANDIRS); do \\"
echo " if test -d \$\$dir; then \\"
# - inctests true if --with-tests was given, blank otherwise
# - avoidlist list of modules to avoid, from --avoid
# - lgpl true if library's license shall be LGPL, blank otherwise
-# - libtool true if libtool will be used, blank otherwise
-# - guessed_libtool true if the configure.ac file uses libtool, blank otherwise
+# - libtool true if --libtool was given, false if --no-libtool was
+# given, blank otherwise
+# - guessed_libtool true if the configure.ac file uses libtool, false otherwise
# - macro_prefix prefix of gl_EARLY, gl_INIT macros to use
# - autoconf_minversion minimum supported autoconf version
# - doit : if actions shall be executed, false if only to be printed
cached_macro_prefix=
cached_files=
if test -f "$destdir"/$m4base/gnulib-cache.m4; then
+ cached_libtool=false
my_sed_traces='
s,#.*$,,
s,^dnl .*$,,
if test -n "$lgpl"; then
actioncmd="$actioncmd --lgpl"
fi
- if test -n "$libtool"; then
+ if test "$libtool" = true; then
actioncmd="$actioncmd --libtool"
+ else
+ actioncmd="$actioncmd --no-libtool"
fi
actioncmd="$actioncmd --macro-prefix=$macro_prefix"
actioncmd="$actioncmd `echo $specified_modules`"
echo "gl_TESTS_BASE([$testsbase])"
echo "gl_LIB([$libname])"
test -z "$lgpl" || echo "gl_LGPL"
- test -z "$libtool" || echo "gl_LIBTOOL"
+ if test "$libtool" = true; then
+ echo "gl_LIBTOOL"
+ fi
echo "gl_MACRO_PREFIX([$macro_prefix])"
) > "$tmpfile"
if test -f "$destdir"/$m4base/gnulib-cache.m4; then
echo "# any checks for libraries, header files, types and library functions."
echo "AC_DEFUN([${macro_prefix}_EARLY],"
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 " AC_REQUIRE([AC_PROG_RANLIB])"
if grep AC_GNU_SOURCE "$destdir"/$m4base/*.m4 >/dev/null 2>/dev/null; then
echo " AC_REQUIRE([AC_GNU_SOURCE])"
echo "# \"Check for header files, types and library functions\"."
echo "AC_DEFUN([${macro_prefix}_INIT],"
echo "["
- if test -z "$libtool"; then
- echo " AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
- else
+ if test "$libtool" = true; then
echo " AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+ else
+ echo " AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
fi
if test "$auxdir" != "build-aux"; then
sed_replace_build_aux='
| sed -e '/^$/d;' -e 's/^/ /' \
-e 's/AM_GNU_GETTEXT(\[external\])/dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac./' \
-e "$sed_replace_build_aux"
- if test "$module" = 'alloca' && test -n "$libtool"; then
+ if test "$module" = 'alloca' && test "$libtool" = true; then
echo 'changequote(,)dnl'
echo 'LTALLOCA=`echo "$ALLOCA" | sed '"'"'s/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'"'"'`'
echo 'changequote([, ])dnl'
echo "gl_LOCK"
echo
fi
- if test -z "$libtool"; then
- echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
- else
+ if test "$libtool" = true; then
echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+ else
+ echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
fi
+ # Wrap the set of autoconf snippets into an autoconf macro that is then
+ # invoked. This is needed because autoconf does not support AC_REQUIRE
+ # at the top level:
+ # error: AC_REQUIRE(gt_CSHARPCOMP): cannot be used outside of an AC_DEFUN'd macro
+ # but we want the AC_REQUIRE to have its normal meaning (provide one
+ # expansion of the required macro before the current point, and only one
+ # expansion total).
+ echo "AC_DEFUN([gl_INIT], ["
if test "$auxdir" != "build-aux"; then
sed_replace_build_aux='
:a
| sed -e "$sed_replace_build_aux"
fi
done
+ echo "])"
+ echo "gl_INIT"
echo
# Usually tests/config.h will be a superset of config.h. Verify this by
# "merging" config.h into tests/config.h; look out for gcc warnings.
echo "AC_PROG_CC"
echo "AC_PROG_INSTALL"
echo "AC_PROG_MAKE_SET"
+ 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
echo "AC_PROG_RANLIB"
echo
if grep AC_GNU_SOURCE "$testdir"/m4/*.m4 >/dev/null 2>/dev/null; then
echo "gl_LOCK"
echo
fi
- if test -z "$libtool"; then
- echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
- else
+ if test "$libtool" = true; then
echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+ else
+ echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
fi
+ # Wrap the set of autoconf snippets into an autoconf macro that is then
+ # invoked. This is needed because autoconf does not support AC_REQUIRE
+ # at the top level:
+ # error: AC_REQUIRE(gt_CSHARPCOMP): cannot be used outside of an AC_DEFUN'd macro
+ # but we want the AC_REQUIRE to have its normal meaning (provide one
+ # expansion of the required macro before the current point, and only one
+ # expansion total).
+ echo "AC_DEFUN([gl_INIT], ["
if test "$auxdir" != "build-aux"; then
sed_replace_build_aux='
:a
| sed -e "$sed_replace_build_aux"
fi
done
+ echo "])"
+ echo "gl_INIT"
echo
if test -n "$subdirs_with_configure_ac"; then
echo "AC_CONFIG_SUBDIRS(["`echo $subdirs_with_configure_ac`"])"
# Analyze configure.ac.
guessed_auxdir="."
- guessed_libtool=
+ guessed_libtool=false
my_sed_traces='
s,#.*$,,
s,^dnl .*$,,