* ylwrap: Import from Automake 1.9.5. binutils/ * acinclude.m4: Remove obsolete code. * configure.in: Update AC_PREREQ. * doc/Makefile.am (binutils_TEXINFOS): Define. (config.texi): Depend on distributed files instead of built files. (binutils.dvi, binutils.info): Remove unnecessary rules. (DISTCLEANFILES): Remove. (install-data-local): Renamed from install. (info-local): Renamed from info. * Makefile.in, aclocal.m4, config.in, configure, doc/Makefile.in: Regenerated. gas/ * Makefile.am (m68k-parse.c, itbl-parse.c): Update ylwrap invocation. * Makefile.in: Regenerated. ld/ * Makefile.am (AM_MAKEINFOFLAGS): Define. (TEXI2DVI): Define. (ldver.texi): Depend on distributed files instead of built files. (ld.info): Include $(srcdir) in the rule target. Remove actions. (ld.dvi): Remove actions. (MAINTAINERCLEANFILES): Add configdoc.texi. (CONFIG_STATUS_DEPENDENCIES): Add bfd/configure.in. (install-data-local): Renamed from install. (Makefile): Remove explicit dependency. * acinclude.m4: Remove obsolete code. * configure.in: Update AC_PREREQ. Remove extra $CONFIG_SHELL. * Makefile.in, aclocal.m4, config.in, configure: Regenerated. gdb/ * Makefile.in (.y.c): Update ylwrap invocation.
This commit is contained in:
		
							parent
							
								
									90253b8276
								
							
						
					
					
						commit
						2c64ff5451
					
				|  | @ -1,3 +1,7 @@ | ||||||
|  | 2005-05-15  Daniel Jacobowitz  <dan@codesourcery.com> | ||||||
|  | 
 | ||||||
|  | 	* ylwrap: Import from Automake 1.9.5. | ||||||
|  | 
 | ||||||
| 2005-05-04  Mike Stump  <mrs@apple.com> | 2005-05-04  Mike Stump  <mrs@apple.com> | ||||||
| 
 | 
 | ||||||
| 	* configure.in: Always pass --target to target configures as | 	* configure.in: Always pass --target to target configures as | ||||||
|  |  | ||||||
							
								
								
									
										259
									
								
								ylwrap
								
								
								
								
							
							
						
						
									
										259
									
								
								ylwrap
								
								
								
								
							|  | @ -1,6 +1,11 @@ | ||||||
| #! /bin/sh | #! /bin/sh | ||||||
| # ylwrap - wrapper for lex/yacc invocations. | # ylwrap - wrapper for lex/yacc invocations. | ||||||
| # Copyright (C) 1996, 1997 Free Software Foundation, Inc. | 
 | ||||||
|  | scriptversion=2005-02-02.22 | ||||||
|  | 
 | ||||||
|  | # Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005 | ||||||
|  | #   Free Software Foundation, Inc. | ||||||
|  | # | ||||||
| # Written by Tom Tromey <tromey@cygnus.com>. | # Written by Tom Tromey <tromey@cygnus.com>. | ||||||
| # | # | ||||||
| # This program is free software; you can redistribute it and/or modify | # This program is free software; you can redistribute it and/or modify | ||||||
|  | @ -17,56 +22,81 @@ | ||||||
| # along with this program; if not, write to the Free Software | # along with this program; if not, write to the Free Software | ||||||
| # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||||
| 
 | 
 | ||||||
| # Usage: | # As a special exception to the GNU General Public License, if you | ||||||
| #     ylwrap PROGRAM INPUT [OUTPUT DESIRED]... -- [ARGS]... | # distribute this file as part of a program that contains a | ||||||
| # * PROGRAM is program to run. | # configuration script generated by Autoconf, you may include it under | ||||||
| # * INPUT is the input file | # the same distribution terms that you use for the rest of that program. | ||||||
| # * OUTPUT is file PROG generates | 
 | ||||||
| # * DESIRED is file we actually want | # This file is maintained in Automake, please report | ||||||
| # * ARGS are passed to PROG | # bugs to <bug-automake@gnu.org> or send patches to | ||||||
| # Any number of OUTPUT,DESIRED pairs may be used. | # <automake-patches@gnu.org>. | ||||||
|  | 
 | ||||||
|  | case "$1" in | ||||||
|  |   '') | ||||||
|  |     echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2 | ||||||
|  |     exit 1 | ||||||
|  |     ;; | ||||||
|  |   --basedir) | ||||||
|  |     basedir=$2 | ||||||
|  |     shift 2 | ||||||
|  |     ;; | ||||||
|  |   -h|--h*) | ||||||
|  |     cat <<\EOF | ||||||
|  | Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... | ||||||
|  | 
 | ||||||
|  | Wrapper for lex/yacc invocations, renaming files as desired. | ||||||
|  | 
 | ||||||
|  |   INPUT is the input file | ||||||
|  |   OUTPUT is one file PROG generates | ||||||
|  |   DESIRED is the file we actually want instead of OUTPUT | ||||||
|  |   PROGRAM is program to run | ||||||
|  |   ARGS are passed to PROG | ||||||
|  | 
 | ||||||
|  | Any number of OUTPUT,DESIRED pairs may be used. | ||||||
|  | 
 | ||||||
|  | Report bugs to <bug-automake@gnu.org>. | ||||||
|  | EOF | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  |   -v|--v*) | ||||||
|  |     echo "ylwrap $scriptversion" | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # The input. | ||||||
|  | input="$1" | ||||||
|  | shift | ||||||
|  | case "$input" in | ||||||
|  |   [\\/]* | ?:[\\/]*) | ||||||
|  |     # Absolute path; do nothing. | ||||||
|  |     ;; | ||||||
|  |   *) | ||||||
|  |     # Relative path.  Make it absolute. | ||||||
|  |     input="`pwd`/$input" | ||||||
|  |     ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | pairlist= | ||||||
|  | while test "$#" -ne 0; do | ||||||
|  |   if test "$1" = "--"; then | ||||||
|  |     shift | ||||||
|  |     break | ||||||
|  |   fi | ||||||
|  |   pairlist="$pairlist $1" | ||||||
|  |   shift | ||||||
|  | done | ||||||
| 
 | 
 | ||||||
| # The program to run. | # The program to run. | ||||||
| prog="$1" | prog="$1" | ||||||
| shift | shift | ||||||
| # Make any relative path in $prog absolute. | # Make any relative path in $prog absolute. | ||||||
| case "$prog" in | case "$prog" in | ||||||
|  /* | [A-Za-z]:\\*) ;; |   [\\/]* | ?:[\\/]*) ;; | ||||||
|  */*) prog="`pwd`/$prog" ;; |   *[\\/]*) prog="`pwd`/$prog" ;; | ||||||
| esac | 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. |  | ||||||
|     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 |  | ||||||
| 
 |  | ||||||
| pairlist= |  | ||||||
| while test "$#" -ne 0; do |  | ||||||
|    if test "$1" = "--"; then |  | ||||||
|       shift |  | ||||||
|       break |  | ||||||
|    fi |  | ||||||
|    pairlist="$pairlist $1" |  | ||||||
|    shift |  | ||||||
| done |  | ||||||
| 
 |  | ||||||
| # FIXME: add hostname here for parallel makes that run commands on | # FIXME: add hostname here for parallel makes that run commands on | ||||||
| # other machines.  But that might take us over the 14-char limit. | # other machines.  But that might take us over the 14-char limit. | ||||||
| dirname=ylwrap$$ | dirname=ylwrap$$ | ||||||
|  | @ -74,50 +104,119 @@ trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 | ||||||
| mkdir $dirname || exit 1 | mkdir $dirname || exit 1 | ||||||
| 
 | 
 | ||||||
| cd $dirname | 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=$? |  | ||||||
| 
 | 
 | ||||||
| if test $status -eq 0; then | case $# in | ||||||
|    set X $pairlist |   0) $prog "$input" ;; | ||||||
|    shift |   *) $prog "$@" "$input" ;; | ||||||
|    first=yes | esac | ||||||
|    while test "$#" -ne 0; do | ret=$? | ||||||
|       if test -f "$1"; then | 
 | ||||||
