## 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
+## 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
+ # 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.
+ # 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 \ :
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
- ##base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
- # use the source, not the object to determine the base name, since that's
- # sadly what pgcc will do too
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
base=`echo "$source" | sed -e 's|^.*/||' -e 's/\.[-_a-zA-Z0-9]*$//'`
tmpdepfile="$base.d"
# 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...' ; rm -rf $lockdir" 1 2 13 15
+ trap "echo '$0: caught signal, cleaning up...' >&2; rm -rf $lockdir" 1 2 13 15
numtries=100
i=$numtries
while test $i -gt 0 ; do
- # mkdir is a portable test-and-set
+ # mkdir is a portable test-and-set.
if mkdir $lockdir 2>/dev/null; then
- # this process acquired the lock
+ # This process acquired the lock.
"$@" -MD
stat=$?
- # release the lock
+ # Release the lock.
rm -rf $lockdir
break
else
## 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;
+ 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 ERROR: failed to acquire lock after $numtries attempts, check lockdir '$lockdir'"
- exit 1;
+ 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 -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi