| #! /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 |