Fix too-often retry bug after 4xx with more hosts than hosts_max_retry.
[exim.git] / src / scripts / Configure-config.h
CommitLineData
61ec970d 1#! /bin/sh
9176e9f0 2# $Cambridge: exim/src/scripts/Configure-config.h,v 1.2 2005/05/04 10:17:29 ph10 Exp $
61ec970d
PH
3
4# Build the config.h file, using the buildconfig program, first ensuring that
5# it exists.
6
7# 22-May-1996: remove the use of the "-a" flag for /bin/sh because it is not
8# implemented in the FreeBSD shell. Sigh.
9
10# 12-Mar-1997: add s/#.*$// to the sed script to allow for comments on the
11# ends of settings - someone got caught.
12
13# 18-Apr-1997: put the tab character into a variable to stop it getting
14# lost by accident (which has happened a couple of times).
15
16# 19-Jan-1998: indented settings in the makefile weren't being handled
17# correctly; added [$st]* before \\([A-Z] in the pattern, to ignore leading
18# space. Oddly, the pattern previously read ^\([A-Z which didn't seem to
19# cause a problem (but did when the new bit was put in).
20
9176e9f0
PH
21# 04-May-2005: if $1 is set, copy it into $MAKE, and then use $MAKE, if set,
22# instead of "make" so that if gmake is used, it is used consistently.
23
24if [ "$1" != "" ] ; then MAKE=$1 ; fi
25if [ "$MAKE" = "" ] ; then MAKE=make ; fi
26
27$MAKE buildconfig || exit 1
61ec970d
PH
28
29# BEWARE: tab characters needed in the following sed command. They have had
30# a nasty tendency to get lost in the past, causing a problem if a tab has
31# actually been present in makefile. Use a variable to hold a space and a
32# tab to keep the tab in one place. This makes the sed option horrendous to
33# read, but the whole script is safer.
34
35st=' '
36
37(sed -n \
38 "/\\\$/d;s/#.*\$//;s/^[$st]*\\([A-Z][^:$st]*\\)[$st]*=[$st]*\\([^$st]*\\)[$st]*\$/\\1=\\2 export \\1/p" \
39 < Makefile ; echo "./buildconfig") | /bin/sh
40
41# If buildconfig ends with an error code, it will have output an error
42# message. Ensure that a broken config.h gets deleted.
43
44if [ $? != 0 ] ; then
45 rm -f config.h
46 exit 1
47fi
48
49# Double-check that config.h is complete.
50
51if [ "`tail -1 config.h`" != "/* End of config.h */" ] ; then
52 echo "*** config.h appears to be incomplete"
53 echo "*** unexpected failure in buildconfig program"
54 exit 1
55fi
56
57echo ">>> config.h built"
58echo ""
59
60# End of Configure-config.h