summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Pennock <pdp@exim.org>2014-04-15 23:25:45 -0700
committerPhil Pennock <pdp@exim.org>2014-04-15 23:25:45 -0700
commit14ea0bea67dc606a55b1a7c29ce7e8595bd86f64 (patch)
tree77a9dc9ff0f6e27e71a627b93f9b05953baa7166
parentf64a1e235f8579c91d6ea0275d7d97e7a958709b (diff)
downloadexim4-14ea0bea67dc606a55b1a7c29ce7e8595bd86f64.tar.gz
Bail configuration on missing package
If we're configured to use pkg-config (or pcre-config) and the tool is not available or does not know about the package we ask for, that should be a fatal configuration error. We should not silently ignore the missing package, then try to compile, and have missing header warnings from the compiler. Eg, if we're told to support GSASL, we'll try to compile the client code, and without compiler flags, we'll either fail to compile (missing headers) or fail to link, which obscures the source of the errors. This change will only break people who had builds set to have Exim depend upon non-existent packages, and that _needs_ to break.
-rwxr-xr-xsrc/scripts/Configure-Makefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/scripts/Configure-Makefile b/src/scripts/Configure-Makefile
index 5e8a72683..eeb26eeb1 100755
--- a/src/scripts/Configure-Makefile
+++ b/src/scripts/Configure-Makefile
@@ -142,6 +142,10 @@ then
fi
if [ ".$need_this" != "." ]; then
tls_include=`pkg-config --cflags $pc_value`
+ if [ $? -ne 0 ]; then
+ echo >&2 "*** Missing pkg-config for package $pc_value (for Exim $var build option)"
+ exit 1
+ fi
tls_libs=`pkg-config --libs $pc_value`
echo "TLS_INCLUDE=$tls_include"
echo "TLS_LIBS=$tls_libs"
@@ -161,6 +165,10 @@ then
else
# main binary
cflags=`pkg-config --cflags $pc_value`
+ if [ $? -ne 0 ]; then
+ echo >&2 "*** Missing pkg-config for package $pc_value (for Exim $var build option)"
+ exit 1
+ fi
libs=`pkg-config --libs $pc_value`
if [ "$var" != "${var#LOOKUP_}" ]; then
echo "LOOKUP_INCLUDE += $cflags"
@@ -178,6 +186,10 @@ then
case $PCRE_CONFIG in
yes|YES|y|Y)
cflags=`pcre-config --cflags`
+ if [ $? -ne 0 ]; then
+ echo >&2 "*** Missing pcre-config for regular expression support"
+ exit 1
+ fi
libs=`pcre-config --libs`
if [ ".$cflags" != "." ]; then
echo "INCLUDE += $cflags"
@@ -196,6 +208,10 @@ then
echo "# End of pkg-config fixups"
echo
) >> $mft
+ subexit=$?
+ if [ $subexit -ne 0 ]; then
+ exit $subexit
+ fi
fi
rm -f $mftt