blob: afe4bf8ece888f2173818787b177c1b49b768aff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#! /bin/sh
# $Cambridge: exim/src/scripts/Configure-os.h,v 1.2 2008/01/17 13:03:35 tom Exp $
# Shell script to create a link to the appropriate OS-specific header file.
scripts=../scripts
# Get the OS type, and check that there is a make file for it.
os=`$scripts/os-type -generic` || exit 1
if test ! -r ../OS/Makefile-$os
then echo ""
echo "*** Sorry - operating system $os is not supported"
echo "*** See OS/Makefile-* for supported systems" 1>&2
echo ""
exit 1;
fi
# Ensure there is an OS-specific header file, and link it to os.h. There should
# always be one if there is a make file for the OS, so its absence is somewhat
# disastrous.
if test ! -r ../OS/os.h-$os
then echo ""
echo "*** Build error: OS/os.h-$os file is missing"
echo ""
exit 1;
fi
rm -f os.h
# In order to accomodate for the fudge below, copy the file instead of
# symlinking it. Otherwise we pollute the clean copy with the fudge.
cp -a ../OS/os.h-$os os.h || exit 1
# Special-purpose fudge for older versions of Linux (pre 2.1.15) that
# use the structure name "options" instead of "ip_options".
if [ "$os" != "Linux" -a "$os" != "Linux-libc5" ] ; then exit 0; fi
grep ip_options /usr/include/linux/ip.h >/dev/null
if [ $? = 0 ] ; then exit 0; fi
cat >>os.h <<End
/* Fudge added because this Linux doesn't appear to have a definition
for ip_options in /usr/include/linux/ip.h. */
#define ip_options options
End
# End of Configure-os.h
|