reorganized h2
This commit is contained in:
		
							
								
								
									
										271
									
								
								ac/ar-lib
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										271
									
								
								ac/ar-lib
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,271 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Wrapper for Microsoft lib.exe
 | 
			
		||||
 | 
			
		||||
me=ar-lib
 | 
			
		||||
scriptversion=2019-07-04.01; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2010-2020 Free Software Foundation, Inc.
 | 
			
		||||
# Written by Peter Rosin <peda@lysator.liu.se>.
 | 
			
		||||
#
 | 
			
		||||
# 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, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
 | 
			
		||||
# This file is maintained in Automake, please report
 | 
			
		||||
# bugs to <bug-automake@gnu.org> or send patches to
 | 
			
		||||
# <automake-patches@gnu.org>.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# func_error message
 | 
			
		||||
func_error ()
 | 
			
		||||
{
 | 
			
		||||
  echo "$me: $1" 1>&2
 | 
			
		||||
  exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
file_conv=
 | 
			
		||||
 | 
			
		||||
# func_file_conv build_file
 | 
			
		||||
# Convert a $build file to $host form and store it in $file
 | 
			
		||||
# Currently only supports Windows hosts.
 | 
			
		||||
func_file_conv ()
 | 
			
		||||
{
 | 
			
		||||
  file=$1
 | 
			
		||||
  case $file in
 | 
			
		||||
    / | /[!/]*) # absolute file, and not a UNC file
 | 
			
		||||
      if test -z "$file_conv"; then
 | 
			
		||||
	# lazily determine how to convert abs files
 | 
			
		||||
	case `uname -s` in
 | 
			
		||||
	  MINGW*)
 | 
			
		||||
	    file_conv=mingw
 | 
			
		||||
	    ;;
 | 
			
		||||
	  CYGWIN* | MSYS*)
 | 
			
		||||
	    file_conv=cygwin
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    file_conv=wine
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
      fi
 | 
			
		||||
      case $file_conv in
 | 
			
		||||
	mingw)
 | 
			
		||||
	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
 | 
			
		||||
	  ;;
 | 
			
		||||
	cygwin | msys)
 | 
			
		||||
	  file=`cygpath -m "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
	wine)
 | 
			
		||||
	  file=`winepath -w "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_at_file at_file operation archive
 | 
			
		||||
# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
 | 
			
		||||
# for each of them.
 | 
			
		||||
# When interpreting the content of the @FILE, do NOT use func_file_conv,
 | 
			
		||||
# since the user would need to supply preconverted file names to
 | 
			
		||||
# binutils ar, at least for MinGW.
 | 
			
		||||
func_at_file ()
 | 
			
		||||
{
 | 
			
		||||
  operation=$2
 | 
			
		||||
  archive=$3
 | 
			
		||||
  at_file_contents=`cat "$1"`
 | 
			
		||||
  eval set x "$at_file_contents"
 | 
			
		||||
  shift
 | 
			
		||||
 | 
			
		||||
  for member
 | 
			
		||||
  do
 | 
			
		||||
    $AR -NOLOGO $operation:"$member" "$archive" || exit $?
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
     func_error "no command.  Try '$0 --help' for more information."
 | 
			
		||||
     ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<EOF
 | 
			
		||||
Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
 | 
			
		||||
 | 
			
		||||
Members may be specified in a file named with @FILE.
 | 
			
		||||
EOF
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  -v | --v*)
 | 
			
		||||
    echo "$me, version $scriptversion"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if test $# -lt 3; then
 | 
			
		||||
  func_error "you must specify a program, an action and an archive"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AR=$1
 | 
			
		||||
shift
 | 
			
		||||
while :
 | 
			
		||||
do
 | 
			
		||||
  if test $# -lt 2; then
 | 
			
		||||
    func_error "you must specify a program, an action and an archive"
 | 
			
		||||
  fi
 | 
			
		||||
  case $1 in
 | 
			
		||||
    -lib | -LIB \
 | 
			
		||||
    | -ltcg | -LTCG \
 | 
			
		||||
    | -machine* | -MACHINE* \
 | 
			
		||||
    | -subsystem* | -SUBSYSTEM* \
 | 
			
		||||
    | -verbose | -VERBOSE \
 | 
			
		||||
    | -wx* | -WX* )
 | 
			
		||||
      AR="$AR $1"
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      action=$1
 | 
			
		||||
      shift
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
done
 | 
			
		||||
orig_archive=$1
 | 
			
		||||
shift
 | 
			
		||||
func_file_conv "$orig_archive"
 | 
			
		||||
archive=$file
 | 
			
		||||
 | 
			
		||||
# strip leading dash in $action
 | 
			
		||||
action=${action#-}
 | 
			
		||||
 | 
			
		||||
delete=
 | 
			
		||||
extract=
 | 
			
		||||
list=
 | 
			
		||||
quick=
 | 
			
		||||
replace=
 | 
			
		||||
index=
 | 
			
		||||
create=
 | 
			
		||||
 | 
			
		||||
while test -n "$action"
 | 
			
		||||
do
 | 
			
		||||
  case $action in
 | 
			
		||||
    d*) delete=yes  ;;
 | 
			
		||||
    x*) extract=yes ;;
 | 
			
		||||
    t*) list=yes    ;;
 | 
			
		||||
    q*) quick=yes   ;;
 | 
			
		||||
    r*) replace=yes ;;
 | 
			
		||||
    s*) index=yes   ;;
 | 
			
		||||
    S*)             ;; # the index is always updated implicitly
 | 
			
		||||
    c*) create=yes  ;;
 | 
			
		||||
    u*)             ;; # TODO: don't ignore the update modifier
 | 
			
		||||
    v*)             ;; # TODO: don't ignore the verbose modifier
 | 
			
		||||
    *)
 | 
			
		||||
      func_error "unknown action specified"
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  action=${action#?}
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
case $delete$extract$list$quick$replace,$index in
 | 
			
		||||
  yes,* | ,yes)
 | 
			
		||||
    ;;
 | 
			
		||||
  yesyes*)
 | 
			
		||||
    func_error "more than one action specified"
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    func_error "no action specified"
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if test -n "$delete"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    func_error "archive not found"
 | 
			
		||||
  fi
 | 
			
		||||
  for member
 | 
			
		||||
  do
 | 
			
		||||
    case $1 in
 | 
			
		||||
      @*)
 | 
			
		||||
        func_at_file "${1#@}" -REMOVE "$archive"
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        func_file_conv "$1"
 | 
			
		||||
        $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
elif test -n "$extract"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    func_error "archive not found"
 | 
			
		||||
  fi
 | 
			
		||||
  if test $# -gt 0; then
 | 
			
		||||
    for member
 | 
			
		||||
    do
 | 
			
		||||
      case $1 in
 | 
			
		||||
        @*)
 | 
			
		||||
          func_at_file "${1#@}" -EXTRACT "$archive"
 | 
			
		||||
          ;;
 | 
			
		||||
        *)
 | 
			
		||||
          func_file_conv "$1"
 | 
			
		||||
          $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
    done
 | 
			
		||||
  else
 | 
			
		||||
    $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
 | 
			
		||||
      | while read member
 | 
			
		||||
        do
 | 
			
		||||
          $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
 | 
			
		||||
        done
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
elif test -n "$quick$replace"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    if test -z "$create"; then
 | 
			
		||||
      echo "$me: creating $orig_archive"
 | 
			
		||||
    fi
 | 
			
		||||
    orig_archive=
 | 
			
		||||
  else
 | 
			
		||||
    orig_archive=$archive
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  for member
 | 
			
		||||
  do
 | 
			
		||||
    case $1 in
 | 
			
		||||
    @*)
 | 
			
		||||
      func_file_conv "${1#@}"
 | 
			
		||||
      set x "$@" "@$file"
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      func_file_conv "$1"
 | 
			
		||||
      set x "$@" "$file"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
    shift
 | 
			
		||||
    shift
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  if test -n "$orig_archive"; then
 | 
			
		||||
    $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
 | 
			
		||||
  else
 | 
			
		||||
    $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
elif test -n "$list"; then
 | 
			
		||||
  if test ! -f "$orig_archive"; then
 | 
			
		||||
    func_error "archive not found"
 | 
			
		||||
  fi
 | 
			
		||||
  $AR -NOLOGO -LIST "$archive" || exit $?
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										348
									
								
								ac/compile
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										348
									
								
								ac/compile
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,348 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Wrapper for compilers which do not understand '-c -o'.
 | 
			
		||||
 | 
			
		||||
scriptversion=2018-03-07.03; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1999-2020 Free Software Foundation, Inc.
 | 
			
		||||
# Written by Tom Tromey <tromey@cygnus.com>.
 | 
			
		||||
#
 | 
			
		||||
# 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, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
 | 
			
		||||
# This file is maintained in Automake, please report
 | 
			
		||||
# bugs to <bug-automake@gnu.org> or send patches to
 | 
			
		||||
# <automake-patches@gnu.org>.
 | 
			
		||||
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
# We need space, tab and new line, in precisely that order.  Quoting is
 | 
			
		||||
# there to prevent tools from complaining about whitespace usage.
 | 
			
		||||
IFS=" ""	$nl"
 | 
			
		||||
 | 
			
		||||
file_conv=
 | 
			
		||||
 | 
			
		||||
# func_file_conv build_file lazy
 | 
			
		||||
# Convert a $build file to $host form and store it in $file
 | 
			
		||||
# Currently only supports Windows hosts. If the determined conversion
 | 
			
		||||
# type is listed in (the comma separated) LAZY, no conversion will
 | 
			
		||||
# take place.
 | 
			
		||||
