postgresql/config/missing
Tom Lane 8d355d7bbf Fix the makefiles to fail cleanly if Perl is needed but not present. This
used to work as intended, but got broken some time ago (a quoted empty string
is not an empty string), and got broken some more by the changes to generate
ecpg's preproc.y automatically.  Given all the unprotected uses of $(PERL)
elsewhere, it seems best to make use of the $(missing) script rather than
trying to ensure each such use is protected individually.  Also fix various
bits of documentation that omitted to mention Perl as a requirement for
building from a CVS pull.  Per a complaint from Robert Haas.
2009-06-23 03:46:00 +00:00

55 lines
1.4 KiB
Bash
Executable File

#! /bin/sh
# $PostgreSQL: pgsql/config/missing,v 1.5 2009/06/23 03:46:00 tgl Exp $
# 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