|          # If $2 is an absolute path name, then just use that, | if test $ret -eq 0; then | ||||||
|          # otherwise prepend `../'. |   set X $pairlist | ||||||
|          case "$2" in |   shift | ||||||
| 	   /* | [A-Za-z]:\\*) target="$2";; |   first=yes | ||||||
| 	   *) target="../$2";; |   # Since DOS filename conventions don't allow two dots, | ||||||
| 	 esac |   # the DOS version of Bison writes out y_tab.c instead of y.tab.c | ||||||
| 	 mv "$1" "$target" || status=$? |   # 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 | ||||||
|  | 
 | ||||||
|  |   # 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 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` | ||||||
|  | 
 | ||||||
|  |   while test "$#" -ne 0; do | ||||||
|  |     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 |       else | ||||||
| 	 # A missing file is only an error for the first file.  This |     	if test $from = "y.tab.h"; then | ||||||
| 	 # is a blatant hack to let us support using "yacc -d".  If -d |     	  from="y_tab.h" | ||||||
| 	 # is not specified, we don't want an error when the header |     	fi | ||||||
| 	 # file is "missing". |  | ||||||
| 	 if test $first = yes; then |  | ||||||
| 	    status=1 |  | ||||||
| 	 fi |  | ||||||
|       fi |       fi | ||||||
|       shift |     fi | ||||||
|       shift |     if test -f "$from"; then | ||||||
|       first=no |       # If $2 is an absolute path name, then just use that, | ||||||
|    done |       # otherwise prepend `../'. | ||||||
|  |       case "$2" in | ||||||
|  |     	[\\/]* | ?:[\\/]*) target="$2";; | ||||||
|  |     	*) target="../$2";; | ||||||
|  |       esac | ||||||
|  | 
 | ||||||
|  |       # We do not want to overwrite a header file if it hasn't | ||||||
|  |       # changed.  This avoid useless recompilations.  However the | ||||||
|  |       # parser itself (the first file) should always be updated, | ||||||
|  |       # because it is the destination of the .y.c rule in the | ||||||
|  |       # Makefile.  Divert the output of all other files to a temporary | ||||||
|  |       # file so we can compare them to existing versions. | ||||||
|  |       if test $first = no; then | ||||||
|  | 	realtarget="$target" | ||||||
|  | 	target="tmp-`echo $target | sed s/.*[\\/]//g`" | ||||||
|  |       fi | ||||||
|  |       # 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. | ||||||
|  |       # | ||||||
|  |       # We want to use the real output file name, not yy.lex.c for | ||||||
|  |       # instance. | ||||||
|  |       # | ||||||
|  |       # We want the include guards to be adjusted too. | ||||||
|  |       FROM=`echo "$from" | sed \ | ||||||
|  |             -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ | ||||||
|  |             -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` | ||||||
|  |       TARGET=`echo "$2" | sed \ | ||||||
|  |             -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ | ||||||
|  |             -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` | ||||||
|  | 
 | ||||||
|  |       sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ | ||||||
|  |           -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? | ||||||
|  | 
 | ||||||
|  |       # Check whether header files must be updated. | ||||||
|  |       if test $first = no; then | ||||||
|  | 	if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then | ||||||
|  | 	  echo "$2" is unchanged | ||||||
|  | 	  rm -f "$target" | ||||||
|  | 	else | ||||||
|  |           echo updating "$2" | ||||||
|  |           mv -f "$target" "$realtarget" | ||||||
|  |         fi | ||||||
|  |       fi | ||||||
|  |     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 | ||||||
|  |       # is not specified, we don't want an error when the header | ||||||
|  |       # file is "missing". | ||||||
|  |       if test $first = yes; then | ||||||
|  |         ret=1 | ||||||
|  |       fi | ||||||
|  |     fi | ||||||
|  |     shift | ||||||
|  |     shift | ||||||
|  |     first=no | ||||||
|  |   done | ||||||
| else | else | ||||||
|    status=$? |   ret=$? | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| # Remove the directory. | # Remove the directory. | ||||||
| cd .. | cd .. | ||||||
| rm -rf $dirname | rm -rf $dirname | ||||||
| 
 | 
 | ||||||
| exit $status | exit $ret | ||||||
|  | 
 | ||||||
|  | # Local Variables: | ||||||
|  | # mode: shell-script | ||||||
|  | # sh-indentation: 2 | ||||||
|  | # eval: (add-hook 'write-file-hooks 'time-stamp) | ||||||
|  | # time-stamp-start: "scriptversion=" | ||||||
|  | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||||||
|  | # time-stamp-end: "$" | ||||||
|  | # End: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue