run-pgindent

text/plain

Filename: run-pgindent
Type: text/plain
Part: 0
Message: Re: Formatting Curmudgeons WAS: MMAP Buffers
#!/bin/bash -ex

# Presume that we're in the pgindent directory at the start.
# TODO this should switch to the directory where this script is located at,
# in case someone calls src/tools/pgident/run-pgident

# Back to the base directory
pushd ../../..

# Sanity check we're in the right place
if [ ! -d src/tools/pgindent ] ; then
  echo run-pgindent can only be run from within the src/tools/pgindent directory, aborting
  popd
  exit 1
fi

echo pgindent setting up environment
wget ftp://ftp.postgresql.org/pub/dev/indent.netbsd.patched.tgz
mkdir -p indent
cd indent
zcat ../indent.netbsd.patched.tgz | tar xvf -
rm -f indent.netbsd.patched.tgz
make
INDENT_DIR=`pwd`
cd ..

pushd src/tools/entab directory
make
ln -s entab detab
ENTAB_DIR=`pwd`
popd

export PATH="$INDENT_DIR:$ENTAB_DIR:$PATH"

wget -O src/tools/pgindent/typedefs.list http://buildfarm.postgresql.org/cgi-bin/typedefs.pl

# This cleanup can only happen if there is already a makefile; assume
# that if there's isn't, this tree is clean enough
if [ -f GNUmakefile ] ; then
  # TODO this may need to be "gmake" on some systems instead
  make maintainer-clean
fi

echo pgindent starting run
find . -name '*.[ch]' -type f -print | \
  egrep -v -f src/tools/pgindent/exclude_file_patterns | \
  xargs -n100 src/tools/pgindent/pgindent src/tools/pgindent/typedefs.list

# Cleanup of utilities built temporarily here
unlink src/tools/entab/detab
rm -rf indent

popd
echo pgindent run complete