func_file_conv ()
 | 
			
		||||
{
 | 
			
		||||
  file=$1
 | 
			
		||||
  case $file in
 | 
			
		||||
    / | /[!/]*) # absolute file, and not a UNC file
 | 
			
		||||
      if test -z "$file_conv"; then
 | 
			
		||||
	# lazily determine how to convert abs files
 | 
			
		||||
	case `uname -s` in
 | 
			
		||||
	  MINGW*)
 | 
			
		||||
	    file_conv=mingw
 | 
			
		||||
	    ;;
 | 
			
		||||
	  CYGWIN* | MSYS*)
 | 
			
		||||
	    file_conv=cygwin
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    file_conv=wine
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
      fi
 | 
			
		||||
      case $file_conv/,$2, in
 | 
			
		||||
	*,$file_conv,*)
 | 
			
		||||
	  ;;
 | 
			
		||||
	mingw/*)
 | 
			
		||||
	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
 | 
			
		||||
	  ;;
 | 
			
		||||
	cygwin/* | msys/*)
 | 
			
		||||
	  file=`cygpath -m "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
	wine/*)
 | 
			
		||||
	  file=`winepath -w "$file" || echo "$file"`
 | 
			
		||||
	  ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_cl_dashL linkdir
 | 
			
		||||
# Make cl look for libraries in LINKDIR
 | 
			
		||||
func_cl_dashL ()
 | 
			
		||||
{
 | 
			
		||||
  func_file_conv "$1"
 | 
			
		||||
  if test -z "$lib_path"; then
 | 
			
		||||
    lib_path=$file
 | 
			
		||||
  else
 | 
			
		||||
    lib_path="$lib_path;$file"
 | 
			
		||||
  fi
 | 
			
		||||
  linker_opts="$linker_opts -LIBPATH:$file"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_cl_dashl library
 | 
			
		||||
# Do a library search-path lookup for cl
 | 
			
		||||
func_cl_dashl ()
 | 
			
		||||
{
 | 
			
		||||
  lib=$1
 | 
			
		||||
  found=no
 | 
			
		||||
  save_IFS=$IFS
 | 
			
		||||
  IFS=';'
 | 
			
		||||
  for dir in $lib_path $LIB
 | 
			
		||||
  do
 | 
			
		||||
    IFS=$save_IFS
 | 
			
		||||
    if $shared && test -f "$dir/$lib.dll.lib"; then
 | 
			
		||||
      found=yes
 | 
			
		||||
      lib=$dir/$lib.dll.lib
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
    if test -f "$dir/$lib.lib"; then
 | 
			
		||||
      found=yes
 | 
			
		||||
      lib=$dir/$lib.lib
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
    if test -f "$dir/lib$lib.a"; then
 | 
			
		||||
      found=yes
 | 
			
		||||
      lib=$dir/lib$lib.a
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
  IFS=$save_IFS
 | 
			
		||||
 | 
			
		||||
  if test "$found" != yes; then
 | 
			
		||||
    lib=$lib.lib
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# func_cl_wrapper cl arg...
 | 
			
		||||
# Adjust compile command to suit cl
 | 
			
		||||
func_cl_wrapper ()
 | 
			
		||||
{
 | 
			
		||||
  # Assume a capable shell
 | 
			
		||||
  lib_path=
 | 
			
		||||
  shared=:
 | 
			
		||||
  linker_opts=
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    if test -n "$eat"; then
 | 
			
		||||
      eat=
 | 
			
		||||
    else
 | 
			
		||||
      case $1 in
 | 
			
		||||
	-o)
 | 
			
		||||
	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  case $2 in
 | 
			
		||||
	    *.o | *.[oO][bB][jJ])
 | 
			
		||||
	      func_file_conv "$2"
 | 
			
		||||
	      set x "$@" -Fo"$file"
 | 
			
		||||
	      shift
 | 
			
		||||
	      ;;
 | 
			
		||||
	    *)
 | 
			
		||||
	      func_file_conv "$2"
 | 
			
		||||
	      set x "$@" -Fe"$file"
 | 
			
		||||
	      shift
 | 
			
		||||
	      ;;
 | 
			
		||||
	  esac
 | 
			
		||||
	  ;;
 | 
			
		||||
	-I)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  func_file_conv "$2" mingw
 | 
			
		||||
	  set x "$@" -I"$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-I*)
 | 
			
		||||
	  func_file_conv "${1#-I}" mingw
 | 
			
		||||
	  set x "$@" -I"$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-l)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  func_cl_dashl "$2"
 | 
			
		||||
	  set x "$@" "$lib"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-l*)
 | 
			
		||||
	  func_cl_dashl "${1#-l}"
 | 
			
		||||
	  set x "$@" "$lib"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	-L)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  func_cl_dashL "$2"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-L*)
 | 
			
		||||
	  func_cl_dashL "${1#-L}"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-static)
 | 
			
		||||
	  shared=false
 | 
			
		||||
	  ;;
 | 
			
		||||
	-Wl,*)
 | 
			
		||||
	  arg=${1#-Wl,}
 | 
			
		||||
	  save_ifs="$IFS"; IFS=','
 | 
			
		||||
	  for flag in $arg; do
 | 
			
		||||
	    IFS="$save_ifs"
 | 
			
		||||
	    linker_opts="$linker_opts $flag"
 | 
			
		||||
	  done
 | 
			
		||||
	  IFS="$save_ifs"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-Xlinker)
 | 
			
		||||
	  eat=1
 | 
			
		||||
	  linker_opts="$linker_opts $2"
 | 
			
		||||
	  ;;
 | 
			
		||||
	-*)
 | 
			
		||||
	  set x "$@" "$1"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
 | 
			
		||||
	  func_file_conv "$1"
 | 
			
		||||
	  set x "$@" -Tp"$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
 | 
			
		||||
	  func_file_conv "$1" mingw
 | 
			
		||||
	  set x "$@" "$file"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
	*)
 | 
			
		||||
	  set x "$@" "$1"
 | 
			
		||||
	  shift
 | 
			
		||||
	  ;;
 | 
			
		||||
      esac
 | 
			
		||||
    fi
 | 
			
		||||
    shift
 | 
			
		||||
  done
 | 
			
		||||
  if test -n "$linker_opts"; then
 | 
			
		||||
    linker_opts="-link$linker_opts"
 | 
			
		||||
  fi
 | 
			
		||||
  exec "$@" $linker_opts
 | 
			
		||||
  exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
eat=
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
 | 
			
		||||
     exit 1;
 | 
			
		||||
     ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<\EOF
 | 
			
		||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
 | 
			
		||||
 | 
			
		||||
Wrapper for compilers which do not understand '-c -o'.
 | 
			
		||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 | 
			
		||||
arguments, and rename the output as expected.
 | 
			
		||||
 | 
			
		||||
If you are trying to build a whole package this is not the
 | 
			
		||||
right script to run: please start by reading the file 'INSTALL'.
 | 
			
		||||
 | 
			
		||||
Report bugs to <bug-automake@gnu.org>.
 | 
			
		||||
EOF
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  -v | --v*)
 | 
			
		||||
    echo "compile $scriptversion"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
 | 
			
		||||
  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
 | 
			
		||||
    func_cl_wrapper "$@"      # Doesn't return...
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
ofile=
 | 
			
		||||
cfile=
 | 
			
		||||
 | 
			
		||||
for arg
 | 
			
		||||
do
 | 
			
		||||
  if test -n "$eat"; then
 | 
			
		||||
    eat=
 | 
			
		||||
  else
 | 
			
		||||
    case $1 in
 | 
			
		||||
      -o)
 | 
			
		||||
	# configure might choose to run compile as 'compile cc -o foo foo.c'.
 | 
			
		||||
	# So we strip '-o arg' only if arg is an object.
 | 
			
		||||
	eat=1
 | 
			
		||||
	case $2 in
 | 
			
		||||
	  *.o | *.obj)
 | 
			
		||||
	    ofile=$2
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    set x "$@" -o "$2"
 | 
			
		||||
	    shift
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
	;;
 | 
			
		||||
      *.c)
 | 
			
		||||
	cfile=$1
 | 
			
		||||
	set x "$@" "$1"
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
      *)
 | 
			
		||||
	set x "$@" "$1"
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
    esac
 | 
			
		||||
  fi
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if test -z "$ofile" || test -z "$cfile"; then
 | 
			
		||||
  # If no '-o' option was seen then we might have been invoked from a
 | 
			
		||||
  # pattern rule where we don't need one.  That is ok -- this is a
 | 
			
		||||
  # normal compilation that the losing compiler can handle.  If no
 | 
			
		||||
  # '.c' file was seen then we are probably linking.  That is also
 | 
			
		||||
  # ok.
 | 
			
		||||
  exec "$@"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Name of file we expect compiler to create.
 | 
			
		||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 | 
			
		||||
 | 
			
		||||
# Create the lock directory.
 | 
			
		||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 | 
			
		||||
# that we are using for the .o file.  Also, base the name on the expected
 | 
			
		||||
# object file name, since that is what matters with a parallel build.
 | 
			
		||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
 | 
			
		||||
while true; do
 | 
			
		||||
  if mkdir "$lockdir" >/dev/null 2>&1; then
 | 
			
		||||
    break
 | 
			
		||||
  fi
 | 
			
		||||
  sleep 1
 | 
			
		||||
done
 | 
			
		||||
# FIXME: race condition here if user kills between mkdir and trap.
 | 
			
		||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
 | 
			
		||||
 | 
			
		||||
# Run the compile.
 | 
			
		||||
"$@"
 | 
			
		||||
ret=$?
 | 
			
		||||
 | 
			
		||||
if test -f "$cofile"; then
 | 
			
		||||
  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
 | 
			
		||||
elif test -f "${cofile}bj"; then
 | 
			
		||||
  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
rmdir "$lockdir"
 | 
			
		||||
exit $ret
 | 
			
		||||
 | 
			
		||||
# Local Variables:
 | 
			
		||||
# mode: shell-script
 | 
			
		||||
# sh-indentation: 2
 | 
			
		||||
# eval: (add-hook 'before-save-hook 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC0"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										994
									
								
								ac/config.guess
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										994
									
								
								ac/config.guess
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2758
									
								
								ac/config.sub
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2758
									
								
								ac/config.sub
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										463
									
								
								ac/depcomp
									
									
									
									
									
								
							
							
						
						
									
										463
									
								
								ac/depcomp
									
									
									
									
									
								
							@ -1,10 +1,9 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# depcomp - compile a program generating dependencies as side-effects
 | 
			
		||||
 | 
			
		||||
scriptversion=2012-03-27.16; # UTC
 | 
			
		||||
scriptversion=2018-03-07.03; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
 | 
			
		||||
# 2011, 2012 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 1999-2020 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
 | 
			
		||||
@ -17,7 +16,7 @@ scriptversion=2012-03-27.16; # UTC
 | 
			
		||||
# 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, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
@ -28,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
 | 
			
		||||
     exit 1;
 | 
			
		||||
     ;;
 | 
			
		||||
    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
 | 
			
		||||
    exit 1;
 | 
			
		||||
    ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<\EOF
 | 
			
		||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
 | 
			
		||||
@ -57,11 +56,65 @@ EOF
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Get the directory component of the given path, and save it in the
 | 
			
		||||
# global variables '$dir'.  Note that this directory component will
 | 
			
		||||
# be either empty or ending with a '/' character.  This is deliberate.
 | 
			
		||||
set_dir_from ()
 | 
			
		||||
{
 | 
			
		||||
  case $1 in
 | 
			
		||||
    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
 | 
			
		||||
      *) dir=;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Get the suffix-stripped basename of the given path, and save it the
 | 
			
		||||
# global variable '$base'.
 | 
			
		||||
set_base_from ()
 | 
			
		||||
{
 | 
			
		||||
  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# If no dependency file was actually created by the compiler invocation,
 | 
			
		||||
# we still have to create a dummy depfile, to avoid errors with the
 | 
			
		||||
# Makefile "include basename.Plo" scheme.
 | 
			
		||||
make_dummy_depfile ()
 | 
			
		||||
{
 | 
			
		||||
  echo "#dummy" > "$depfile"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Factor out some common post-processing of the generated depfile.
 | 
			
		||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
 | 
			
		||||
aix_post_process_depfile ()
 | 
			
		||||
{
 | 
			
		||||
  # If the compiler actually managed to produce a dependency file,
 | 
			
		||||
  # post-process it.
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    # Each line is of the form 'foo.o: dependency.h'.
 | 
			
		||||
    # Do two passes, one to just change these to
 | 
			
		||||
    #   $object: dependency.h
 | 
			
		||||
    # and one to simply output
 | 
			
		||||
    #   dependency.h:
 | 
			
		||||
    # which is needed to avoid the deleted-header problem.
 | 
			
		||||
    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
 | 
			
		||||
      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
 | 
			
		||||
    } > "$depfile"
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
  else
 | 
			
		||||
    make_dummy_depfile
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# A tabulation character.
 | 
			
		||||
tab='	'
 | 
			
		||||
# A newline character.
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
# Character ranges might be problematic outside the C locale.
 | 
			
		||||
# These definitions help.
 | 
			
		||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
 | 
			
		||||
lower=abcdefghijklmnopqrstuvwxyz
 | 
			
		||||
digits=0123456789
 | 
			
		||||
alpha=${upper}${lower}
 | 
			
		||||
 | 
			
		||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
 | 
			
		||||
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
 | 
			
		||||
@ -75,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 | 
			
		||||
 | 
			
		||||
rm -f "$tmpdepfile"
 | 
			
		||||
 | 
			
		||||
# Avoid interferences from the environment.
 | 
			
		||||
gccflag= dashmflag=
 | 
			
		||||
 | 
			
		||||
# Some modes work just like other modes, but use different flags.  We
 | 
			
		||||
# parameterize here, but still list the modes in the big case below,
 | 
			
		||||
# to make depend.m4 easier to write.  Note that we *cannot* use a case
 | 
			
		||||
@ -86,32 +142,32 @@ if test "$depmode" = hp; then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = dashXmstdout; then
 | 
			
		||||
   # This is just like dashmstdout with a different argument.
 | 
			
		||||
   dashmflag=-xM
 | 
			
		||||
   depmode=dashmstdout
 | 
			
		||||
  # This is just like dashmstdout with a different argument.
 | 
			
		||||
  dashmflag=-xM
 | 
			
		||||
  depmode=dashmstdout
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cygpath_u="cygpath -u -f -"
 | 
			
		||||
if test "$depmode" = msvcmsys; then
 | 
			
		||||
   # This is just like msvisualcpp but w/o cygpath translation.
 | 
			
		||||
   # Just convert the backslash-escaped backslashes to single forward
 | 
			
		||||
   # slashes to satisfy depend.m4
 | 
			
		||||
   cygpath_u='sed s,\\\\,/,g'
 | 
			
		||||
   depmode=msvisualcpp
 | 
			
		||||
  # This is just like msvisualcpp but w/o cygpath translation.
 | 
			
		||||
  # Just convert the backslash-escaped backslashes to single forward
 | 
			
		||||
  # slashes to satisfy depend.m4
 | 
			
		||||
  cygpath_u='sed s,\\\\,/,g'
 | 
			
		||||
  depmode=msvisualcpp
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = msvc7msys; then
 | 
			
		||||
   # This is just like msvc7 but w/o cygpath translation.
 | 
			
		||||
   # Just convert the backslash-escaped backslashes to single forward
 | 
			
		||||
   # slashes to satisfy depend.m4
 | 
			
		||||
   cygpath_u='sed s,\\\\,/,g'
 | 
			
		||||
   depmode=msvc7
 | 
			
		||||
  # This is just like msvc7 but w/o cygpath translation.
 | 
			
		||||
  # Just convert the backslash-escaped backslashes to single forward
 | 
			
		||||
  # slashes to satisfy depend.m4
 | 
			
		||||
  cygpath_u='sed s,\\\\,/,g'
 | 
			
		||||
  depmode=msvc7
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = xlc; then
 | 
			
		||||
   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
 | 
			
		||||
   gccflag=-qmakedep=gcc,-MF
 | 
			
		||||
   depmode=gcc
 | 
			
		||||
  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
 | 
			
		||||
  gccflag=-qmakedep=gcc,-MF
 | 
			
		||||
  depmode=gcc
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case "$depmode" in
 | 
			
		||||
@ -134,8 +190,7 @@ gcc3)
 | 
			
		||||
  done
 | 
			
		||||
  "$@"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
@ -143,13 +198,17 @@ gcc3)
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
gcc)
 | 
			
		||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
 | 
			
		||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
 | 
			
		||||
## (see the conditional assignment to $gccflag above).
 | 
			
		||||
## There are various ways to get dependency output from gcc.  Here's
 | 
			
		||||
## why we pick this rather obscure method:
 | 
			
		||||
## - Don't want to use -MD because we'd like the dependencies to end
 | 
			
		||||
##   up in a subdir.  Having to rename by hand is ugly.
 | 
			
		||||
##   (We might end up doing this anyway to support other compilers.)
 | 
			
		||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
 | 
			
		||||
##   -MM, not -M (despite what the docs say).
 | 
			
		||||
##   -MM, not -M (despite what the docs say).  Also, it might not be
 | 
			
		||||
##   supported by the other compilers which use the 'gcc' depmode.
 | 
			
		||||
## - Using -M directly means running the compiler twice (even worse
 | 
			
		||||
##   than renaming).
 | 
			
		||||
  if test -z "$gccflag"; then
 | 
			
		||||
@ -157,15 +216,14 @@ gcc)
 | 
			
		||||
  fi
 | 
			
		||||
  "$@" -Wp,"$gccflag$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 | 
			
		||||
## The second -e expression handles DOS-style file names with drive letters.
 | 
			
		||||
  # The second -e expression handles DOS-style file names with drive
 | 
			
		||||
  # letters.
 | 
			
		||||
  sed -e 's/^[^:]*: / /' \
 | 
			
		||||
      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
## This next piece of magic avoids the "deleted header file" problem.
 | 
			
		||||
@ -174,15 +232,15 @@ gcc)
 | 
			
		||||
## typically no way to rebuild the header).  We avoid this by adding
 | 
			
		||||
## dummy dependencies for each header file.  Too bad gcc doesn't do
 | 
			
		||||
## this for us directly.
 | 
			
		||||
  tr ' ' "$nl" < "$tmpdepfile" |
 | 
			
		||||
## Some versions of gcc put a space before the ':'.  On the theory
 | 
			
		||||
## that the space means something, we add a space to the output as
 | 
			
		||||
## well.  hp depmode also adds that space, but also prefixes the VPATH
 | 
			
		||||
## to the object.  Take care to not repeat it in the output.
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
 | 
			
		||||
      | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
@ -200,8 +258,7 @@ sgi)
 | 
			
		||||
    "$@" -MDupdate "$tmpdepfile"
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
@ -209,7 +266,6 @@ sgi)
 | 
			
		||||
 | 
			
		||||
  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
 | 
			
		||||
    echo "$object : \\" > "$depfile"
 | 
			
		||||
 | 
			
		||||
    # Clip off the initial element (the dependent).  Don't try to be
 | 
			
		||||
    # clever and replace this with sed code, as IRIX sed won't handle
 | 
			
		||||
    # lines with more than a fixed number of characters (4096 in
 | 
			
		||||
@ -217,19 +273,15 @@ sgi)
 | 
			
		||||
    # the IRIX cc adds comments like '#:fec' to the end of the
 | 
			
		||||
    # dependency line.
 | 
			
		||||
    tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
 | 
			
		||||
    tr "$nl" ' ' >> "$depfile"
 | 
			
		||||
      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
 | 
			
		||||
      | tr "$nl" ' ' >> "$depfile"
 | 
			
		||||
    echo >> "$depfile"
 | 
			
		||||
 | 
			
		||||
    # The second pass generates a dummy entry for each header file.
 | 
			
		||||
    tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
 | 
			
		||||
   >> "$depfile"
 | 
			
		||||
      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
 | 
			
		||||
      >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    # The sourcefile does not contain any dependencies, so just
 | 
			
		||||
    # store a dummy comment line, to avoid errors with the Makefile
 | 
			
		||||
    # "include basename.Plo" scheme.
 | 
			
		||||
    echo "#dummy" > "$depfile"
 | 
			
		||||
    make_dummy_depfile
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
@ -247,9 +299,8 @@ aix)
 | 
			
		||||
  # current directory.  Also, the AIX compiler puts '$object:' at the
 | 
			
		||||
  # start of each line; $object doesn't have directory information.
 | 
			
		||||
  # Version 6 uses the directory in both cases.
 | 
			
		||||
  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
 | 
			
		||||
  test "x$dir" = "x$object" && dir=
 | 
			
		||||
  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 | 
			
		||||
  set_dir_from "$object"
 | 
			
		||||
  set_base_from "$object"
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    tmpdepfile1=$dir$base.u
 | 
			
		||||
    tmpdepfile2=$base.u
 | 
			
		||||
@ -262,9 +313,7 @@ aix)
 | 
			
		||||
    "$@" -M
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
@ -273,65 +322,113 @@ aix)
 | 
			
		||||
  do
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    # Each line is of the form 'foo.o: dependent.h'.
 | 
			
		||||
    # Do two passes, one to just change these to
 | 
			
		||||
    # '$object: dependent.h' and one to simply 'dependent.h:'.
 | 
			
		||||
    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    # The sourcefile does not contain any dependencies, so just
 | 
			
		||||
    # store a dummy comment line, to avoid errors with the Makefile
 | 
			
		||||
    # "include basename.Plo" scheme.
 | 
			
		||||
    echo "#dummy" > "$depfile"
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  aix_post_process_depfile
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
icc)
 | 
			
		||||
  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
 | 
			
		||||
  # However on
 | 
			
		||||
  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
 | 
			
		||||
  # ICC 7.0 will fill foo.d with something like
 | 
			
		||||
  #    foo.o: sub/foo.c
 | 
			
		||||
  #    foo.o: sub/foo.h
 | 
			
		||||
  # which is wrong.  We want
 | 
			
		||||
  #    sub/foo.o: sub/foo.c
 | 
			
		||||
  #    sub/foo.o: sub/foo.h
 | 
			
		||||
  #    sub/foo.c:
 | 
			
		||||
  #    sub/foo.h:
 | 
			
		||||
  # ICC 7.1 will output
 | 
			
		||||
  #    foo.o: sub/foo.c sub/foo.h
 | 
			
		||||
  # and will wrap long lines using '\':
 | 
			
		||||
  #    foo.o: sub/foo.c ... \
 | 
			
		||||
  #     sub/foo.h ... \
 | 
			
		||||
  #     ...
 | 
			
		||||
  # tcc 0.9.26 (FIXME still under development at the moment of writing)
 | 
			
		||||
  # will emit a similar output, but also prepend the continuation lines
 | 
			
		||||
  # with horizontal tabulation characters.
 | 
			
		||||
tcc)
 | 
			
		||||
  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
 | 
			
		||||
  # FIXME: That version still under development at the moment of writing.
 | 
			
		||||
  #        Make that this statement remains true also for stable, released
 | 
			
		||||
  #        versions.
 | 
			
		||||
  # It will wrap lines (doesn't matter whether long or short) with a
 | 
			
		||||
  # trailing '\', as in:
 | 
			
		||||
  #
 | 
			
		||||
  #   foo.o : \
 | 
			
		||||
  #    foo.c \
 | 
			
		||||
  #    foo.h \
 | 
			
		||||
  #
 | 
			
		||||
  # It will put a trailing '\' even on the last line, and will use leading
 | 
			
		||||
  # spaces rather than leading tabs (at least since its commit 0394caf7
 | 
			
		||||
  # "Emit spaces for -MD").
 | 
			
		||||
  "$@" -MD -MF "$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  # Each line is of the form 'foo.o: dependent.h',
 | 
			
		||||
  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
 | 
			
		||||
  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
 | 
			
		||||
  # We have to change lines of the first kind to '$object: \'.
 | 
			
		||||
  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # And for each line of the second kind, we have to emit a 'dep.h:'
 | 
			
		||||
  # dummy dependency, to avoid the deleted-header problem.
 | 
			
		||||
  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
## The order of this option in the case statement is important, since the
 | 
			
		||||
## shell code in configure will try each of these formats in the order
 | 
			
		||||
## listed in this file.  A plain '-MD' option would be understood by many
 | 
			
		||||
## compilers, so we must ensure this comes after the gcc and icc options.
 | 
			
		||||
pgcc)
 | 
			
		||||
  # Portland's C compiler understands '-MD'.
 | 
			
		||||
  # Will always output deps to 'file.d' where file is the root name of the
 | 
			
		||||
  # source file under compilation, even if file resides in a subdirectory.
 | 
			
		||||
  # The object file name does not affect the name of the '.d' file.
 | 
			
		||||
  # pgcc 10.2 will output
 | 
			
		||||
  #    foo.o: sub/foo.c sub/foo.h
 | 
			
		||||
  # and will wrap long lines using '\' :
 | 
			
		||||
  #    foo.o: sub/foo.c ... \
 | 
			
		||||
  #     sub/foo.h ... \
 | 
			
		||||
  #     ...
 | 
			
		||||
  set_dir_from "$object"
 | 
			
		||||
  # Use the source, not the object, to determine the base name, since
 | 
			
		||||
  # that's sadly what pgcc will do too.
 | 
			
		||||
  set_base_from "$source"
 | 
			
		||||
  tmpdepfile=$base.d
 | 
			
		||||
 | 
			
		||||
  # For projects that build the same source file twice into different object
 | 
			
		||||
  # files, the pgcc approach of using the *source* file root name can cause
 | 
			
		||||
  # problems in parallel builds.  Use a locking strategy to avoid stomping on
 | 
			
		||||
  # the same $tmpdepfile.
 | 
			
		||||
  lockdir=$base.d-lock
 | 
			
		||||
  trap "
 | 
			
		||||
    echo '$0: caught signal, cleaning up...' >&2
 | 
			
		||||
    rmdir '$lockdir'
 | 
			
		||||
    exit 1
 | 
			
		||||
  " 1 2 13 15
 | 
			
		||||
  numtries=100
 | 
			
		||||
  i=$numtries
 | 
			
		||||
  while test $i -gt 0; do
 | 
			
		||||
    # mkdir is a portable test-and-set.
 | 
			
		||||
    if mkdir "$lockdir" 2>/dev/null; then
 | 
			
		||||
      # This process acquired the lock.
 | 
			
		||||
      "$@" -MD
 | 
			
		||||
      stat=$?
 | 
			
		||||
      # Release the lock.
 | 
			
		||||
      rmdir "$lockdir"
 | 
			
		||||
      break
 | 
			
		||||
    else
 | 
			
		||||
      # If the lock is being held by a different process, wait
 | 
			
		||||
      # until the winning process is done or we timeout.
 | 
			
		||||
      while test -d "$lockdir" && test $i -gt 0; do
 | 
			
		||||
        sleep 1
 | 
			
		||||
        i=`expr $i - 1`
 | 
			
		||||
      done
 | 
			
		||||
    fi
 | 
			
		||||
    i=`expr $i - 1`
 | 
			
		||||
  done
 | 
			
		||||
  trap - 1 2 13 15
 | 
			
		||||
  if test $i -le 0; then
 | 
			
		||||
    echo "$0: failed to acquire lock after $numtries attempts" >&2
 | 
			
		||||
    echo "$0: check lockdir '$lockdir'" >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  # Each line is of the form `foo.o: dependent.h',
 | 
			
		||||
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
 | 
			
		||||
  # Do two passes, one to just change these to
 | 
			
		||||
  # '$object: dependent.h' and one to simply 'dependent.h:'.
 | 
			
		||||
  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
 | 
			
		||||
    < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  sed '
 | 
			
		||||
    s/[ '"$tab"'][ '"$tab"']*/ /g
 | 
			
		||||
    s/^ *//
 | 
			
		||||
    s/ *\\*$//
 | 
			
		||||
    s/^[^:]*: *//
 | 
			
		||||
    /^$/d
 | 
			
		||||
    /:$/d
 | 
			
		||||
    s/$/ :/
 | 
			
		||||
  ' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  # `$object: dependent.h' and one to simply `dependent.h:'.
 | 
			
		||||
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
@ -342,9 +439,8 @@ hp2)
 | 
			
		||||
  # 'foo.d', which lands next to the object file, wherever that
 | 
			
		||||
  # happens to be.
 | 
			
		||||
  # Much of this is similar to the tru64 case; see comments there.
 | 
			
		||||
  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
 | 
			
		||||
  test "x$dir" = "x$object" && dir=
 | 
			
		||||
  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 | 
			
		||||
  set_dir_from  "$object"
 | 
			
		||||
  set_base_from "$object"
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir.libs/$base.d
 | 
			
		||||
@ -355,8 +451,7 @@ hp2)
 | 
			
		||||
    "$@" +Maked
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
     rm -f "$tmpdepfile1" "$tmpdepfile2"
 | 
			
		||||
     exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
@ -366,76 +461,61 @@ hp2)
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
 | 
			
		||||
    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
 | 
			
		||||
    # Add 'dependent.h:' lines.
 | 
			
		||||
    sed -ne '2,${
 | 
			
		||||
	       s/^ *//
 | 
			
		||||
	       s/ \\*$//
 | 
			
		||||
	       s/$/:/
 | 
			
		||||
	       p
 | 
			
		||||
	     }' "$tmpdepfile" >> "$depfile"
 | 
			
		||||
               s/^ *//
 | 
			
		||||
               s/ \\*$//
 | 
			
		||||
               s/$/:/
 | 
			
		||||
               p
 | 
			
		||||
             }' "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    echo "#dummy" > "$depfile"
 | 
			
		||||
    make_dummy_depfile
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile" "$tmpdepfile2"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
tru64)
 | 
			
		||||
   # The Tru64 compiler uses -MD to generate dependencies as a side
 | 
			
		||||
   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
 | 
			
		||||
   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
 | 
			
		||||
   # dependencies in 'foo.d' instead, so we check for that too.
 | 
			
		||||
   # Subdirectories are respected.
 | 
			
		||||
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
 | 
			
		||||
   test "x$dir" = "x$object" && dir=
 | 
			
		||||
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 | 
			
		||||
  # The Tru64 compiler uses -MD to generate dependencies as a side
 | 
			
		||||
  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
 | 
			
		||||
  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
 | 
			
		||||
  # dependencies in 'foo.d' instead, so we check for that too.
 | 
			
		||||
  # Subdirectories are respected.
 | 
			
		||||
  set_dir_from  "$object"
 | 
			
		||||
  set_base_from "$object"
 | 
			
		||||
 | 
			
		||||
   if test "$libtool" = yes; then
 | 
			
		||||
      # With Tru64 cc, shared objects can also be used to make a
 | 
			
		||||
      # static library.  This mechanism is used in libtool 1.4 series to
 | 
			
		||||
      # handle both shared and static libraries in a single compilation.
 | 
			
		||||
      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
 | 
			
		||||
      #
 | 
			
		||||
      # With libtool 1.5 this exception was removed, and libtool now
 | 
			
		||||
      # generates 2 separate objects for the 2 libraries.  These two
 | 
			
		||||
      # compilations output dependencies in $dir.libs/$base.o.d and
 | 
			
		||||
      # in $dir$base.o.d.  We have to check for both files, because
 | 
			
		||||
      # one of the two compilations can be disabled.  We should prefer
 | 
			
		||||
      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
 | 
			
		||||
      # automatically cleaned when .libs/ is deleted, while ignoring
 | 
			
		||||
      # the former would cause a distcleancheck panic.
 | 
			
		||||
      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
 | 
			
		||||
      tmpdepfile2=$dir$base.o.d          # libtool 1.5
 | 
			
		||||
      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
 | 
			
		||||
      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
 | 
			
		||||
      "$@" -Wc,-MD
 | 
			
		||||
   else
 | 
			
		||||
      tmpdepfile1=$dir$base.o.d
 | 
			
		||||
      tmpdepfile2=$dir$base.d
 | 
			
		||||
      tmpdepfile3=$dir$base.d
 | 
			
		||||
      tmpdepfile4=$dir$base.d
 | 
			
		||||
      "$@" -MD
 | 
			
		||||
   fi
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    # Libtool generates 2 separate objects for the 2 libraries.  These
 | 
			
		||||
    # two compilations output dependencies in $dir.libs/$base.o.d and
 | 
			
		||||
    # in $dir$base.o.d.  We have to check for both files, because
 | 
			
		||||
    # one of the two compilations can be disabled.  We should prefer
 | 
			
		||||
    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
 | 
			
		||||
    # automatically cleaned when .libs/ is deleted, while ignoring
 | 
			
		||||
    # the former would cause a distcleancheck panic.
 | 
			
		||||
    tmpdepfile1=$dir$base.o.d          # libtool 1.5
 | 
			
		||||
    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
 | 
			
		||||
    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
 | 
			
		||||
    "$@" -Wc,-MD
 | 
			
		||||
  else
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir$base.d
 | 
			
		||||
    tmpdepfile3=$dir$base.d
 | 
			
		||||
    "$@" -MD
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
   stat=$?
 | 
			
		||||
   if test $stat -eq 0; then :
 | 
			
		||||
   else
 | 
			
		||||
      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
 | 
			
		||||
      exit $stat
 | 
			
		||||
   fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
 | 
			
		||||
   do
 | 
			
		||||
     test -f "$tmpdepfile" && break
 | 
			
		||||
   done
 | 
			
		||||
   if test -f "$tmpdepfile"; then
 | 
			
		||||
      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
   else
 | 
			
		||||
      echo "#dummy" > "$depfile"
 | 
			
		||||
   fi
 | 
			
		||||
   rm -f "$tmpdepfile"
 | 
			
		||||
   ;;
 | 
			
		||||
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
 | 
			
		||||
  do
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  # Same post-processing that is required for AIX mode.
 | 
			
		||||
  aix_post_process_depfile
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
msvc7)
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
@ -446,8 +526,7 @@ msvc7)
 | 
			
		||||
  "$@" $showIncludes > "$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  grep -v '^Note: including file: ' "$tmpdepfile"
 | 
			
		||||
  if test "$stat" = 0; then :
 | 
			
		||||
  else
 | 
			
		||||
  if test $stat -ne 0; then
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
@ -473,6 +552,7 @@ $ {
 | 
			
		||||
  G
 | 
			
		||||
  p
 | 
			
		||||
}' >> "$depfile"
 | 
			
		||||
  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
@ -524,13 +604,14 @@ dashmstdout)
 | 
			
		||||
  # in the target name.  This is to cope with DOS-style filenames:
 | 
			
		||||
  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
 | 
			
		||||
  "$@" $dashmflag |
 | 
			
		||||
    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
 | 
			
		||||
    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  tr ' ' "$nl" < "$tmpdepfile" | \
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process this sed invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  tr ' ' "$nl" < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
@ -583,10 +664,12 @@ makedepend)
 | 
			
		||||
  # makedepend may prepend the VPATH from the source file name to the object.
 | 
			
		||||
  # No need to regex-escape $object, excess matching of '.' is harmless.
 | 
			
		||||
  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
 | 
			
		||||
  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process the last invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  sed '1,2d' "$tmpdepfile" \
 | 
			
		||||
    | tr ' ' "$nl" \
 | 
			
		||||
    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
 | 
			
		||||
    | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile" "$tmpdepfile".bak
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
@ -622,10 +705,10 @@ cpp)
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  "$@" -E |
 | 
			
		||||
    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 | 
			
		||||
       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
 | 
			
		||||
    sed '$ s: \\$::' > "$tmpdepfile"
 | 
			
		||||
  "$@" -E \
 | 
			
		||||
    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 | 
			
		||||
             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 | 
			
		||||
    | sed '$ s: \\$::' > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
@ -657,15 +740,15 @@ msvisualcpp)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
 | 
			
		||||
	set fnord "$@"
 | 
			
		||||
	shift
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
        set fnord "$@"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    *)
 | 
			
		||||
	set fnord "$@" "$arg"
 | 
			
		||||
	shift
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
        set fnord "$@" "$arg"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
  "$@" -E 2>/dev/null |
 | 
			
		||||
@ -700,9 +783,9 @@ exit 0
 | 
			
		||||
# Local Variables:
 | 
			
		||||
# mode: shell-script
 | 
			
		||||
# sh-indentation: 2
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# eval: (add-hook 'before-save-hook 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-time-zone: "UTC0"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										406
									
								
								ac/install-sh
									
									
									
									
									
								
							
							
						
						
									
										406
									
								
								ac/install-sh
									
									
									
									
									
								
							@ -1,7 +1,7 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# install - install a program, script, or datafile
 | 
			
		||||
 | 
			
		||||
scriptversion=2011-01-19.21; # UTC
 | 
			
		||||
scriptversion=2018-03-11.20; # UTC
 | 
			
		||||
 | 
			
		||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
 | 
			
		||||
# later released in X11R6 (xc/config/util/install.sh) with the
 | 
			
		||||
@ -35,25 +35,21 @@ scriptversion=2011-01-19.21; # UTC
 | 
			
		||||
# FSF changes to this file are in the public domain.
 | 
			
		||||
#
 | 
			
		||||
# Calling this script install-sh is preferred over install.sh, to prevent
 | 
			
		||||
# `make' implicit rules from creating a file called install from it
 | 
			
		||||
# 'make' implicit rules from creating a file called install from it
 | 
			
		||||
# when there is no Makefile.
 | 
			
		||||
#
 | 
			
		||||
# This script is compatible with the BSD install script, but was written
 | 
			
		||||
# from scratch.
 | 
			
		||||
 | 
			
		||||
tab='	'
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
IFS=" ""	$nl"
 | 
			
		||||
IFS=" $tab$nl"
 | 
			
		||||
 | 
			
		||||
# set DOITPROG to echo to test this script
 | 
			
		||||
# Set DOITPROG to "echo" to test this script.
 | 
			
		||||
 | 
			
		||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
 | 
			
		||||
doit=${DOITPROG-}
 | 
			
		||||
if test -z "$doit"; then
 | 
			
		||||
  doit_exec=exec
 | 
			
		||||
else
 | 
			
		||||
  doit_exec=$doit
 | 
			
		||||
fi
 | 
			
		||||
doit_exec=${doit:-exec}
 | 
			
		||||
 | 
			
		||||
# Put in absolute file names if you don't have them in your path;
 | 
			
		||||
# or use environment vars.
 | 
			
		||||
@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
 | 
			
		||||
rmprog=${RMPROG-rm}
 | 
			
		||||
stripprog=${STRIPPROG-strip}
 | 
			
		||||
 | 
			
		||||
