Blame SOURCES/libsodium-1.0.18/depcomp

rdobuilder 775784
#! /bin/sh
rdobuilder 775784
# depcomp - compile a program generating dependencies as side-effects
rdobuilder 775784
rdobuilder 775784
scriptversion=2013-05-30.07; # UTC
rdobuilder 775784
rdobuilder 775784
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
rdobuilder 775784
rdobuilder 775784
# This program is free software; you can redistribute it and/or modify
rdobuilder 775784
# it under the terms of the GNU General Public License as published by
rdobuilder 775784
# the Free Software Foundation; either version 2, or (at your option)
rdobuilder 775784
# any later version.
rdobuilder 775784
rdobuilder 775784
# This program is distributed in the hope that it will be useful,
rdobuilder 775784
# but WITHOUT ANY WARRANTY; without even the implied warranty of
rdobuilder 775784
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
rdobuilder 775784
# GNU General Public License for more details.
rdobuilder 775784
rdobuilder 775784
# You should have received a copy of the GNU General Public License
rdobuilder 775784
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
rdobuilder 775784
rdobuilder 775784
# As a special exception to the GNU General Public License, if you
rdobuilder 775784
# distribute this file as part of a program that contains a
rdobuilder 775784
# configuration script generated by Autoconf, you may include it under
rdobuilder 775784
# the same distribution terms that you use for the rest of that program.
rdobuilder 775784
rdobuilder 775784
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
rdobuilder 775784
rdobuilder 775784
case $1 in
rdobuilder 775784
  '')
rdobuilder 775784
    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
rdobuilder 775784
    exit 1;
rdobuilder 775784
    ;;
rdobuilder 775784
  -h | --h*)
rdobuilder 775784
    cat <<\EOF
rdobuilder 775784
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
rdobuilder 775784
rdobuilder 775784
Run PROGRAMS ARGS to compile a file, generating dependencies
rdobuilder 775784
as side-effects.
rdobuilder 775784
rdobuilder 775784
Environment variables:
rdobuilder 775784
  depmode     Dependency tracking mode.
rdobuilder 775784
  source      Source file read by 'PROGRAMS ARGS'.
rdobuilder 775784
  object      Object file output by 'PROGRAMS ARGS'.
rdobuilder 775784
  DEPDIR      directory where to store dependencies.
rdobuilder 775784
  depfile     Dependency file to output.
rdobuilder 775784
  tmpdepfile  Temporary file to use when outputting dependencies.
rdobuilder 775784
  libtool     Whether libtool is used (yes/no).
rdobuilder 775784
rdobuilder 775784
Report bugs to <bug-automake@gnu.org>.
rdobuilder 775784
EOF
rdobuilder 775784
    exit $?
rdobuilder 775784
    ;;
rdobuilder 775784
  -v | --v*)
rdobuilder 775784
    echo "depcomp $scriptversion"
rdobuilder 775784
    exit $?
rdobuilder 775784
    ;;
rdobuilder 775784
esac
rdobuilder 775784
rdobuilder 775784
# Get the directory component of the given path, and save it in the
rdobuilder 775784
# global variables '$dir'.  Note that this directory component will
rdobuilder 775784
# be either empty or ending with a '/' character.  This is deliberate.
rdobuilder 775784
set_dir_from ()
rdobuilder 775784
{
rdobuilder 775784
  case $1 in
rdobuilder 775784
    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
rdobuilder 775784
      *) dir=;;
rdobuilder 775784
  esac
rdobuilder 775784
}
rdobuilder 775784
rdobuilder 775784
# Get the suffix-stripped basename of the given path, and save it the
rdobuilder 775784
# global variable '$base'.
rdobuilder 775784
set_base_from ()
rdobuilder 775784
{
rdobuilder 775784
  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
rdobuilder 775784
}
rdobuilder 775784
rdobuilder 775784
# If no dependency file was actually created by the compiler invocation,
rdobuilder 775784
# we still have to create a dummy depfile, to avoid errors with the
rdobuilder 775784
# Makefile "include basename.Plo" scheme.
rdobuilder 775784
make_dummy_depfile ()
rdobuilder 775784
{
rdobuilder 775784
  echo "#dummy" > "$depfile"
rdobuilder 775784
}
rdobuilder 775784
rdobuilder 775784
# Factor out some common post-processing of the generated depfile.
rdobuilder 775784
# Requires the auxiliary global variable '$tmpdepfile' to be set.
rdobuilder 775784
aix_post_process_depfile ()
rdobuilder 775784
{
rdobuilder 775784
  # If the compiler actually managed to produce a dependency file,
rdobuilder 775784
  # post-process it.
rdobuilder 775784
  if test -f "$tmpdepfile"; then
rdobuilder 775784
    # Each line is of the form 'foo.o: dependency.h'.
rdobuilder 775784
    # Do two passes, one to just change these to
rdobuilder 775784
    #   $object: dependency.h
rdobuilder 775784
    # and one to simply output
rdobuilder 775784
    #   dependency.h:
rdobuilder 775784
    # which is needed to avoid the deleted-header problem.
rdobuilder 775784
    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
rdobuilder 775784
      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
rdobuilder 775784
    } > "$depfile"
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
  else
rdobuilder 775784
    make_dummy_depfile
rdobuilder 775784
  fi
rdobuilder 775784
}
rdobuilder 775784
rdobuilder 775784
# A tabulation character.
rdobuilder 775784
tab='	'
rdobuilder 775784
# A newline character.
rdobuilder 775784
nl='
rdobuilder 775784
'
rdobuilder 775784
# Character ranges might be problematic outside the C locale.
rdobuilder 775784
# These definitions help.
rdobuilder 775784
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
rdobuilder 775784
lower=abcdefghijklmnopqrstuvwxyz
rdobuilder 775784
digits=0123456789
rdobuilder 775784
alpha=${upper}${lower}
rdobuilder 775784
rdobuilder 775784
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
rdobuilder 775784
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
rdobuilder 775784
  exit 1
rdobuilder 775784
fi
rdobuilder 775784
rdobuilder 775784
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
rdobuilder 775784
depfile=${depfile-`echo "$object" |
rdobuilder 775784
  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
rdobuilder 775784
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rdobuilder 775784
rdobuilder 775784
rm -f "$tmpdepfile"
rdobuilder 775784
rdobuilder 775784
# Avoid interferences from the environment.
rdobuilder 775784
gccflag= dashmflag=
rdobuilder 775784
rdobuilder 775784
# Some modes work just like other modes, but use different flags.  We
rdobuilder 775784
# parameterize here, but still list the modes in the big case below,
rdobuilder 775784
# to make depend.m4 easier to write.  Note that we *cannot* use a case
rdobuilder 775784
# here, because this file can only contain one case statement.
rdobuilder 775784
if test "$depmode" = hp; then
rdobuilder 775784
  # HP compiler uses -M and no extra arg.
rdobuilder 775784
  gccflag=-M
rdobuilder 775784
  depmode=gcc
rdobuilder 775784
fi
rdobuilder 775784
rdobuilder 775784
if test "$depmode" = dashXmstdout; then
rdobuilder 775784
  # This is just like dashmstdout with a different argument.
rdobuilder 775784
  dashmflag=-xM
rdobuilder 775784
  depmode=dashmstdout
rdobuilder 775784
fi
rdobuilder 775784
rdobuilder 775784
cygpath_u="cygpath -u -f -"
rdobuilder 775784
if test "$depmode" = msvcmsys; then
rdobuilder 775784
  # This is just like msvisualcpp but w/o cygpath translation.
rdobuilder 775784
  # Just convert the backslash-escaped backslashes to single forward
rdobuilder 775784
  # slashes to satisfy depend.m4
rdobuilder 775784
  cygpath_u='sed s,\\\\,/,g'
rdobuilder 775784
  depmode=msvisualcpp
rdobuilder 775784
fi
rdobuilder 775784
rdobuilder 775784
if test "$depmode" = msvc7msys; then
rdobuilder 775784
  # This is just like msvc7 but w/o cygpath translation.
rdobuilder 775784
  # Just convert the backslash-escaped backslashes to single forward
rdobuilder 775784
  # slashes to satisfy depend.m4
rdobuilder 775784
  cygpath_u='sed s,\\\\,/,g'
rdobuilder 775784
  depmode=msvc7
rdobuilder 775784
fi
rdobuilder 775784
rdobuilder 775784
if test "$depmode" = xlc; then
rdobuilder 775784
  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
rdobuilder 775784
  gccflag=-qmakedep=gcc,-MF
rdobuilder 775784
  depmode=gcc
rdobuilder 775784
fi
rdobuilder 775784
rdobuilder 775784
case "$depmode" in
rdobuilder 775784
gcc3)
rdobuilder 775784
## gcc 3 implements dependency tracking that does exactly what
rdobuilder 775784
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
rdobuilder 775784
## it if -MD -MP comes after the -MF stuff.  Hmm.
rdobuilder 775784
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
rdobuilder 775784
## the command line argument order; so add the flags where they
rdobuilder 775784
## appear in depend2.am.  Note that the slowdown incurred here
rdobuilder 775784
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
rdobuilder 775784
  for arg
rdobuilder 775784
  do
rdobuilder 775784
    case $arg in
rdobuilder 775784
    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
rdobuilder 775784
    *)  set fnord "$@" "$arg" ;;
rdobuilder 775784
    esac
rdobuilder 775784
    shift # fnord
rdobuilder 775784
    shift # $arg
rdobuilder 775784
  done
rdobuilder 775784
  "$@"
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
  mv "$tmpdepfile" "$depfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
gcc)
rdobuilder 775784
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
rdobuilder 775784
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
rdobuilder 775784
## (see the conditional assignment to $gccflag above).
rdobuilder 775784
## There are various ways to get dependency output from gcc.  Here's
rdobuilder 775784
## why we pick this rather obscure method:
rdobuilder 775784
## - Don't want to use -MD because we'd like the dependencies to end
rdobuilder 775784
##   up in a subdir.  Having to rename by hand is ugly.
rdobuilder 775784
##   (We might end up doing this anyway to support other compilers.)
rdobuilder 775784
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
rdobuilder 775784
##   -MM, not -M (despite what the docs say).  Also, it might not be
rdobuilder 775784
##   supported by the other compilers which use the 'gcc' depmode.
rdobuilder 775784
## - Using -M directly means running the compiler twice (even worse
rdobuilder 775784
##   than renaming).
rdobuilder 775784
  if test -z "$gccflag"; then
rdobuilder 775784
    gccflag=-MD,
rdobuilder 775784
  fi
rdobuilder 775784
  "$@" -Wp,"$gccflag$tmpdepfile"
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  echo "$object : \\" > "$depfile"
rdobuilder 775784
  # The second -e expression handles DOS-style file names with drive
rdobuilder 775784
  # letters.
rdobuilder 775784
  sed -e 's/^[^:]*: / /' \
rdobuilder 775784
      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
rdobuilder 775784
## This next piece of magic avoids the "deleted header file" problem.
rdobuilder 775784
## The problem is that when a header file which appears in a .P file
rdobuilder 775784
## is deleted, the dependency causes make to die (because there is
rdobuilder 775784
## typically no way to rebuild the header).  We avoid this by adding
rdobuilder 775784
## dummy dependencies for each header file.  Too bad gcc doesn't do
rdobuilder 775784
## this for us directly.
rdobuilder 775784
## Some versions of gcc put a space before the ':'.  On the theory
rdobuilder 775784
## that the space means something, we add a space to the output as
rdobuilder 775784
## well.  hp depmode also adds that space, but also prefixes the VPATH
rdobuilder 775784
## to the object.  Take care to not repeat it in the output.
rdobuilder 775784
## Some versions of the HPUX 10.20 sed can't process this invocation
rdobuilder 775784
## correctly.  Breaking it into two sed invocations is a workaround.
rdobuilder 775784
  tr ' ' "$nl" < "$tmpdepfile" \
rdobuilder 775784
    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
rdobuilder 775784
    | sed -e 's/$/ :/' >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
hp)
rdobuilder 775784
  # This case exists only to let depend.m4 do its work.  It works by
rdobuilder 775784
  # looking at the text of this script.  This case will never be run,
rdobuilder 775784
  # since it is checked for above.
rdobuilder 775784
  exit 1
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
sgi)
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    "$@" "-Wp,-MDupdate,$tmpdepfile"
rdobuilder 775784
  else
rdobuilder 775784
    "$@" -MDupdate "$tmpdepfile"
rdobuilder 775784
  fi
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
rdobuilder 775784
  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
rdobuilder 775784
    echo "$object : \\" > "$depfile"
rdobuilder 775784
    # Clip off the initial element (the dependent).  Don't try to be
rdobuilder 775784
    # clever and replace this with sed code, as IRIX sed won't handle
rdobuilder 775784
    # lines with more than a fixed number of characters (4096 in
rdobuilder 775784
    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
rdobuilder 775784
    # the IRIX cc adds comments like '#:fec' to the end of the
rdobuilder 775784
    # dependency line.
rdobuilder 775784
    tr ' ' "$nl" < "$tmpdepfile" \
rdobuilder 775784
      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
rdobuilder 775784
      | tr "$nl" ' ' >> "$depfile"
rdobuilder 775784
    echo >> "$depfile"
rdobuilder 775784
    # The second pass generates a dummy entry for each header file.
rdobuilder 775784
    tr ' ' "$nl" < "$tmpdepfile" \
rdobuilder 775784
      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
rdobuilder 775784
      >> "$depfile"
rdobuilder 775784
  else
rdobuilder 775784
    make_dummy_depfile
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
xlc)
rdobuilder 775784
  # This case exists only to let depend.m4 do its work.  It works by
rdobuilder 775784
  # looking at the text of this script.  This case will never be run,
rdobuilder 775784
  # since it is checked for above.
rdobuilder 775784
  exit 1
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
aix)
rdobuilder 775784
  # The C for AIX Compiler uses -M and outputs the dependencies
rdobuilder 775784
  # in a .u file.  In older versions, this file always lives in the
rdobuilder 775784
  # current directory.  Also, the AIX compiler puts '$object:' at the
rdobuilder 775784
  # start of each line; $object doesn't have directory information.
rdobuilder 775784
  # Version 6 uses the directory in both cases.
rdobuilder 775784
  set_dir_from "$object"
rdobuilder 775784
  set_base_from "$object"
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    tmpdepfile1=$dir$base.u
rdobuilder 775784
    tmpdepfile2=$base.u
rdobuilder 775784
    tmpdepfile3=$dir.libs/$base.u
rdobuilder 775784
    "$@" -Wc,-M
rdobuilder 775784
  else
rdobuilder 775784
    tmpdepfile1=$dir$base.u
rdobuilder 775784
    tmpdepfile2=$dir$base.u
rdobuilder 775784
    tmpdepfile3=$dir$base.u
rdobuilder 775784
    "$@" -M
rdobuilder 775784
  fi
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
rdobuilder 775784
  do
rdobuilder 775784
    test -f "$tmpdepfile" && break
rdobuilder 775784
  done
rdobuilder 775784
  aix_post_process_depfile
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
tcc)
rdobuilder 775784
  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
rdobuilder 775784
  # FIXME: That version still under development at the moment of writing.
rdobuilder 775784
  #        Make that this statement remains true also for stable, released
rdobuilder 775784
  #        versions.
rdobuilder 775784
  # It will wrap lines (doesn't matter whether long or short) with a
rdobuilder 775784
  # trailing '\', as in:
rdobuilder 775784
  #
rdobuilder 775784
  #   foo.o : \
rdobuilder 775784
  #    foo.c \
rdobuilder 775784
  #    foo.h \
rdobuilder 775784
  #
rdobuilder 775784
  # It will put a trailing '\' even on the last line, and will use leading
rdobuilder 775784
  # spaces rather than leading tabs (at least since its commit 0394caf7
rdobuilder 775784
  # "Emit spaces for -MD").
rdobuilder 775784
  "$@" -MD -MF "$tmpdepfile"
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
rdobuilder 775784
  # We have to change lines of the first kind to '$object: \'.
rdobuilder 775784
  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
rdobuilder 775784
  # And for each line of the second kind, we have to emit a 'dep.h:'
rdobuilder 775784
  # dummy dependency, to avoid the deleted-header problem.
rdobuilder 775784
  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
## The order of this option in the case statement is important, since the
rdobuilder 775784
## shell code in configure will try each of these formats in the order
rdobuilder 775784
## listed in this file.  A plain '-MD' option would be understood by many
rdobuilder 775784
## compilers, so we must ensure this comes after the gcc and icc options.
rdobuilder 775784
pgcc)
rdobuilder 775784
  # Portland's C compiler understands '-MD'.
rdobuilder 775784
  # Will always output deps to 'file.d' where file is the root name of the
rdobuilder 775784
  # source file under compilation, even if file resides in a subdirectory.
rdobuilder 775784
  # The object file name does not affect the name of the '.d' file.
rdobuilder 775784
  # pgcc 10.2 will output
rdobuilder 775784
  #    foo.o: sub/foo.c sub/foo.h
rdobuilder 775784
  # and will wrap long lines using '\' :
rdobuilder 775784
  #    foo.o: sub/foo.c ... \
rdobuilder 775784
  #     sub/foo.h ... \
rdobuilder 775784
  #     ...
rdobuilder 775784
  set_dir_from "$object"
rdobuilder 775784
  # Use the source, not the object, to determine the base name, since
rdobuilder 775784
  # that's sadly what pgcc will do too.
rdobuilder 775784
  set_base_from "$source"
rdobuilder 775784
  tmpdepfile=$base.d
rdobuilder 775784
rdobuilder 775784
  # For projects that build the same source file twice into different object
rdobuilder 775784
  # files, the pgcc approach of using the *source* file root name can cause
rdobuilder 775784
  # problems in parallel builds.  Use a locking strategy to avoid stomping on
rdobuilder 775784
  # the same $tmpdepfile.
rdobuilder 775784
  lockdir=$base.d-lock
rdobuilder 775784
  trap "
rdobuilder 775784
    echo '$0: caught signal, cleaning up...' >&2
rdobuilder 775784
    rmdir '$lockdir'
rdobuilder 775784
    exit 1
rdobuilder 775784
  " 1 2 13 15
rdobuilder 775784
  numtries=100
rdobuilder 775784
  i=$numtries
rdobuilder 775784
  while test $i -gt 0; do
rdobuilder 775784
    # mkdir is a portable test-and-set.
rdobuilder 775784
    if mkdir "$lockdir" 2>/dev/null; then
rdobuilder 775784
      # This process acquired the lock.
rdobuilder 775784
      "$@" -MD
rdobuilder 775784
      stat=$?
rdobuilder 775784
      # Release the lock.
rdobuilder 775784
      rmdir "$lockdir"
rdobuilder 775784
      break
rdobuilder 775784
    else
rdobuilder 775784
      # If the lock is being held by a different process, wait
rdobuilder 775784
      # until the winning process is done or we timeout.
rdobuilder 775784
      while test -d "$lockdir" && test $i -gt 0; do
rdobuilder 775784
        sleep 1
rdobuilder 775784
        i=`expr $i - 1`
rdobuilder 775784
      done
rdobuilder 775784
    fi
rdobuilder 775784
    i=`expr $i - 1`
rdobuilder 775784
  done
rdobuilder 775784
  trap - 1 2 13 15
rdobuilder 775784
  if test $i -le 0; then
rdobuilder 775784
    echo "$0: failed to acquire lock after $numtries attempts" >&2
rdobuilder 775784
    echo "$0: check lockdir '$lockdir'" >&2
rdobuilder 775784
    exit 1
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  # Each line is of the form `foo.o: dependent.h',
rdobuilder 775784
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
rdobuilder 775784
  # Do two passes, one to just change these to
rdobuilder 775784
  # `$object: dependent.h' and one to simply `dependent.h:'.
rdobuilder 775784
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
rdobuilder 775784
  # Some versions of the HPUX 10.20 sed can't process this invocation
rdobuilder 775784
  # correctly.  Breaking it into two sed invocations is a workaround.
rdobuilder 775784
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
rdobuilder 775784
    | sed -e 's/$/ :/' >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
hp2)
rdobuilder 775784
  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
rdobuilder 775784
  # compilers, which have integrated preprocessors.  The correct option
rdobuilder 775784
  # to use with these is +Maked; it writes dependencies to a file named
rdobuilder 775784
  # 'foo.d', which lands next to the object file, wherever that
rdobuilder 775784
  # happens to be.
rdobuilder 775784
  # Much of this is similar to the tru64 case; see comments there.
rdobuilder 775784
  set_dir_from  "$object"
rdobuilder 775784
  set_base_from "$object"
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    tmpdepfile1=$dir$base.d
rdobuilder 775784
    tmpdepfile2=$dir.libs/$base.d
rdobuilder 775784
    "$@" -Wc,+Maked
rdobuilder 775784
  else
rdobuilder 775784
    tmpdepfile1=$dir$base.d
rdobuilder 775784
    tmpdepfile2=$dir$base.d
rdobuilder 775784
    "$@" +Maked
rdobuilder 775784
  fi
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
     rm -f "$tmpdepfile1" "$tmpdepfile2"
rdobuilder 775784
     exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
rdobuilder 775784
  do
rdobuilder 775784
    test -f "$tmpdepfile" && break
rdobuilder 775784
  done
rdobuilder 775784
  if test -f "$tmpdepfile"; then
rdobuilder 775784
    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
rdobuilder 775784
    # Add 'dependent.h:' lines.
rdobuilder 775784
    sed -ne '2,${
rdobuilder 775784
               s/^ *//
rdobuilder 775784
               s/ \\*$//
rdobuilder 775784
               s/$/:/
rdobuilder 775784
               p
rdobuilder 775784
             }' "$tmpdepfile" >> "$depfile"
rdobuilder 775784
  else
rdobuilder 775784
    make_dummy_depfile
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$tmpdepfile" "$tmpdepfile2"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
tru64)
rdobuilder 775784
  # The Tru64 compiler uses -MD to generate dependencies as a side
rdobuilder 775784
  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
rdobuilder 775784
  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
rdobuilder 775784
  # dependencies in 'foo.d' instead, so we check for that too.
rdobuilder 775784
  # Subdirectories are respected.
rdobuilder 775784
  set_dir_from  "$object"
rdobuilder 775784
  set_base_from "$object"
rdobuilder 775784
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    # Libtool generates 2 separate objects for the 2 libraries.  These
rdobuilder 775784
    # two compilations output dependencies in $dir.libs/$base.o.d and
rdobuilder 775784
    # in $dir$base.o.d.  We have to check for both files, because
rdobuilder 775784
    # one of the two compilations can be disabled.  We should prefer
