projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'snapshot-start' into stable
[gnulib.git]
/
build-aux
/
depcomp
diff --git
a/build-aux/depcomp
b/build-aux/depcomp
index
bd0ac08
..
7856bae
100755
(executable)
--- a/
build-aux/depcomp
+++ b/
build-aux/depcomp
@@
-1,10
+1,13
@@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
+<<<<<<< HEAD
scriptversion=2011-12-04.11; # UTC
scriptversion=2011-12-04.11; # UTC
+=======
+scriptversion=2012-03-12.15; # UTC
+>>>>>>> snapshot-start
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 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
# 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
@@
-28,7
+31,7
@@
scriptversion=2011-12-04.11; # UTC
case $1 in
'')
case $1 in
'')
- echo "$0: No command. Try
\`
$0 --help' for more information." 1>&2
+ echo "$0: No command. Try
'
$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
exit 1;
;;
-h | --h*)
@@
-40,8
+43,8
@@
as side-effects.
Environment variables:
depmode Dependency tracking mode.
Environment variables:
depmode Dependency tracking mode.
- source Source file read by
`
PROGRAMS ARGS'.
- object Object file output by
`
PROGRAMS ARGS'.
+ source Source file read by
'
PROGRAMS ARGS'.
+ object Object file output by
'
PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
@@
-57,6
+60,12
@@
EOF
;;
esac
;;
esac
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
@@
-102,6
+111,12
@@
if test "$depmode" = msvc7msys; then
depmode=msvc7
fi
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
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@
-156,15
+171,14
@@
gcc)
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## 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.
+## This next piece of magic avoids the
"deleted header file"
problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## 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.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## 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 ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
+ 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.
## 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.
@@
-203,18
+217,15
@@
sgi)
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like
`
#:fec' to the end of the
+ # the IRIX cc adds comments like
'
#:fec' to the end of the
# dependency line.
# dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
+ tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> "$depfile"
+ tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
+ tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
@@
-226,10
+237,17
@@
sgi)
rm -f "$tmpdepfile"
;;
rm -f "$tmpdepfile"
;;
+xlc)
+ # 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
+ ;;
+
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts
`
$object:' at the
+ # 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|/[^/]*$|/|'`
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@
-259,12
+277,11
@@
aix)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- # Each line is of the form
`
foo.o: dependent.h'.
+ # Each line is of the form
'
foo.o: dependent.h'.
# Do two passes, one to just change these to
# Do two passes, one to just change these to
- #
`$object: dependent.h' and one to simply `
dependent.h:'.
+ #
'$object: dependent.h' and one to simply '
dependent.h:'.
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@
-275,7
+292,7
@@
aix)
;;
icc)
;;
icc)
- # Intel's C compiler understands
`
-MD -MF file'. However on
+ # Intel's C compiler understands
'
-MD -MF file'. However on
# icc -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
# icc -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
@@
-300,10
+317,10
@@
icc)
exit $stat
fi
rm -f "$depfile"
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 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
# Do two passes, one to just change these to
- #
`$object: dependent.h' and one to simply `
dependent.h:'.
+ #
'$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,^[^:]*:,$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.
@@
-344,7
+361,7
@@
hp2)
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add
`
dependent.h:' lines.
+ # Add
'
dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
sed -ne '2,${
s/^ *//
s/ \\*$//
@@
-359,9
+376,9
@@
hp2)
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
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'.
+ # 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
# 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.
+ # 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=
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
@@
-407,8
+424,7
@@
tru64)
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
else
echo "#dummy" > "$depfile"
fi
@@
-443,11
+459,11
@@
msvc7)
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
-s/\(.*\)/
\1 \\/p
+s/\(.*\)/
'"$tab"'
\1 \\/p
s/.\(.*\) \\/\1:/
H
$ {
s/.\(.*\) \\/\1:/
H
$ {
- s/.*/
/
+ s/.*/
'"$tab"'
/
G
p
}' >> "$depfile"
G
p
}' >> "$depfile"
@@
-478,7
+494,7
@@
dashmstdout)
shift
fi
shift
fi
- # Remove
`
-o $object'.
+ # Remove
'
-o $object'.
IFS=" "
for arg
do
IFS=" "
for arg
do
@@
-498,15
+514,14
@@
dashmstdout)
done
test -z "$dashmflag" && dashmflag=-M
done
test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for
`
:'
+ # Require at least two characters before searching for
'
:'
# in the target name. This is to cope with DOS-style filenames:
# 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.
+ # a dependency such as
'c:/foo/bar' could be seen as target '
c' otherwise.
"$@" $dashmflag |
"$@" $dashmflag |
- sed 's:^[
]*[^: ][^:][^:]*\:[
]*:'"$object"'\: :' > "$tmpdepfile"
+ sed 's:^[
'"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"'
]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
+ 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 invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@
-562,8
+577,7
@@
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"
# 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 ' ' "$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 this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@
-583,7
+597,7
@@
cpp)
shift
fi
shift
fi
- # Remove
`
-o $object'.
+ # Remove
'
-o $object'.
IFS=" "
for arg
do
IFS=" "
for arg
do
@@
-652,8
+666,8
@@
msvisualcpp)
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::
\1 \\:p' >> "$depfile"
- echo "
" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::
'"$tab"'
\1 \\:p' >> "$depfile"
+ echo "
$tab
" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;