pgdevel / config / prep_buildtree

#! /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`; 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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.