rdobuilder 775784
    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
rdobuilder 775784
    # automatically cleaned when .libs/ is deleted, while ignoring
rdobuilder 775784
    # the former would cause a distcleancheck panic.
rdobuilder 775784
    tmpdepfile1=$dir$base.o.d          # libtool 1.5
rdobuilder 775784
    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
rdobuilder 775784
    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
rdobuilder 775784
    "$@" -Wc,-MD
rdobuilder 775784
  else
rdobuilder 775784
    tmpdepfile1=$dir$base.d
rdobuilder 775784
    tmpdepfile2=$dir$base.d
rdobuilder 775784
    tmpdepfile3=$dir$base.d
rdobuilder 775784
    "$@" -MD
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  stat=$?
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
rdobuilder 775784
  do
rdobuilder 775784
    test -f "$tmpdepfile" && break
rdobuilder 775784
  done
rdobuilder 775784
  # Same post-processing that is required for AIX mode.
rdobuilder 775784
  aix_post_process_depfile
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
msvc7)
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    showIncludes=-Wc,-showIncludes
rdobuilder 775784
  else
rdobuilder 775784
    showIncludes=-showIncludes
rdobuilder 775784
  fi
rdobuilder 775784
  "$@" $showIncludes > "$tmpdepfile"
rdobuilder 775784
  stat=$?
rdobuilder 775784
  grep -v '^Note: including file: ' "$tmpdepfile"
rdobuilder 775784
  if test $stat -ne 0; then
rdobuilder 775784
    rm -f "$tmpdepfile"
rdobuilder 775784
    exit $stat
rdobuilder 775784
  fi
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  echo "$object : \\" > "$depfile"
rdobuilder 775784
  # The first sed program below extracts the file names and escapes
rdobuilder 775784
  # backslashes for cygpath.  The second sed program outputs the file
rdobuilder 775784
  # name when reading, but also accumulates all include files in the
rdobuilder 775784
  # hold buffer in order to output them again at the end.  This only
rdobuilder 775784
  # works with sed implementations that can handle large buffers.
rdobuilder 775784
  sed < "$tmpdepfile" -n '
rdobuilder 775784
/^Note: including file:  *\(.*\)/ {
rdobuilder 775784
  s//\1/
rdobuilder 775784
  s/\\/\\\\/g
rdobuilder 775784
  p
rdobuilder 775784
}' | $cygpath_u | sort -u | sed -n '
rdobuilder 775784
s/ /\\ /g
rdobuilder 775784
s/\(.*\)/'"$tab"'\1 \\/p
rdobuilder 775784
s/.\(.*\) \\/\1:/
rdobuilder 775784
H
rdobuilder 775784
$ {
rdobuilder 775784
  s/.*/'"$tab"'/
rdobuilder 775784
  G
rdobuilder 775784
  p
rdobuilder 775784
}' >> "$depfile"
rdobuilder 775784
  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
msvc7msys)
rdobuilder 775784
  # This case exists only to let depend.m4 do its work.  It works by
rdobuilder 775784
  # looking at the text of this script.  This case will never be run,
rdobuilder 775784
  # since it is checked for above.
rdobuilder 775784
  exit 1
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
#nosideeffect)
rdobuilder 775784
  # This comment above is used by automake to tell side-effect
rdobuilder 775784
  # dependency tracking mechanisms from slower ones.
rdobuilder 775784
rdobuilder 775784
dashmstdout)
rdobuilder 775784
  # Important note: in order to support this mode, a compiler *must*
rdobuilder 775784
  # always write the preprocessed file to stdout, regardless of -o.
rdobuilder 775784
  "$@" || exit $?
rdobuilder 775784
rdobuilder 775784
  # Remove the call to Libtool.
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    while test "X$1" != 'X--mode=compile'; do
rdobuilder 775784
      shift
