#! /bin/sh

# config/missing

# This is *not* the GNU `missing' script, although it is similar in
# concept. You can call it from the makefiles to get consistent
# behavior when certain utility programs are missing.

case $1 in
    flex|bison)
        # `missing flex|bison <input> <output>'
        input=$2
        output=$3
        if test -f "$output"; then
            echo "\
***
WARNING: \`$1' is missing on your system. You should only need it
if you changed the file \`$input'; these changes will not take effect.
You can get $1 from a GNU mirror site.
***" >&2
            echo "touch $output"
            touch "$output"
            exit 0
        else # ! test -f $output
            echo "\
***
ERROR: \`$1' is missing on your system. It is needed to create the
file \`$output'. You can either get $1 from a GNU mirror site
or download an official distribution of PostgreSQL, which contains
pre-packaged $1 output.
***" >&2
            exit 1
        fi
        ;;

    perl)
        # `missing perl'
        echo "\
***
ERROR: Perl is missing on your system. It is needed unless you are building
from an unmodified official distribution of PostgreSQL.
***" >&2
        exit 1
        ;;

    *)
        # `missing something-or-other'
        echo "\
***
ERROR: \`$1' is missing on your system.
***" >&2
        exit 1
        ;;
esac
