#! /bin/sh

# This script prepares a PostgreSQL build tree.  It is intended
# to be run by the configure script.

me=`basename $0`

help="\
Usage: $me sourcetree [buildtree]"

if test -z "$1"; then
    echo "$help" 1>&2
    exit 1
elif test x"$1" = x"--help"; then
    echo "$help"
    exit 0
fi

unset CDPATH

sourcetree=`cd $1 && pwd`

buildtree=`cd ${2:-'.'} && pwd`

# We must not auto-create the subdirectories holding built documentation.
# If we did, it would interfere with installation of prebuilt docs from
# the source tree, if a VPATH build is done from a distribution tarball.
# See bug #5595.
for item in `find "$sourcetree" -type d \( \( -name CVS -prune \) -o \( -name .git -prune \) -o -print \) | grep -v "$sourcetree/doc/src/sgml/\+"`; do
    subdir=`expr "$item" : "$sourcetree\(.*\)"`
    if test ! -d "$buildtree/$subdir"; then
        mkdir -p "$buildtree/$subdir" || exit 1
    fi
done

for item in `find "$sourcetree" -name Makefile -print -o -name GNUmakefile -print -o -name .p4ignore -print`; do
    filename=`expr "$item" : "$sourcetree\(.*\)"`
    if test ! -f "${item}.in"; then
        if cmp "$item" "$buildtree/$filename" >/dev/null 2>&1; then : ; else
            ln -fs "$item" "$buildtree/$filename" || exit 1
        fi
    fi
done

exit 0