rdobuilder 775784
    done
rdobuilder 775784
    shift
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  # Remove '-o $object'.
rdobuilder 775784
  IFS=" "
rdobuilder 775784
  for arg
rdobuilder 775784
  do
rdobuilder 775784
    case $arg in
rdobuilder 775784
    -o)
rdobuilder 775784
      shift
rdobuilder 775784
      ;;
rdobuilder 775784
    $object)
rdobuilder 775784
      shift
rdobuilder 775784
      ;;
rdobuilder 775784
    *)
rdobuilder 775784
      set fnord "$@" "$arg"
rdobuilder 775784
      shift # fnord
rdobuilder 775784
      shift # $arg
rdobuilder 775784
      ;;
rdobuilder 775784
    esac
rdobuilder 775784
  done
rdobuilder 775784
rdobuilder 775784
  test -z "$dashmflag" && dashmflag=-M
rdobuilder 775784
  # Require at least two characters before searching for ':'
rdobuilder 775784
  # in the target name.  This is to cope with DOS-style filenames:
rdobuilder 775784
  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
rdobuilder 775784
  "$@" $dashmflag |
rdobuilder 775784
    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  cat < "$tmpdepfile" > "$depfile"
rdobuilder 775784
  # Some versions of the HPUX 10.20 sed can't process this sed invocation
rdobuilder 775784
  # correctly.  Breaking it into two sed invocations is a workaround.
rdobuilder 775784
  tr ' ' "$nl" < "$tmpdepfile" \
rdobuilder 775784
    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
rdobuilder 775784
    | sed -e 's/$/ :/' >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
dashXmstdout)
rdobuilder 775784
  # This case only exists to satisfy depend.m4.  It is never actually
rdobuilder 775784
  # run, as this mode is specially recognized in the preamble.
rdobuilder 775784
  exit 1
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
makedepend)
rdobuilder 775784
  "$@" || exit $?
rdobuilder 775784
  # Remove any Libtool call
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    while test "X$1" != 'X--mode=compile'; do
rdobuilder 775784
      shift
rdobuilder 775784
    done
rdobuilder 775784
    shift
rdobuilder 775784
  fi
rdobuilder 775784
  # X makedepend
rdobuilder 775784
  shift
rdobuilder 775784
  cleared=no eat=no
rdobuilder 775784
  for arg
rdobuilder 775784
  do
rdobuilder 775784
    case $cleared in
rdobuilder 775784
    no)
rdobuilder 775784
      set ""; shift
rdobuilder 775784
      cleared=yes ;;
rdobuilder 775784
    esac
rdobuilder 775784
    if test $eat = yes; then
rdobuilder 775784
      eat=no
rdobuilder 775784
      continue
rdobuilder 775784
    fi
rdobuilder 775784
    case "$arg" in
rdobuilder 775784
    -D*|-I*)
rdobuilder 775784
      set fnord "$@" "$arg"; shift ;;
rdobuilder 775784
    # Strip any option that makedepend may not understand.  Remove
rdobuilder 775784
    # the object too, otherwise makedepend will parse it as a source file.
rdobuilder 775784
    -arch)
rdobuilder 775784
      eat=yes ;;
rdobuilder 775784
    -*|$object)
rdobuilder 775784
      ;;
rdobuilder 775784
    *)
rdobuilder 775784
      set fnord "$@" "$arg"; shift ;;
rdobuilder 775784
    esac
rdobuilder 775784
  done
rdobuilder 775784
  obj_suffix=`echo "$object" | sed 's/^.*\././'`
rdobuilder 775784
  touch "$tmpdepfile"
rdobuilder 775784
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  # makedepend may prepend the VPATH from the source file name to the object.
rdobuilder 775784
  # No need to regex-escape $object, excess matching of '.' is harmless.
rdobuilder 775784
  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
rdobuilder 775784
  # Some versions of the HPUX 10.20 sed can't process the last invocation
rdobuilder 775784
  # correctly.  Breaking it into two sed invocations is a workaround.
rdobuilder 775784
  sed '1,2d' "$tmpdepfile" \
rdobuilder 775784
    | tr ' ' "$nl" \
rdobuilder 775784
    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
rdobuilder 775784
    | sed -e 's/$/ :/' >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile" "$tmpdepfile".bak
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
cpp)
rdobuilder 775784
  # Important note: in order to support this mode, a compiler *must*
rdobuilder 775784
  # always write the preprocessed file to stdout.
rdobuilder 775784
  "$@" || exit $?
rdobuilder 775784
rdobuilder 775784
  # Remove the call to Libtool.
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    while test "X$1" != 'X--mode=compile'; do
rdobuilder 775784
      shift
rdobuilder 775784
    done
rdobuilder 775784
    shift
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  # Remove '-o $object'.
rdobuilder 775784
  IFS=" "
rdobuilder 775784
  for arg
rdobuilder 775784
  do
rdobuilder 775784
    case $arg in
rdobuilder 775784
    -o)
rdobuilder 775784
      shift
rdobuilder 775784
      ;;
rdobuilder 775784
    $object)
rdobuilder 775784
      shift
rdobuilder 775784
      ;;
rdobuilder 775784
    *)
rdobuilder 775784
      set fnord "$@" "$arg"
rdobuilder 775784
      shift # fnord
rdobuilder 775784
      shift # $arg
rdobuilder 775784
      ;;
rdobuilder 775784
    esac
rdobuilder 775784
  done
rdobuilder 775784
rdobuilder 775784
  "$@" -E \
rdobuilder 775784
    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
rdobuilder 775784
             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
rdobuilder 775784
    | sed '$ s: \\$::' > "$tmpdepfile"
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  echo "$object : \\" > "$depfile"
rdobuilder 775784
  cat < "$tmpdepfile" >> "$depfile"
rdobuilder 775784
  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
msvisualcpp)
rdobuilder 775784
  # Important note: in order to support this mode, a compiler *must*
rdobuilder 775784
  # always write the preprocessed file to stdout.
rdobuilder 775784
  "$@" || exit $?
rdobuilder 775784
rdobuilder 775784
  # Remove the call to Libtool.
rdobuilder 775784
  if test "$libtool" = yes; then
rdobuilder 775784
    while test "X$1" != 'X--mode=compile'; do
rdobuilder 775784
      shift
rdobuilder 775784
    done
rdobuilder 775784
    shift
rdobuilder 775784
  fi
rdobuilder 775784
rdobuilder 775784
  IFS=" "
rdobuilder 775784
  for arg
rdobuilder 775784
  do
rdobuilder 775784
    case "$arg" in
rdobuilder 775784
    -o)
rdobuilder 775784
      shift
rdobuilder 775784
      ;;
rdobuilder 775784
    $object)
rdobuilder 775784
      shift
rdobuilder 775784
      ;;
rdobuilder 775784
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
rdobuilder 775784
        set fnord "$@"
rdobuilder 775784
        shift
rdobuilder 775784
        shift
rdobuilder 775784
        ;;
rdobuilder 775784
    *)
rdobuilder 775784
        set fnord "$@" "$arg"
rdobuilder 775784
        shift
rdobuilder 775784
        shift
rdobuilder 775784
        ;;
rdobuilder 775784
    esac
rdobuilder 775784
  done
rdobuilder 775784
  "$@" -E 2>/dev/null |
rdobuilder 775784
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rdobuilder 775784
  rm -f "$depfile"
rdobuilder 775784
  echo "$object : \\" > "$depfile"
rdobuilder 775784
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
rdobuilder 775784
  echo "$tab" >> "$depfile"
rdobuilder 775784
  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rdobuilder 775784
  rm -f "$tmpdepfile"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
msvcmsys)
rdobuilder 775784
  # This case exists only to let depend.m4 do its work.  It works by
rdobuilder 775784
  # looking at the text of this script.  This case will never be run,
rdobuilder 775784
  # since it is checked for above.
rdobuilder 775784
  exit 1
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
none)
rdobuilder 775784
  exec "$@"
rdobuilder 775784
  ;;
rdobuilder 775784
rdobuilder 775784
*)
rdobuilder 775784
  echo "Unknown depmode $depmode" 1>&2
rdobuilder 775784
  exit 1
rdobuilder 775784
  ;;
rdobuilder 775784
esac
rdobuilder 775784
rdobuilder 775784
exit 0
rdobuilder 775784
rdobuilder 775784
# Local Variables:
rdobuilder 775784
# mode: shell-script
rdobuilder 775784
# sh-indentation: 2
rdobuilder 775784
# eval: (add-hook 'write-file-hooks 'time-stamp)
rdobuilder 775784
# time-stamp-start: "scriptversion="
rdobuilder 775784
# time-stamp-format: "%:y-%02m-%02d.%02H"
rdobuilder 775784
# time-stamp-time-zone: "UTC"
rdobuilder 775784
# time-stamp-end: "; # UTC"
rdobuilder 775784
# End: