|
version 1.1.1.1, 2012/02/21 16:32:16
|
version 1.1.1.2, 2012/10/09 09:36:45
|
|
Line 1
|
Line 1
|
| #! /bin/sh |
#! /bin/sh |
| # depcomp - compile a program generating dependencies as side-effects |
# depcomp - compile a program generating dependencies as side-effects |
| |
|
| scriptversion=2009-04-28.21; # UTC | scriptversion=2011-12-04.11; # UTC |
| |
|
| # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free | # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, |
| # Software Foundation, Inc. | # 2011 Free Software Foundation, Inc. |
| |
|
| # This program is free software; you can redistribute it and/or modify |
# 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 |
# it under the terms of the GNU General Public License as published by |
|
Line 44 Environment variables:
|
Line 44 Environment variables:
|
| object Object file output by `PROGRAMS ARGS'. |
object Object file output by `PROGRAMS ARGS'. |
| DEPDIR directory where to store dependencies. |
DEPDIR directory where to store dependencies. |
| depfile Dependency file to output. |
depfile Dependency file to output. |
| tmpdepfile Temporary file to use when outputing dependencies. | tmpdepfile Temporary file to use when outputting dependencies. |
| libtool Whether libtool is used (yes/no). |
libtool Whether libtool is used (yes/no). |
| |
|
| Report bugs to <bug-automake@gnu.org>. |
Report bugs to <bug-automake@gnu.org>. |
|
Line 90 if test "$depmode" = msvcmsys; then
|
Line 90 if test "$depmode" = msvcmsys; then
|
| # This is just like msvisualcpp but w/o cygpath translation. |
# This is just like msvisualcpp but w/o cygpath translation. |
| # Just convert the backslash-escaped backslashes to single forward |
# Just convert the backslash-escaped backslashes to single forward |
| # slashes to satisfy depend.m4 |
# slashes to satisfy depend.m4 |
| cygpath_u="sed s,\\\\\\\\,/,g" | cygpath_u='sed s,\\\\,/,g' |
| depmode=msvisualcpp |
depmode=msvisualcpp |
| fi |
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 |
| |
fi |
| |
|
| case "$depmode" in |
case "$depmode" in |
| gcc3) |
gcc3) |
| ## gcc 3 implements dependency tracking that does exactly what |
## gcc 3 implements dependency tracking that does exactly what |
|
Line 158 gcc)
|
Line 166 gcc)
|
| ' < "$tmpdepfile" | |
' < "$tmpdepfile" | |
| ## Some versions of gcc put a space before the `:'. On the theory |
## 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 |
## that the space means something, we add a space to the output as |
| ## well. | ## 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 |
## Some versions of the HPUX 10.20 sed can't process this invocation |
| ## correctly. Breaking it into two sed invocations is a workaround. |
## correctly. Breaking it into two sed invocations is a workaround. |
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ |
| | | sed -e 's/$/ :/' >> "$depfile" |
| rm -f "$tmpdepfile" |
rm -f "$tmpdepfile" |
| ;; |
;; |
| |
|
|
Line 405 tru64)
|
Line 415 tru64)
|
| rm -f "$tmpdepfile" |
rm -f "$tmpdepfile" |
| ;; |
;; |
| |
|
| |
msvc7) |
| |
if test "$libtool" = yes; then |
| |
showIncludes=-Wc,-showIncludes |
| |
else |
| |
showIncludes=-showIncludes |
| |
fi |
| |
"$@" $showIncludes > "$tmpdepfile" |
| |
stat=$? |
| |
grep -v '^Note: including file: ' "$tmpdepfile" |
| |
if test "$stat" = 0; then : |
| |
else |
| |
rm -f "$tmpdepfile" |
| |
exit $stat |
| |
fi |
| |
rm -f "$depfile" |
| |
echo "$object : \\" > "$depfile" |
| |
# The first sed program below extracts the file names and escapes |
| |
# backslashes for cygpath. The second sed program outputs the file |
| |
# name when reading, but also accumulates all include files in the |
| |
# hold buffer in order to output them again at the end. This only |
| |
# works with sed implementations that can handle large buffers. |
| |
sed < "$tmpdepfile" -n ' |
| |
/^Note: including file: *\(.*\)/ { |
| |
s//\1/ |
| |
s/\\/\\\\/g |
| |
p |
| |
}' | $cygpath_u | sort -u | sed -n ' |
| |
s/ /\\ /g |
| |
s/\(.*\)/ \1 \\/p |
| |
s/.\(.*\) \\/\1:/ |
| |
H |
| |
$ { |
| |
s/.*/ / |
| |
G |
| |
p |
| |
}' >> "$depfile" |
| |
rm -f "$tmpdepfile" |
| |
;; |
| |
|
| |
msvc7msys) |
| |
# This case exists only to let depend.m4 do its work. It works by |
| |
# looking at the text of this script. This case will never be run, |
| |
# since it is checked for above. |
| |
exit 1 |
| |
;; |
| |
|
| #nosideeffect) |
#nosideeffect) |
| # This comment above is used by automake to tell side-effect |
# This comment above is used by automake to tell side-effect |
| # dependency tracking mechanisms from slower ones. |
# dependency tracking mechanisms from slower ones. |
|
Line 503 makedepend)
|
Line 559 makedepend)
|
| touch "$tmpdepfile" |
touch "$tmpdepfile" |
| ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" |
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" |
| rm -f "$depfile" |
rm -f "$depfile" |
| cat < "$tmpdepfile" > "$depfile" | # 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 ' ' ' |
sed '1,2d' "$tmpdepfile" | tr ' ' ' |
| ' | \ |
' | \ |
| ## Some versions of the HPUX 10.20 sed can't process this invocation |
## Some versions of the HPUX 10.20 sed can't process this invocation |