svn commit: r202636 - head/usr.bin/unifdef
Tony Finch
fanf at FreeBSD.org
Tue Jan 19 18:18:16 UTC 2010
Author: fanf
Date: Tue Jan 19 18:18:15 2010
New Revision: 202636
URL: http://svn.freebsd.org/changeset/base/202636
Log:
Sync unifdefall with upstream. It no longer relies entirely on $PATH
to find unifdef, in order to support running the test suite before
installing.
Modified:
head/usr.bin/unifdef/unifdefall.sh
Modified: head/usr.bin/unifdef/unifdefall.sh
==============================================================================
--- head/usr.bin/unifdef/unifdefall.sh Tue Jan 19 18:13:54 2010 (r202635)
+++ head/usr.bin/unifdef/unifdefall.sh Tue Jan 19 18:18:15 2010 (r202636)
@@ -2,7 +2,8 @@
#
# unifdefall: remove all the #if's from a source file
#
-# Copyright (c) 2002 - 2009 Tony Finch <dot at dotat.at>. All rights reserved.
+# Copyright (c) 2002 - 2010 Tony Finch <dot at dotat.at>
+# Copyright (c) 2009 - 2010 Jonathan Nieder <jrnieder at gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -25,19 +26,27 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $dotat: unifdef/unifdefall.sh,v 1.24 2009/11/26 12:54:39 fanf2 Exp $
+# $dotat: unifdef/unifdefall.sh,v 1.27 2010/01/19 16:09:50 fanf2 Exp $
# $FreeBSD$
set -e
-basename=$(basename $0)
+unifdef="$(dirname "$0")/unifdef"
+if [ ! -e "$unifdef" ]
+then
+ unifdef=unifdef
+fi
+# export to the final shell command
+export unifdef
+
+basename=$(basename "$0")
tmp=$(mktemp -d "${TMPDIR:-/tmp}/$basename.XXXXXXXXXX") || exit 2
trap 'rm -r "$tmp" || exit 1' EXIT
export LC_ALL=C
# list of all controlling macros
-unifdef -s "$@" | sort | uniq >"$tmp/ctrl"
+"$unifdef" -s "$@" | sort | uniq >"$tmp/ctrl"
# list of all macro definitions
cpp -dM "$@" | sort | sed 's/^#define //' >"$tmp/hashdefs"
# list of defined macro names
@@ -49,7 +58,7 @@ comm -12 "$tmp/ctrl" "$tmp/alldef" >"$tm
# and converts them to unifdef command-line arguments
sed 's|.*|s/^&\\(([^)]*)\\)\\{0,1\\} /-D&=/p|' <"$tmp/def" >"$tmp/script"
# create the final unifdef command
-{ echo unifdef -k \\
+{ echo '"$unifdef" -k \'
# convert the controlling undefined macros to -U arguments
sed 's/.*/-U& \\/' <"$tmp/undef"
# convert the controlling defined macros to quoted -D arguments
More information about the svn-src-all
mailing list