posix_glob='?'
 | 
			
		||||
initialize_posix_glob='
 | 
			
		||||
  test "$posix_glob" != "?" || {
 | 
			
		||||
    if (set -f) 2>/dev/null; then
 | 
			
		||||
      posix_glob=
 | 
			
		||||
    else
 | 
			
		||||
      posix_glob=:
 | 
			
		||||
    fi
 | 
			
		||||
  }
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
posix_mkdir=
 | 
			
		||||
 | 
			
		||||
# Desired mode of installed file.
 | 
			
		||||
@ -97,7 +82,7 @@ dir_arg=
 | 
			
		||||
dst_arg=
 | 
			
		||||
 | 
			
		||||
copy_on_change=false
 | 
			
		||||
no_target_directory=
 | 
			
		||||
is_target_a_directory=possibly
 | 
			
		||||
 | 
			
		||||
usage="\
 | 
			
		||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
 | 
			
		||||
@ -137,46 +122,57 @@ while test $# -ne 0; do
 | 
			
		||||
    -d) dir_arg=true;;
 | 
			
		||||
 | 
			
		||||
    -g) chgrpcmd="$chgrpprog $2"
 | 
			
		||||
	shift;;
 | 
			
		||||
        shift;;
 | 
			
		||||
 | 
			
		||||
    --help) echo "$usage"; exit $?;;
 | 
			
		||||
 | 
			
		||||
    -m) mode=$2
 | 
			
		||||
	case $mode in
 | 
			
		||||
	  *' '* | *'	'* | *'
 | 
			
		||||
'*	  | *'*'* | *'?'* | *'['*)
 | 
			
		||||
	    echo "$0: invalid mode: $mode" >&2
 | 
			
		||||
	    exit 1;;
 | 
			
		||||
	esac
 | 
			
		||||
	shift;;
 | 
			
		||||
        case $mode in
 | 
			
		||||
          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
 | 
			
		||||
            echo "$0: invalid mode: $mode" >&2
 | 
			
		||||
            exit 1;;
 | 
			
		||||
        esac
 | 
			
		||||
        shift;;
 | 
			
		||||
 | 
			
		||||
    -o) chowncmd="$chownprog $2"
 | 
			
		||||
	shift;;
 | 
			
		||||
        shift;;
 | 
			
		||||
 | 
			
		||||
    -s) stripcmd=$stripprog;;
 | 
			
		||||
 | 
			
		||||
    -t) dst_arg=$2
 | 
			
		||||
	# Protect names problematic for `test' and other utilities.
 | 
			
		||||
	case $dst_arg in
 | 
			
		||||
	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
 | 
			
		||||
	esac
 | 
			
		||||
	shift;;
 | 
			
		||||
    -t)
 | 
			
		||||
        is_target_a_directory=always
 | 
			
		||||
        dst_arg=$2
 | 
			
		||||
        # Protect names problematic for 'test' and other utilities.
 | 
			
		||||
        case $dst_arg in
 | 
			
		||||
          -* | [=\(\)!]) dst_arg=./$dst_arg;;
 | 
			
		||||
        esac
 | 
			
		||||
        shift;;
 | 
			
		||||
 | 
			
		||||
    -T) no_target_directory=true;;
 | 
			
		||||
    -T) is_target_a_directory=never;;
 | 
			
		||||
 | 
			
		||||
    --version) echo "$0 $scriptversion"; exit $?;;
 | 
			
		||||
 | 
			
		||||
    --)	shift
 | 
			
		||||
	break;;
 | 
			
		||||
    --) shift
 | 
			
		||||
        break;;
 | 
			
		||||
 | 
			
		||||
    -*)	echo "$0: invalid option: $1" >&2
 | 
			
		||||
	exit 1;;
 | 
			
		||||
    -*) echo "$0: invalid option: $1" >&2
 | 
			
		||||
        exit 1;;
 | 
			
		||||
 | 
			
		||||
    *)  break;;
 | 
			
		||||
  esac
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# We allow the use of options -d and -T together, by making -d
 | 
			
		||||
# take the precedence; this is for compatibility with GNU install.
 | 
			
		||||
 | 
			
		||||
if test -n "$dir_arg"; then
 | 
			
		||||
  if test -n "$dst_arg"; then
 | 
			
		||||
    echo "$0: target directory not allowed when installing a directory." >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
 | 
			
		||||
  # When -d is used, all remaining arguments are directories to create.
 | 
			
		||||
  # When -t is used, the destination is already specified.
 | 
			
		||||
@ -190,7 +186,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
 | 
			
		||||
    fi
 | 
			
		||||
    shift # arg
 | 
			
		||||
    dst_arg=$arg
 | 
			
		||||
    # Protect names problematic for `test' and other utilities.
 | 
			
		||||
    # Protect names problematic for 'test' and other utilities.
 | 
			
		||||
    case $dst_arg in
 | 
			
		||||
      -* | [=\(\)!]) dst_arg=./$dst_arg;;
 | 
			
		||||
    esac
 | 
			
		||||
@ -202,11 +198,20 @@ if test $# -eq 0; then
 | 
			
		||||
    echo "$0: no input file specified." >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  # It's OK to call `install-sh -d' without argument.
 | 
			
		||||
  # It's OK to call 'install-sh -d' without argument.
 | 
			
		||||
  # This can happen when creating conditional directories.
 | 
			
		||||
  exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$dir_arg"; then
 | 
			
		||||
  if test $# -gt 1 || test "$is_target_a_directory" = always; then
 | 
			
		||||
    if test ! -d "$dst_arg"; then
 | 
			
		||||
      echo "$0: $dst_arg: Is not a directory." >&2
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$dir_arg"; then
 | 
			
		||||
  do_exit='(exit $ret); exit $ret'
 | 
			
		||||
  trap "ret=129; $do_exit" 1
 | 
			
		||||
@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
 | 
			
		||||
 | 
			
		||||
    *[0-7])
 | 
			
		||||
      if test -z "$stripcmd"; then
 | 
			
		||||
	u_plus_rw=
 | 
			
		||||
        u_plus_rw=
 | 
			
		||||
      else
 | 
			
		||||
	u_plus_rw='% 200'
 | 
			
		||||
        u_plus_rw='% 200'
 | 
			
		||||
      fi
 | 
			
		||||
      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
 | 
			
		||||
    *)
 | 
			
		||||
      if test -z "$stripcmd"; then
 | 
			
		||||
	u_plus_rw=
 | 
			
		||||
        u_plus_rw=
 | 
			
		||||
      else
 | 
			
		||||
	u_plus_rw=,u+rw
 | 
			
		||||
        u_plus_rw=,u+rw
 | 
			
		||||
      fi
 | 
			
		||||
      cp_umask=$mode$u_plus_rw;;
 | 
			
		||||
  esac
 | 
			
		||||
@ -240,7 +245,7 @@ fi
 | 
			
		||||
 | 
			
		||||
for src
 | 
			
		||||
do
 | 
			
		||||
  # Protect names problematic for `test' and other utilities.
 | 
			
		||||
  # Protect names problematic for 'test' and other utilities.
 | 
			
		||||
  case $src in
 | 
			
		||||
    -* | [=\(\)!]) src=./$src;;
 | 
			
		||||
  esac
 | 
			
		||||
@ -266,122 +271,113 @@ do
 | 
			
		||||
    fi
 | 
			
		||||
    dst=$dst_arg
 | 
			
		||||
 | 
			
		||||
    # If destination is a directory, append the input filename; won't work
 | 
			
		||||
    # if double slashes aren't ignored.
 | 
			
		||||
    # If destination is a directory, append the input filename.
 | 
			
		||||
    if test -d "$dst"; then
 | 
			
		||||
      if test -n "$no_target_directory"; then
 | 
			
		||||
	echo "$0: $dst_arg: Is a directory" >&2
 | 
			
		||||
	exit 1
 | 
			
		||||
      if test "$is_target_a_directory" = never; then
 | 
			
		||||
        echo "$0: $dst_arg: Is a directory" >&2
 | 
			
		||||
        exit 1
 | 
			
		||||
      fi
 | 
			
		||||
      dstdir=$dst
 | 
			
		||||
      dst=$dstdir/`basename "$src"`
 | 
			
		||||
      dstbase=`basename "$src"`
 | 
			
		||||
      case $dst in
 | 
			
		||||
	*/) dst=$dst$dstbase;;
 | 
			
		||||
	*)  dst=$dst/$dstbase;;
 | 
			
		||||
      esac
 | 
			
		||||
      dstdir_status=0
 | 
			
		||||
    else
 | 
			
		||||
      # Prefer dirname, but fall back on a substitute if dirname fails.
 | 
			
		||||
      dstdir=`
 | 
			
		||||
	(dirname "$dst") 2>/dev/null ||
 | 
			
		||||
	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 | 
			
		||||
	     X"$dst" : 'X\(//\)[^/]' \| \
 | 
			
		||||
	     X"$dst" : 'X\(//\)$' \| \
 | 
			
		||||
	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
 | 
			
		||||
	echo X"$dst" |
 | 
			
		||||
	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\/\)[^/].*/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\/\)$/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\).*/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 s/.*/./; q'
 | 
			
		||||
      `
 | 
			
		||||
 | 
			
		||||
      dstdir=`dirname "$dst"`
 | 
			
		||||
      test -d "$dstdir"
 | 
			
		||||
      dstdir_status=$?
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  case $dstdir in
 | 
			
		||||
    */) dstdirslash=$dstdir;;
 | 
			
		||||
    *)  dstdirslash=$dstdir/;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  obsolete_mkdir_used=false
 | 
			
		||||
 | 
			
		||||
  if test $dstdir_status != 0; then
 | 
			
		||||
    case $posix_mkdir in
 | 
			
		||||
      '')
 | 
			
		||||
	# Create intermediate dirs using mode 755 as modified by the umask.
 | 
			
		||||
	# This is like FreeBSD 'install' as of 1997-10-28.
 | 
			
		||||
	umask=`umask`
 | 
			
		||||
	case $stripcmd.$umask in
 | 
			
		||||
	  # Optimize common cases.
 | 
			
		||||
	  *[2367][2367]) mkdir_umask=$umask;;
 | 
			
		||||
	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
 | 
			
		||||
        # Create intermediate dirs using mode 755 as modified by the umask.
 | 
			
		||||
        # This is like FreeBSD 'install' as of 1997-10-28.
 | 
			
		||||
        umask=`umask`
 | 
			
		||||
        case $stripcmd.$umask in
 | 
			
		||||
          # Optimize common cases.
 | 
			
		||||
          *[2367][2367]) mkdir_umask=$umask;;
 | 
			
		||||
          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
 | 
			
		||||
 | 
			
		||||
	  *[0-7])
 | 
			
		||||
	    mkdir_umask=`expr $umask + 22 \
 | 
			
		||||
	      - $umask % 100 % 40 + $umask % 20 \
 | 
			
		||||
	      - $umask % 10 % 4 + $umask % 2
 | 
			
		||||
	    `;;
 | 
			
		||||
	  *) mkdir_umask=$umask,go-w;;
 | 
			
		||||
	esac
 | 
			
		||||
          *[0-7])
 | 
			
		||||
            mkdir_umask=`expr $umask + 22 \
 | 
			
		||||
              - $umask % 100 % 40 + $umask % 20 \
 | 
			
		||||
              - $umask % 10 % 4 + $umask % 2
 | 
			
		||||
            `;;
 | 
			
		||||
          *) mkdir_umask=$umask,go-w;;
 | 
			
		||||
        esac
 | 
			
		||||
 | 
			
		||||
	# With -d, create the new directory with the user-specified mode.
 | 
			
		||||
	# Otherwise, rely on $mkdir_umask.
 | 
			
		||||
	if test -n "$dir_arg"; then
 | 
			
		||||
	  mkdir_mode=-m$mode
 | 
			
		||||
	else
 | 
			
		||||
	  mkdir_mode=
 | 
			
		||||
	fi
 | 
			
		||||
        # With -d, create the new directory with the user-specified mode.
 | 
			
		||||
        # Otherwise, rely on $mkdir_umask.
 | 
			
		||||
        if test -n "$dir_arg"; then
 | 
			
		||||
          mkdir_mode=-m$mode
 | 
			
		||||
        else
 | 
			
		||||
          mkdir_mode=
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
	posix_mkdir=false
 | 
			
		||||
	case $umask in
 | 
			
		||||
	  *[123567][0-7][0-7])
 | 
			
		||||
	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
 | 
			
		||||
	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
 | 
			
		||||
	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 | 
			
		||||
        posix_mkdir=false
 | 
			
		||||
        case $umask in
 | 
			
		||||
          *[123567][0-7][0-7])
 | 
			
		||||
            # POSIX mkdir -p sets u+wx bits regardless of umask, which
 | 
			
		||||
            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
 | 
			
		||||
            ;;
 | 
			
		||||
          *)
 | 
			
		||||
            # Note that $RANDOM variable is not portable (e.g. dash);  Use it
 | 
			
		||||
            # here however when possible just to lower collision chance.
 | 
			
		||||
            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
 | 
			
		||||
 | 
			
		||||
	    if (umask $mkdir_umask &&
 | 
			
		||||
		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
 | 
			
		||||
	    then
 | 
			
		||||
	      if test -z "$dir_arg" || {
 | 
			
		||||
		   # Check for POSIX incompatibilities with -m.
 | 
			
		||||
		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
 | 
			
		||||
		   # other-writeable bit of parent directory when it shouldn't.
 | 
			
		||||
		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 | 
			
		||||
		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 | 
			
		||||
		   case $ls_ld_tmpdir in
 | 
			
		||||
		     d????-?r-*) different_mode=700;;
 | 
			
		||||
		     d????-?--*) different_mode=755;;
 | 
			
		||||
		     *) false;;
 | 
			
		||||
		   esac &&
 | 
			
		||||
		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
 | 
			
		||||
		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
 | 
			
		||||
		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
 | 
			
		||||
		   }
 | 
			
		||||
		 }
 | 
			
		||||
	      then posix_mkdir=:
 | 
			
		||||
	      fi
 | 
			
		||||
	      rmdir "$tmpdir/d" "$tmpdir"
 | 
			
		||||
	    else
 | 
			
		||||
	      # Remove any dirs left behind by ancient mkdir implementations.
 | 
			
		||||
	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
 | 
			
		||||
	    fi
 | 
			
		||||
	    trap '' 0;;
 | 
			
		||||
	esac;;
 | 
			
		||||
            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
 | 
			
		||||
 | 
			
		||||
            # Because "mkdir -p" follows existing symlinks and we likely work
 | 
			
		||||
            # directly in world-writeable /tmp, make sure that the '$tmpdir'
 | 
			
		||||
            # directory is successfully created first before we actually test
 | 
			
		||||
            # 'mkdir -p' feature.
 | 
			
		||||
            if (umask $mkdir_umask &&
 | 
			
		||||
                $mkdirprog $mkdir_mode "$tmpdir" &&
 | 
			
		||||
                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
 | 
			
		||||
            then
 | 
			
		||||
              if test -z "$dir_arg" || {
 | 
			
		||||
                   # Check for POSIX incompatibilities with -m.
 | 
			
		||||
                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
 | 
			
		||||
                   # other-writable bit of parent directory when it shouldn't.
 | 
			
		||||
                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 | 
			
		||||
                   test_tmpdir="$tmpdir/a"
 | 
			
		||||
                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
 | 
			
		||||
                   case $ls_ld_tmpdir in
 | 
			
		||||
                     d????-?r-*) different_mode=700;;
 | 
			
		||||
                     d????-?--*) different_mode=755;;
 | 
			
		||||
                     *) false;;
 | 
			
		||||
                   esac &&
 | 
			
		||||
                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
 | 
			
		||||
                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
 | 
			
		||||
                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
 | 
			
		||||
                   }
 | 
			
		||||
                 }
 | 
			
		||||
              then posix_mkdir=:
 | 
			
		||||
              fi
 | 
			
		||||
              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
 | 
			
		||||
            else
 | 
			
		||||
              # Remove any dirs left behind by ancient mkdir implementations.
 | 
			
		||||
              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
 | 
			
		||||
            fi
 | 
			
		||||
            trap '' 0;;
 | 
			
		||||
        esac;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    if
 | 
			
		||||
      $posix_mkdir && (
 | 
			
		||||
	umask $mkdir_umask &&
 | 
			
		||||
	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
 | 
			
		||||
        umask $mkdir_umask &&
 | 
			
		||||
        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
 | 
			
		||||
      )
 | 
			
		||||
    then :
 | 
			
		||||
    else
 | 
			
		||||
@ -391,53 +387,51 @@ do
 | 
			
		||||
      # directory the slow way, step by step, checking for races as we go.
 | 
			
		||||
 | 
			
		||||
      case $dstdir in
 | 
			
		||||
	/*) prefix='/';;
 | 
			
		||||
	[-=\(\)!]*) prefix='./';;
 | 
			
		||||
	*)  prefix='';;
 | 
			
		||||
        /*) prefix='/';;
 | 
			
		||||
        [-=\(\)!]*) prefix='./';;
 | 
			
		||||
        *)  prefix='';;
 | 
			
		||||
      esac
 | 
			
		||||
 | 
			
		||||
      eval "$initialize_posix_glob"
 | 
			
		||||
 | 
			
		||||
      oIFS=$IFS
 | 
			
		||||
      IFS=/
 | 
			
		||||
      $posix_glob set -f
 | 
			
		||||
      set -f
 | 
			
		||||
      set fnord $dstdir
 | 
			
		||||
      shift
 | 
			
		||||
      $posix_glob set +f
 | 
			
		||||
      set +f
 | 
			
		||||
      IFS=$oIFS
 | 
			
		||||
 | 
			
		||||
      prefixes=
 | 
			
		||||
 | 
			
		||||
      for d
 | 
			
		||||
      do
 | 
			
		||||
	test X"$d" = X && continue
 | 
			
		||||
        test X"$d" = X && continue
 | 
			
		||||
 | 
			
		||||
	prefix=$prefix$d
 | 
			
		||||
	if test -d "$prefix"; then
 | 
			
		||||
	  prefixes=
 | 
			
		||||
	else
 | 
			
		||||
	  if $posix_mkdir; then
 | 
			
		||||
	    (umask=$mkdir_umask &&
 | 
			
		||||
	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
 | 
			
		||||
	    # Don't fail if two instances are running concurrently.
 | 
			
		||||
	    test -d "$prefix" || exit 1
 | 
			
		||||
	  else
 | 
			
		||||
	    case $prefix in
 | 
			
		||||
	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
 | 
			
		||||
	      *) qprefix=$prefix;;
 | 
			
		||||
	    esac
 | 
			
		||||
	    prefixes="$prefixes '$qprefix'"
 | 
			
		||||
	  fi
 | 
			
		||||
	fi
 | 
			
		||||
	prefix=$prefix/
 | 
			
		||||
        prefix=$prefix$d
 | 
			
		||||
        if test -d "$prefix"; then
 | 
			
		||||
          prefixes=
 | 
			
		||||
        else
 | 
			
		||||
          if $posix_mkdir; then
 | 
			
		||||
            (umask=$mkdir_umask &&
 | 
			
		||||
             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
 | 
			
		||||
            # Don't fail if two instances are running concurrently.
 | 
			
		||||
            test -d "$prefix" || exit 1
 | 
			
		||||
          else
 | 
			
		||||
            case $prefix in
 | 
			
		||||
              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
 | 
			
		||||
              *) qprefix=$prefix;;
 | 
			
		||||
            esac
 | 
			
		||||
            prefixes="$prefixes '$qprefix'"
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
        prefix=$prefix/
 | 
			
		||||
      done
 | 
			
		||||
 | 
			
		||||
      if test -n "$prefixes"; then
 | 
			
		||||
	# Don't fail if two instances are running concurrently.
 | 
			
		||||
	(umask $mkdir_umask &&
 | 
			
		||||
	 eval "\$doit_exec \$mkdirprog $prefixes") ||
 | 
			
		||||
	  test -d "$dstdir" || exit 1
 | 
			
		||||
	obsolete_mkdir_used=true
 | 
			
		||||
        # Don't fail if two instances are running concurrently.
 | 
			
		||||
        (umask $mkdir_umask &&
 | 
			
		||||
         eval "\$doit_exec \$mkdirprog $prefixes") ||
 | 
			
		||||
          test -d "$dstdir" || exit 1
 | 
			
		||||
        obsolete_mkdir_used=true
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
@ -450,14 +444,25 @@ do
 | 
			
		||||
  else
 | 
			
		||||
 | 
			
		||||
    # Make a couple of temp file names in the proper directory.
 | 
			
		||||
    dsttmp=$dstdir/_inst.$$_
 | 
			
		||||
    rmtmp=$dstdir/_rm.$$_
 | 
			
		||||
    dsttmp=${dstdirslash}_inst.$$_
 | 
			
		||||
    rmtmp=${dstdirslash}_rm.$$_
 | 
			
		||||
 | 
			
		||||
    # Trap to clean up those temp files at exit.
 | 
			
		||||
    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
 | 
			
		||||
 | 
			
		||||
    # Copy the file name to the temp name.
 | 
			
		||||
    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
 | 
			
		||||
    (umask $cp_umask &&
 | 
			
		||||
     { test -z "$stripcmd" || {
 | 
			
		||||
	 # Create $dsttmp read-write so that cp doesn't create it read-only,
 | 
			
		||||
	 # which would cause strip to fail.
 | 
			
		||||
	 if test -z "$doit"; then
 | 
			
		||||
	   : >"$dsttmp" # No need to fork-exec 'touch'.
 | 
			
		||||
	 else
 | 
			
		||||
	   $doit touch "$dsttmp"
 | 
			
		||||
	 fi
 | 
			
		||||
       }
 | 
			
		||||
     } &&
 | 
			
		||||
     $doit_exec $cpprog "$src" "$dsttmp") &&
 | 
			
		||||
 | 
			
		||||
    # and set any options; do chmod last to preserve setuid bits.
 | 
			
		||||
    #
 | 
			
		||||
@ -472,15 +477,12 @@ do
 | 
			
		||||
 | 
			
		||||
    # If -C, don't bother to copy if it wouldn't change the file.
 | 
			
		||||
    if $copy_on_change &&
 | 
			
		||||
       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
 | 
			
		||||
       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
 | 
			
		||||
 | 
			
		||||
       eval "$initialize_posix_glob" &&
 | 
			
		||||
       $posix_glob set -f &&
 | 
			
		||||
       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
 | 
			
		||||
       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
 | 
			
		||||
       set -f &&
 | 
			
		||||
       set X $old && old=:$2:$4:$5:$6 &&
 | 
			
		||||
       set X $new && new=:$2:$4:$5:$6 &&
 | 
			
		||||
       $posix_glob set +f &&
 | 
			
		||||
 | 
			
		||||
       set +f &&
 | 
			
		||||
       test "$old" = "$new" &&
 | 
			
		||||
       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
 | 
			
		||||
    then
 | 
			
		||||
@ -493,24 +495,24 @@ do
 | 
			
		||||
      # to itself, or perhaps because mv is so ancient that it does not
 | 
			
		||||
      # support -f.
 | 
			
		||||
      {
 | 
			
		||||
	# Now remove or move aside any old file at destination location.
 | 
			
		||||
	# We try this two ways since rm can't unlink itself on some
 | 
			
		||||
	# systems and the destination file might be busy for other
 | 
			
		||||
	# reasons.  In this case, the final cleanup might fail but the new
 | 
			
		||||
	# file should still install successfully.
 | 
			
		||||
	{
 | 
			
		||||
	  test ! -f "$dst" ||
 | 
			
		||||
	  $doit $rmcmd -f "$dst" 2>/dev/null ||
 | 
			
		||||
	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
 | 
			
		||||
	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
 | 
			
		||||
	  } ||
 | 
			
		||||
	  { echo "$0: cannot unlink or rename $dst" >&2
 | 
			
		||||
	    (exit 1); exit 1
 | 
			
		||||
	  }
 | 
			
		||||
	} &&
 | 
			
		||||
        # Now remove or move aside any old file at destination location.
 | 
			
		||||
        # We try this two ways since rm can't unlink itself on some
 | 
			
		||||
        # systems and the destination file might be busy for other
 | 
			
		||||
        # reasons.  In this case, the final cleanup might fail but the new
 | 
			
		||||
        # file should still install successfully.
 | 
			
		||||
        {
 | 
			
		||||
          test ! -f "$dst" ||
 | 
			
		||||
          $doit $rmcmd -f "$dst" 2>/dev/null ||
 | 
			
		||||
          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
 | 
			
		||||
            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
 | 
			
		||||
          } ||
 | 
			
		||||
          { echo "$0: cannot unlink or rename $dst" >&2
 | 
			
		||||
            (exit 1); exit 1
 | 
			
		||||
          }
 | 
			
		||||
        } &&
 | 
			
		||||
 | 
			
		||||
	# Now rename the file to the real destination.
 | 
			
		||||
	$doit $mvcmd "$dsttmp" "$dst"
 | 
			
		||||
        # Now rename the file to the real destination.
 | 
			
		||||
        $doit $mvcmd "$dsttmp" "$dst"
 | 
			
		||||
      }
 | 
			
		||||
    fi || exit 1
 | 
			
		||||
 | 
			
		||||
@ -519,9 +521,9 @@ do
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Local variables:
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# eval: (add-hook 'before-save-hook 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-time-zone: "UTC0"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5608
									
								
								ac/ltmain.sh
									
									
									
									
									
								
							
							
						
						
									
										5608
									
								
								ac/ltmain.sh
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										418
									
								
								ac/missing
									
									
									
									
									
								
							
							
						
						
									
										418
									
								
								ac/missing
									
									
									
									
									
								
							@ -1,11 +1,10 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Common stub for a few missing GNU programs while installing.
 | 
			
		||||
# Common wrapper for a few potentially missing GNU programs.
 | 
			
		||||
 | 
			
		||||
scriptversion=2012-01-06.13; # UTC
 | 
			
		||||
scriptversion=2018-03-07.03; # UTC
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
 | 
			
		||||
# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 | 
			
		||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 | 
			
		||||
# Copyright (C) 1996-2020 Free Software Foundation, Inc.
 | 
			
		||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
@ -18,7 +17,7 @@ scriptversion=2012-01-06.13; # UTC
 | 
			
		||||
# 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, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC
 | 
			
		||||
# 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"
 | 
			
		||||
  echo 1>&2 "Try '$0 --help' for more information"
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
run=:
 | 
			
		||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
 | 
			
		||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
 | 
			
		||||
msg="missing on your system"
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
--run)
 | 
			
		||||
  # Try to run requested program, and just exit if it succeeds.
 | 
			
		||||
  run=
 | 
			
		||||
  shift
 | 
			
		||||
  "$@" && exit 0
 | 
			
		||||
  # Exit code 63 means version mismatch.  This often happens
 | 
			
		||||
  # when the user try to use an ancient version of a tool on
 | 
			
		||||
  # a file that requires a minimum version.  In this case we
 | 
			
		||||
  # we should proceed has if the program had been absent, or
 | 
			
		||||
  # if --run hadn't been passed.
 | 
			
		||||
  if test $? = 63; then
 | 
			
		||||
    run=:
 | 
			
		||||
    msg="probably too old"
 | 
			
		||||
  fi
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
  --is-lightweight)
 | 
			
		||||
    # Used by our autoconf macros to check whether the available missing
 | 
			
		||||
    # script is modern enough.
 | 
			
		||||
    exit 0
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  --run)
 | 
			
		||||
    # Back-compat with the calling convention used by older automake.
 | 
			
		||||
    shift
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -h|--h|--he|--hel|--help)
 | 
			
		||||
    echo "\
 | 
			
		||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
 | 
			
		||||
 | 
			
		||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 | 
			
		||||
error status if there is no known handling for PROGRAM.
 | 
			
		||||
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
 | 
			
		||||
to PROGRAM being missing or too old.
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
  -h, --help      display this help and exit
 | 
			
		||||
  -v, --version   output version information and exit
 | 
			
		||||
  --run           try to run the given command, and emulate it if it fails
 | 
			
		||||
 | 
			
		||||
Supported PROGRAM values:
 | 
			
		||||
  aclocal      touch file \`aclocal.m4'
 | 
			
		||||
  autoconf     touch file \`configure'
 | 
			
		||||
  autoheader   touch file \`config.h.in'
 | 
			
		||||
  autom4te     touch the output file, or create a stub one
 | 
			
		||||
  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
 | 
			
		||||
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 | 
			
		||||
  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
 | 
			
		||||
  bison     yacc      flex         lex       help2man
 | 
			
		||||
 | 
			
		||||
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
 | 
			
		||||
\`g' are ignored when checking the name.
 | 
			
		||||
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 | 
			
		||||
'g' are ignored when checking the name.
 | 
			
		||||
 | 
			
		||||
Send bug reports to <bug-automake@gnu.org>."
 | 
			
		||||
    exit $?
 | 
			
		||||
@ -99,233 +70,146 @@ Send bug reports to <bug-automake@gnu.org>."
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -*)
 | 
			
		||||
    echo 1>&2 "$0: Unknown \`$1' option"
 | 
			
		||||
    echo 1>&2 "Try \`$0 --help' for more information"
 | 
			
		||||
    echo 1>&2 "$0: unknown '$1' option"
 | 
			
		||||
    echo 1>&2 "Try '$0 --help' for more information"
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# normalize program name to check for.
 | 
			
		||||
program=`echo "$1" | sed '
 | 
			
		||||
  s/^gnu-//; t
 | 
			
		||||
  s/^gnu//; t
 | 
			
		||||
  s/^g//; t'`
 | 
			
		||||
# Run the given program, remember its exit status.
 | 
			
		||||
"$@"; st=$?
 | 
			
		||||
 | 
			
		||||
# Now exit if we have it, but it failed.  Also exit now if we
 | 
			
		||||
# don't have it and --version was passed (most likely to detect
 | 
			
		||||
# the program).  This is about non-GNU programs, so use $1 not
 | 
			
		||||
# $program.
 | 
			
		||||
case $1 in
 | 
			
		||||
  lex*|yacc*)
 | 
			
		||||
    # Not GNU programs, they don't have --version.
 | 
			
		||||
# If it succeeded, we are done.
 | 
			
		||||
test $st -eq 0 && exit 0
 | 
			
		||||
 | 
			
		||||
# Also exit now if we it failed (or wasn't found), and '--version' was
 | 
			
		||||
# passed; such an option is passed most likely to detect whether the
 | 
			
		||||
# program is present and works.
 | 
			
		||||
case $2 in --version|--help) exit $st;; esac
 | 
			
		||||
 | 
			
		||||
# Exit code 63 means version mismatch.  This often happens when the user
 | 
			
		||||
# tries to use an ancient version of a tool on a file that requires a
 | 
			
		||||
# minimum version.
 | 
			
		||||
if test $st -eq 63; then
 | 
			
		||||
  msg="probably too old"
 | 
			
		||||
elif test $st -eq 127; then
 | 
			
		||||
  # Program was missing.
 | 
			
		||||
  msg="missing on your system"
 | 
			
		||||
else
 | 
			
		||||
  # Program was found and executed, but failed.  Give up.
 | 
			
		||||
  exit $st
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
perl_URL=https://www.perl.org/
 | 
			
		||||
flex_URL=https://github.com/westes/flex
 | 
			
		||||
gnu_software_URL=https://www.gnu.org/software
 | 
			
		||||
 | 
			
		||||
program_details ()
 | 
			
		||||
{
 | 
			
		||||
  case $1 in
 | 
			
		||||
    aclocal|automake)
 | 
			
		||||
      echo "The '$1' program is part of the GNU Automake package:"
 | 
			
		||||
      echo "<$gnu_software_URL/automake>"
 | 
			
		||||
      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
 | 
			
		||||
      echo "<$gnu_software_URL/autoconf>"
 | 
			
		||||
      echo "<$gnu_software_URL/m4/>"
 | 
			
		||||
      echo "<$perl_URL>"
 | 
			
		||||
      ;;
 | 
			
		||||
    autoconf|autom4te|autoheader)
 | 
			
		||||
      echo "The '$1' program is part of the GNU Autoconf package:"
 | 
			
		||||
      echo "<$gnu_software_URL/autoconf/>"
 | 
			
		||||
      echo "It also requires GNU m4 and Perl in order to run:"
 | 
			
		||||
      echo "<$gnu_software_URL/m4/>"
 | 
			
		||||
      echo "<$perl_URL>"
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
give_advice ()
 | 
			
		||||
{
 | 
			
		||||
  # Normalize program name to check for.
 | 
			
		||||
  normalized_program=`echo "$1" | sed '
 | 
			
		||||
    s/^gnu-//; t
 | 
			
		||||
    s/^gnu//; t
 | 
			
		||||
    s/^g//; t'`
 | 
			
		||||
 | 
			
		||||
  printf '%s\n' "'$1' is $msg."
 | 
			
		||||
 | 
			
		||||
  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
 | 
			
		||||
  case $normalized_program in
 | 
			
		||||
    autoconf*)
 | 
			
		||||
      echo "You should only need it if you modified 'configure.ac',"
 | 
			
		||||
      echo "or m4 files included by it."
 | 
			
		||||
      program_details 'autoconf'
 | 
			
		||||
      ;;
 | 
			
		||||
    autoheader*)
 | 
			
		||||
      echo "You should only need it if you modified 'acconfig.h' or"
 | 
			
		||||
      echo "$configure_deps."
 | 
			
		||||
      program_details 'autoheader'
 | 
			
		||||
      ;;
 | 
			
		||||
    automake*)
 | 
			
		||||
      echo "You should only need it if you modified 'Makefile.am' or"
 | 
			
		||||
      echo "$configure_deps."
 | 
			
		||||
      program_details 'automake'
 | 
			
		||||
      ;;
 | 
			
		||||
    aclocal*)
 | 
			
		||||
      echo "You should only need it if you modified 'acinclude.m4' or"
 | 
			
		||||
      echo "$configure_deps."
 | 
			
		||||
      program_details 'aclocal'
 | 
			
		||||
      ;;
 | 
			
		||||
   autom4te*)
 | 
			
		||||
      echo "You might have modified some maintainer files that require"
 | 
			
		||||
      echo "the 'autom4te' program to be rebuilt."
 | 
			
		||||
      program_details 'autom4te'
 | 
			
		||||
      ;;
 | 
			
		||||
    bison*|yacc*)
 | 
			
		||||
      echo "You should only need it if you modified a '.y' file."
 | 
			
		||||
      echo "You may want to install the GNU Bison package:"
 | 
			
		||||
      echo "<$gnu_software_URL/bison/>"
 | 
			
		||||
      ;;
 | 
			
		||||
    lex*|flex*)
 | 
			
		||||
      echo "You should only need it if you modified a '.l' file."
 | 
			
		||||
      echo "You may want to install the Fast Lexical Analyzer package:"
 | 
			
		||||
      echo "<$flex_URL>"
 | 
			
		||||
      ;;
 | 
			
		||||
    help2man*)
 | 
			
		||||
      echo "You should only need it if you modified a dependency" \
 | 
			
		||||
           "of a man page."
 | 
			
		||||
      echo "You may want to install the GNU Help2man package:"
 | 
			
		||||
      echo "<$gnu_software_URL/help2man/>"
 | 
			
		||||
    ;;
 | 
			
		||||
    makeinfo*)
 | 
			
		||||
      echo "You should only need it if you modified a '.texi' file, or"
 | 
			
		||||
      echo "any other file indirectly affecting the aspect of the manual."
 | 
			
		||||
      echo "You might want to install the Texinfo package:"
 | 
			
		||||
      echo "<$gnu_software_URL/texinfo/>"
 | 
			
		||||
      echo "The spurious makeinfo call might also be the consequence of"
 | 
			
		||||
      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
 | 
			
		||||
      echo "want to install GNU make:"
 | 
			
		||||
      echo "<$gnu_software_URL/make/>"
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      echo "You might have modified some files without having the proper"
 | 
			
		||||
      echo "tools for further handling them.  Check the 'README' file, it"
 | 
			
		||||
      echo "often tells you about the needed prerequisites for installing"
 | 
			
		||||
      echo "this package.  You may also peek at any GNU archive site, in"
 | 
			
		||||
      echo "case some other package contains this missing '$1' program."
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  *)
 | 
			
		||||
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 | 
			
		||||
       # We have it, but it failed.
 | 
			
		||||
       exit 1
 | 
			
		||||
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
 | 
			
		||||
       # Could not run --version or --help.  This is probably someone
 | 
			
		||||
       # running `$TOOL --version' or `$TOOL --help' to check whether
 | 
			
		||||
       # $TOOL exists and not knowing $TOOL uses missing.
 | 
			
		||||
       exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
give_advice "$1" | sed -e '1s/^/WARNING: /' \
 | 
			
		||||
                       -e '2,$s/^/         /' >&2
 | 
			
		||||
 | 
			
		||||
# If it does not exist, or fails to run (possibly an outdated version),
 | 
			
		||||
# try to emulate it.
 | 
			
		||||
case $program in
 | 
			
		||||
  aclocal*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         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
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  autoconf*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified \`${configure_ac}'.  You might want to install the
 | 
			
		||||
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
 | 
			
		||||
         archive site."
 | 
			
		||||
    touch configure
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  autoheader*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         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_ac}`
 | 
			
		||||
    test -z "$files" && files="config.h"
 | 
			
		||||
    touch_files=
 | 
			
		||||
    for f in $files; do
 | 
			
		||||
      case $f in
 | 
			
		||||
      *:*) touch_files="$touch_files "`echo "$f" |
 | 
			
		||||
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
 | 
			
		||||
      *) touch_files="$touch_files $f.in";;
 | 
			
		||||
      esac
 | 
			
		||||
    done
 | 
			
		||||
    touch $touch_files
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  automake*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         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 |
 | 
			
		||||
	   sed 's/\.am$/.in/' |
 | 
			
		||||
	   while read f; do touch "$f"; done
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  autom4te*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is needed, but is $msg.
 | 
			
		||||
         You might have modified some files without having the
 | 
			
		||||
         proper tools for further handling them.
 | 
			
		||||
         You can get \`$1' as part of \`Autoconf' from any GNU
 | 
			
		||||
         archive site."
 | 
			
		||||
 | 
			
		||||
    file=`echo "$*" | sed -n "$sed_output"`
 | 
			
		||||
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 | 
			
		||||
    if test -f "$file"; then
 | 
			
		||||
	touch $file
 | 
			
		||||
    else
 | 
			
		||||
	test -z "$file" || exec >$file
 | 
			
		||||
	echo "#! /bin/sh"
 | 
			
		||||
	echo "# Created by GNU Automake missing as a replacement of"
 | 
			
		||||
	echo "#  $ $@"
 | 
			
		||||
	echo "exit 0"
 | 
			
		||||
	chmod +x $file
 | 
			
		||||
	exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  bison*|yacc*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' $msg.  You should only need it if
 | 
			
		||||
         you modified a \`.y' file.  You may need the \`Bison' package
 | 
			
		||||
         in order for those modifications to take effect.  You can get
 | 
			
		||||
         \`Bison' from any GNU archive site."
 | 
			
		||||
    rm -f y.tab.c y.tab.h
 | 
			
		||||
    if test $# -ne 1; then
 | 
			
		||||
        eval LASTARG=\${$#}
 | 
			
		||||
	case $LASTARG in
 | 
			
		||||
	*.y)
 | 
			
		||||
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
 | 
			
		||||
	    if test -f "$SRCFILE"; then
 | 
			
		||||
	         cp "$SRCFILE" y.tab.c
 | 
			
		||||
	    fi
 | 
			
		||||
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
 | 
			
		||||
	    if test -f "$SRCFILE"; then
 | 
			
		||||
	         cp "$SRCFILE" y.tab.h
 | 
			
		||||
	    fi
 | 
			
		||||
	  ;;
 | 
			
		||||
	esac
 | 
			
		||||
    fi
 | 
			
		||||
    if test ! -f y.tab.h; then
 | 
			
		||||
	echo >y.tab.h
 | 
			
		||||
    fi
 | 
			
		||||
    if test ! -f y.tab.c; then
 | 
			
		||||
	echo 'main() { return 0; }' >y.tab.c
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  lex*|flex*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified a \`.l' file.  You may need the \`Flex' package
 | 
			
		||||
         in order for those modifications to take effect.  You can get
 | 
			
		||||
         \`Flex' from any GNU archive site."
 | 
			
		||||
    rm -f lex.yy.c
 | 
			
		||||
    if test $# -ne 1; then
 | 
			
		||||
        eval LASTARG=\${$#}
 | 
			
		||||
	case $LASTARG in
 | 
			
		||||
	*.l)
 | 
			
		||||
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
 | 
			
		||||
	    if test -f "$SRCFILE"; then
 | 
			
		||||
	         cp "$SRCFILE" lex.yy.c
 | 
			
		||||
	    fi
 | 
			
		||||
	  ;;
 | 
			
		||||
	esac
 | 
			
		||||
    fi
 | 
			
		||||
    if test ! -f lex.yy.c; then
 | 
			
		||||
	echo 'main() { return 0; }' >lex.yy.c
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  help2man*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  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 "$sed_output"`
 | 
			
		||||
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 | 
			
		||||
    if test -f "$file"; then
 | 
			
		||||
	touch $file
 | 
			
		||||
    else
 | 
			
		||||
	test -z "$file" || exec >$file
 | 
			
		||||
	echo ".ab help2man is required to generate this page"
 | 
			
		||||
	exit $?
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  makeinfo*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified a \`.texi' or \`.texinfo' file, or any other file
 | 
			
		||||
         indirectly affecting the aspect of the manual.  The spurious
 | 
			
		||||
         call might also be the consequence of using a buggy \`make' (AIX,
 | 
			
		||||
         DU, IRIX).  You might want to install the \`Texinfo' package or
 | 
			
		||||
         the \`GNU make' package.  Grab either from any GNU archive site."
 | 
			
		||||
    # The file to touch is that specified with -o ...
 | 
			
		||||
    file=`echo "$*" | sed -n "$sed_output"`
 | 
			
		||||
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 | 
			
		||||
    if test -z "$file"; then
 | 
			
		||||
      # ... or it is the one specified with @setfilename ...
 | 
			
		||||
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
 | 
			
		||||
      file=`sed -n '
 | 
			
		||||
	/^@setfilename/{
 | 
			
		||||
	  s/.* \([^ ]*\) *$/\1/
 | 
			
		||||
	  p
 | 
			
		||||
	  q
 | 
			
		||||
	}' $infile`
 | 
			
		||||
      # ... or it is derived from the source name (dir/f.texi becomes f.info)
 | 
			
		||||
      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
 | 
			
		||||
    fi
 | 
			
		||||
    # If the file does not exist, the user really needs makeinfo;
 | 
			
		||||
    # let's fail without touching anything.
 | 
			
		||||
    test -f $file || exit 1
 | 
			
		||||
    touch $file
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  *)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is needed, and is $msg.
 | 
			
		||||
         You might have modified some files without having the
 | 
			
		||||
         proper tools for further handling them.  Check the \`README' file,
 | 
			
		||||
         it often tells you about the needed prerequisites for installing
 | 
			
		||||
         this package.  You may also peek at any GNU archive site, in case
 | 
			
		||||
         some other package would contain this missing \`$1' program."
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
# Propagate the correct exit status (expected to be 127 for a program
 | 
			
		||||
# not found, 63 for a program that failed due to version mismatch).
 | 
			
		||||
exit $st
 | 
			
		||||
 | 
			
		||||
# Local variables:
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# eval: (add-hook 'before-save-hook 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-time-zone: "UTC"
 | 
			
		||||
# time-stamp-time-zone: "UTC0"
 | 
			
		||||
# time-stamp-end: "; # UTC"
 | 
			
		||||
# End:
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user