On 04/17/2011 04:26 AM, Andrew Dunstan wrote:
Now we could certainly make this quite a bit slicker. Apart from
anything else, we should change the indent source code tarball so it
unpacks into its own directory. Having it unpack into the current
directory is ugly and unfriendly. And we should get rid of the "make
clean" line in the install target of entab's makefile, which just
seems totally ill-conceived.
It might also be worth setting it up so that instead of having to pass
a path to a typedefs file on the command line, we default to a file
sitting in, say, /usr/local/etc. Then you'd just be able to say
"pgindent my_file.c".
OK, I have most of these bits.
A new tarball of indent is available at
<http://developer.postgresql.org/~andrew/indent.netbsd.patched.tgz> and
if everyone agrees I'll push it out to the mirrors.
Attached are two patches, one to remove some infelicity in the entab
makefile, and the other to allow skipping specifying the typedefs file
location either by setting it in an environment variable or by putting
it in a hard coded location.
cheers
andrew
diff --git a/src/tools/entab/Makefile b/src/tools/entab/Makefile
index de81818..6372971 100644
--- a/src/tools/entab/Makefile
+++ b/src/tools/entab/Makefile
@@ -20,9 +20,7 @@ halt.o : halt.c
clean:
rm -f *.o $(TARGET) log core
-install:
- make clean
- make CFLAGS=-O
+install: $(TARGET)
install -s $(TARGET) $(BINDIR)
rm -f $(BINDIR)/detab
ln $(BINDIR)/$(TARGET) $(BINDIR)/detab
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index 05f69ef..08dde0c 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -13,13 +13,32 @@
#
# void x(struct xxc * a);
-if [ "$#" -lt 2 ]
-then echo "Usage: $(basename $0) typedefs file [...]" 1>&2
- exit 1
+# look for typedefs in the first argument, if there is a second argument and
+# the first argument contains the string 'typedef' in its name, or in the
+# environment setting PGTYPEDEFS, or in a hardcoded location, whichever
+# matches first.
+
+
+if [ $# -gt 1 ]
+then
+ case `basenname $0` in
+ *typedef*)
+ TYPDEFS=$1
+ shift
+ ;;
+ *)
+ ;;
+ esac
fi
-TYPEDEFS="$1"
-shift
+test -z "$TYPEDEFS" && TYPEDEFS=$PGTYPEDEFS
+test -z "$TYPEDEFS" && TYPEDEFS=/usr/local/etc/pgtypedefs.list
+
+if [ ! -f "$TYPEDEFS" ]
+then
+ echo "Cannot find typedefs file '$TYPEDEFS'"
+ exit 1
+fi
if [ -z "$INDENT" ]
then
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers