From: Bruno Haible Date: Wed, 24 Oct 2001 09:13:30 +0000 (+0000) Subject: Upgrade to automake-1.5. X-Git-Tag: v0.11~425 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=996f2c622380c19300f65a402e27ea31c976aead;p=thirdparty%2Fgettext.git Upgrade to automake-1.5. --- diff --git a/ChangeLog b/ChangeLog index 450111dee..d207a8f6e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2001-09-25 Bruno Haible + + Upgrade to automake-1.5. + * aclocal.sh: Remove file. + * Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'. + (EXTRA_DIST): Remove aclocal.sh. + * configure.in: Add some postprocessing to lib/Makefile, src/Makefile, + tests/Makefile. + * missing: Upgrade to automake-1.5. + * ylwrap: New file, from automake-1.5. + 2001-09-23 Bruno Haible * configure.in: Call gt_SIGINFO. diff --git a/Makefile.am b/Makefile.am index f42c3e27f..bcd747bfa 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,8 +17,7 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.4 gnu -ACLOCAL = ./aclocal.sh @ACLOCAL@ +AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies ACLOCAL_AMFLAGS = -I m4 gettextsrcdir = $(datadir)/gettext @@ -26,7 +25,7 @@ gettextsrc_DATA = ABOUT-NLS SUBDIRS = doc intl intl-java lib src po man m4 misc tests -EXTRA_DIST = BUGS DISCLAIM README.gemtext aclocal.sh \ +EXTRA_DIST = BUGS DISCLAIM README.gemtext \ djgpp/Makefile.maint djgpp/README.in djgpp/README \ djgpp/config.bat djgpp/config.in djgpp/config.sed \ djgpp/config.site djgpp/edtests.bat djgpp/fnchange.in \ diff --git a/aclocal.sh b/aclocal.sh deleted file mode 100755 index 03585c8e1..000000000 --- a/aclocal.sh +++ /dev/null @@ -1,100 +0,0 @@ -#! /bin/sh - -# This script is a work-alike of `aclocal' contained in the GNU automake -# package. It is needed because our aclocal.m4 must be generated from the -# non-gettext .m4 files in /usr/share/aclocal and from the gettext specific -# .m4 files in the local m4 directory. -# With "aclocal --acdir=m4" -# we get an error: macro `AM_INIT_AUTOMAKE' not found in library -# With "aclocal -I m4" -# we get an error: duplicated macro `AM_GNU_GETTEXT' -# The solution is to put all the .m4 files into a temporary directory. - -# 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 -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -set -e - -if test $# = 0; then - echo "Usage: $0 aclocal-program [aclocal-options]" 1>&2 - exit 1 -fi - -# The command line is of the form -# /somepath/aclocal ... -# or -# /somepath/missing aclocal ... -# or -# /bin/sh /somepath/missing aclocal ... -# or -# /bin/sh /somepath/missing aclocal --run ... -# Extract the first part. -ACLOCAL="$1" -shift -ACLOCAL2= -ACLOCAL3= -case "$ACLOCAL" in - *sh) - ACLOCAL="$1" - shift - ;; -esac -case "$ACLOCAL" in - *missing) - ACLOCAL2="$1" - shift - case "$1" in - --run) - ACLOCAL3="$1" - shift - ;; - esac - ;; -esac - -# Prepare temporary directory. -mkdir aclocal.tmp -trap "rm -rf aclocal.tmp; exit 1" 1 2 15 - -# First, copy the standard m4 files. -for f in `"$ACLOCAL" $ACLOCAL2 $ACLOCAL3 --print-ac-dir`/*.m4; do - cp $f aclocal.tmp -done - -# Then, copy the contents of any -I directories, overriding previously -# copied files of the same name. -options="" -last_was_I=no -for arg -do - if test $last_was_I = yes; then - for f in "$arg"/*.m4; do - cp $f aclocal.tmp - done - last_was_I=no - else - case "$arg" in - -I) last_was_I=yes;; - *) last_was_I=no options="$options $arg";; - esac - fi -done - -# Now call `aclocal' for real. -"$ACLOCAL" $ACLOCAL2 $ACLOCAL3 --acdir=aclocal.tmp $options - -# Clean up temporary directory. -rm -rf aclocal.tmp - diff --git a/configure.in b/configure.in index 124a28a17..0fd11eeea 100644 --- a/configure.in +++ b/configure.in @@ -127,4 +127,12 @@ AC_OUTPUT([Makefile \ doc/Makefile man/Makefile man/x-to-1 \ tests/Makefile \ m4/Makefile \ - misc/Makefile misc/gettextize]) + misc/Makefile misc/gettextize], [ + dnl Fix unesthetic build commands generated by automake. +changequote(,)dnl + for m in lib/Makefile src/Makefile tests/Makefile; do + sed -e "s,\`test -f \\\$< || echo '\\\$(srcdir)/'\`\\\$<,\\\$<," < $m > $m.tmp + mv $m.tmp $m + done +changequote([, ])dnl +]) diff --git a/lib/ChangeLog b/lib/ChangeLog index 0b86420b2..ce99523af 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2001-09-25 Bruno Haible + + Upgrade to automake-1.5. + * Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'. + 2001-10-20 Bruno Haible Assume strchr() exists. diff --git a/lib/Makefile.am b/lib/Makefile.am index 324a20aac..92d8ffa56 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -17,7 +17,7 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.2 gnits +AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies noinst_LIBRARIES = libnlsut.a diff --git a/misc/ChangeLog b/misc/ChangeLog index 64cda748a..3f4bd8099 100644 --- a/misc/ChangeLog +++ b/misc/ChangeLog @@ -1,3 +1,8 @@ +2001-09-25 Bruno Haible + + Upgrade to automake-1.5. + * automake.diff: Remove file. + 2001-09-08 Bruno Haible * gettextize.in: Don't copy installed jar files. diff --git a/misc/automake.diff b/misc/automake.diff deleted file mode 100644 index f7aaaf36f..000000000 --- a/misc/automake.diff +++ /dev/null @@ -1,20 +0,0 @@ -*** automake.bak Thu Jul 26 13:12:18 2001 ---- automake Thu Jul 26 13:17:36 2001 -*************** -*** 3362,3368 **** - } - else - { -! &am_error ("AM_GNU_GETTEXT in \`$configure_ac' but \`ALL_LINGUAS' not defined"); - } - } - ---- 3362,3369 ---- - } - else - { -! &am_error ("AM_GNU_GETTEXT in \`$configure_ac' but po/LINGUAS doesn't exist and \`ALL_LINGUAS' not defined") -! if ! -f "po/LINGUAS"; - } - } - diff --git a/missing b/missing index c60e9d772..0a7fb5a2a 100755 --- a/missing +++ b/missing @@ -1,6 +1,6 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -# Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. +# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -18,6 +18,11 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 @@ -25,6 +30,14 @@ fi run=: +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + case "$1" in --run) # Try to run requested program, and just exit if it succeeds. @@ -57,6 +70,7 @@ Supported PROGRAM values: automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags @@ -64,7 +78,7 @@ Supported PROGRAM values: ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.2 - GNU automake" + echo "missing 0.3 - GNU automake" ;; -*) @@ -76,7 +90,7 @@ Supported PROGRAM values: aclocal) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`configure.in'. You might want + you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 @@ -85,7 +99,7 @@ WARNING: \`$1' is missing on your system. You should only need it if autoconf) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if - you modified \`configure.in'. You might want to install the + you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure @@ -94,10 +108,10 @@ WARNING: \`$1' is missing on your system. You should only need it if autoheader) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`configure.in'. You might want + you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in` + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do @@ -113,7 +127,7 @@ WARNING: \`$1' is missing on your system. You should only need it if automake) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | @@ -174,7 +188,32 @@ WARNING: \`$1' is missing on your system. You should only need it if fi ;; + help2man) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file diff --git a/src/ChangeLog b/src/ChangeLog index 2cbd5234e..816c378ae 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2001-09-25 Bruno Haible + + Upgrade to automake-1.5. + * Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'. + * ylwrap: Remove file. + 2001-09-22 Bruno Haible * xgettext.c (extractor_func): New typedef. diff --git a/src/Makefile.am b/src/Makefile.am index 3165737d3..82fd2efb4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,7 +17,7 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.2 gnits +AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies bin_PROGRAMS = gettext ngettext \ msgcmp msgfmt msgmerge msgunfmt xgettext \ diff --git a/tests/ChangeLog b/tests/ChangeLog index f649d2a62..f1a00318d 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2001-09-25 Bruno Haible + + Upgrade to automake-1.5. + * Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'. + 2001-09-23 Bruno Haible * msgfmt-6: New file. diff --git a/tests/Makefile.am b/tests/Makefile.am index cd2507c76..f2b9bf8de 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -17,7 +17,7 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.2 gnits +AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies TESTS = gettext-1 gettext-2 \ msgcat-1 \ diff --git a/src/ylwrap b/ylwrap similarity index 57% rename from src/ylwrap rename to ylwrap index 13fc38d75..5ea68e4fc 100755 --- a/src/ylwrap +++ b/ylwrap @@ -1,6 +1,6 @@ #! /bin/sh # ylwrap - wrapper for lex/yacc invocations. -# Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,45 +17,40 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + # Usage: -# ylwrap PROGRAM INPUT [OUTPUT DESIRED]... -- [ARGS]... -# * PROGRAM is program to run. +# ylwrap INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... # * INPUT is the input file # * OUTPUT is file PROG generates # * DESIRED is file we actually want +# * PROGRAM is program to run # * ARGS are passed to PROG # Any number of OUTPUT,DESIRED pairs may be used. -# The program to run. -prog="$1" -shift -# Make any relative path in $prog absolute. -case "$prog" in - /* | [A-Za-z]:\\*) ;; - */*) prog="`pwd`/$prog" ;; -esac - # The input. input="$1" shift case "$input" in - /* | [A-Za-z]:\\*) + [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) - # Relative path. Make it absolute. Why? Because otherwise any - # debugging info in the generated file will point to the wrong - # place. This is really gross. + # Relative path. Make it absolute. input="`pwd`/$input" ;; esac -# We don't want to use the absolute path if the input in the current -# directory like when making a tar ball. -input_base=`echo $input | sed -e 's|.*/||'` -if test -f $input_base && cmp $input_base $input >/dev/null 2>&1; then - input=$input_base -fi +# The directory holding the input. +input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` +# Quote $INPUT_DIR so we can use it in a regexp. +# FIXME: really we should care about more than `.' and `\'. +input_rx=`echo "$input_dir" | sed -e 's,\\\\,\\\\\\\\,g' -e 's,\\.,\\\\.,g'` + +echo "got $input_rx" pairlist= while test "$#" -ne 0; do @@ -67,6 +62,15 @@ while test "$#" -ne 0; do shift done +# The program to run. +prog="$1" +shift +# Make any relative path in $prog absolute. +case "$prog" in + [\\/]* | ?:[\\/]*) ;; + *[\\/]*) prog="`pwd`/$prog" ;; +esac + # FIXME: add hostname here for parallel makes that run commands on # other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ @@ -74,15 +78,7 @@ trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 mkdir $dirname || exit 1 cd $dirname -case "$input" in - /* | [A-Za-z]:\\*) - # Absolute path; do nothing. - ;; - *) - # Make a symbolic link, hard link or hardcopy. - ln -s ../"$input" . > /dev/null 2>&1 || ln ../"$input" . > /dev/null 2>&1 || cp ../"$input" . - ;; -esac + $prog ${1+"$@"} "$input" status=$? @@ -90,15 +86,39 @@ if test $status -eq 0; then set X $pairlist shift first=yes + # Since DOS filename conventions don't allow two dots, + # the DOS version of Bison writes out y_tab.c instead of y.tab.c + # and y_tab.h instead of y.tab.h. Test to see if this is the case. + y_tab_nodot="no" + if test -f y_tab.c || test -f y_tab.h; then + y_tab_nodot="yes" + fi + while test "$#" -ne 0; do - if test -f "$1"; then + from="$1" + # Handle y_tab.c and y_tab.h output by DOS + if test $y_tab_nodot = "yes"; then + if test $from = "y.tab.c"; then + from="y_tab.c" + else + if test $from = "y.tab.h"; then + from="y_tab.h" + fi + fi + fi + if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend `../'. case "$2" in - /* | [A-Za-z]:\\*) target="$2";; + [\\/]* | ?:[\\/]*) target="$2";; *) target="../$2";; esac - mv "$1" "$target" || status=$? + + # Edit out `#line' or `#' directives. We don't want the + # resulting debug information to point at an absolute srcdir; + # it is better for it to just mention the .y file with no + # path. + sed -e "/^#/ s,$input_rx,," "$from" > "$target" || status=$? else # A missing file is only an error for the first file. This # is a blatant hack to let us support using "yacc -d". If -d