summaryrefslogtreecommitdiff
path: root/contrib/tools
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools')
-rw-r--r--contrib/tools/Makefile21
-rwxr-xr-xcontrib/tools/add-emacs-variables28
-rwxr-xr-xcontrib/tools/find-sources50
-rwxr-xr-xcontrib/tools/make-tags9
4 files changed, 108 insertions, 0 deletions
diff --git a/contrib/tools/Makefile b/contrib/tools/Makefile
new file mode 100644
index 00000000000..95e97d72bad
--- /dev/null
+++ b/contrib/tools/Makefile
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------
+#
+# Makefile --
+#
+# Makefile for contrib tools.
+#
+#-------------------------------------------------------------------------
+
+PGDIR = ../..
+SRCDIR = $(PGDIR)/src
+
+include $(SRCDIR)/Makefile.global
+
+all:
+
+install:
+
+clean:
+ rm -f *~
+
+distclean: clean
diff --git a/contrib/tools/add-emacs-variables b/contrib/tools/add-emacs-variables
new file mode 100755
index 00000000000..7b50aef6593
--- /dev/null
+++ b/contrib/tools/add-emacs-variables
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Add local variables to C sources files to set emacs C style to 4-space tabs.
+#
+# Usage: cd $PG_HOME && add-emacs-variables `find . -name \*.[chy] -print`
+
+for f in $*; do
+ if [ -L $f ] || grep -q '^ \* Local Variables:' $f; then
+ continue
+ fi
+ echo $f
+ touch -r $f /tmp/.add-local-variables.$$
+ cat <<- ' EOF' >> $f
+
+ /*
+ * Local Variables:
+ * tab-width: 4
+ * c-indent-level: 4
+ * c-basic-offset: 4
+ * End:
+ */
+ EOF
+ touch -r /tmp/.add-local-variables.$$ $f
+done
+
+rm -f /tmp/.add-local-variables.$$
+
+# end of file
diff --git a/contrib/tools/find-sources b/contrib/tools/find-sources
new file mode 100755
index 00000000000..6d4c5ae60e2
--- /dev/null
+++ b/contrib/tools/find-sources
@@ -0,0 +1,50 @@
+#!/bin/echo Usage: source
+#
+# Set the shell variables files, cfiles, hfiles, yfiles and sfiles with
+# the names of all .c, .h, .y, and .S files in current directory tree.
+# Define also some shell functions to grep the files. Typical usage is:
+#
+# $ cd src/
+# $ source ../contrib/tools/find-sources
+# $ gh BLCKSZ # grep BLCKSZ in .h files
+# $ gcl MAXTUPLEN # list all .c files containing MAXTUPLEN
+#
+# THIS SCRIPT MUST BE SOURCED FROM BASH.
+#
+# Copyright (C) 1999 Massimo Dal Zotto <dz@cs.unitn.it>
+#
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+
+# Build the file lists
+dir=${1-`pwd`}/
+cfiles=`find $dir -name \*.c | sort`
+hfiles=`find $dir -name \*.h | sort`
+yfiles=`find $dir -name \*.y | sort`
+sfiles=`find $dir -name \*.S | sort`
+files="$hfiles $cfiles $yfiles $sfiles"
+
+# Define some functions to grep the files in the lists
+function g() { grep -- "$*" $files /dev/null; }
+function gc() { grep -- "$*" $cfiles /dev/null; }
+function gh() { grep -- "$*" $hfiles /dev/null; }
+function gy() { grep -- "$*" $yfiles /dev/null; }
+function gS() { grep -- "$*" $sfiles /dev/null; }
+function gl() { grep -l -- "$*" $files /dev/null; }
+function gcl() { grep -l -- "$*" $cfiles /dev/null; }
+function ghl() { grep -l -- "$*" $hfiles /dev/null; }
+function gyl() { grep -l -- "$*" $yfiles /dev/null; }
+function gSl() { grep -l -- "$*" $sfiles /dev/null; }
+
+# end of file
diff --git a/contrib/tools/make-tags b/contrib/tools/make-tags
new file mode 100755
index 00000000000..b5b606314a6
--- /dev/null
+++ b/contrib/tools/make-tags
@@ -0,0 +1,9 @@
+#!/bin/bash
+#
+# Makes an emacs tagfile for all .[chS] and .el files in the current
+# directory tree.
+
+etags $(find . -name \*.h) 2>/dev/null || true
+etags -a $(find . -name \*.c) 2>/dev/null || true
+etags -a $(find . -name \*.S) 2>/dev/null || true
+etags -a $(find . -name \*.el) 2>/dev/null || true