summaryrefslogtreecommitdiffstats
path: root/buildconf
blob: 998318d22c0b16b47e2245bbc0b0b9523d1c0ed0 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/sh

# TODO - Steal the new PHP buildconf and build.mk.
# This will do for now, though

supplied_flag=$1

# do some version checking for the tools we use
if test "$1" = "--force"; then
    shift
# this is a posix correct "test -nt"
elif test "`ls -t buildconf buildconf.stamp 2>/dev/null |head -1`" != "buildconf"; then
    :
else
    echo "buildconf: checking installation..."

    # autoconf will check for the version itself
    # automake 1.4 or newer
    am_version=`automake --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
    if test "$am_version" = ""; then
	echo "buildconf: automake not found."
	echo "           You need automake version 1.4 or newer installed"
	echo "           to build APACHE from CVS."
	exit 1
    fi
    IFS=.; set $am_version; IFS=' '
    if test "$1" = "1" -a "$2" -lt "4" || test "$1" -lt "1"; then
	echo "buildconf: automake version $am_version found."
	echo "           You need automake version 1.4 or newer installed"
	echo "           to build APACHE from CVS."
	exit 1
    else
	echo "buildconf: automake version $am_version (ok)"
    fi

    # libtool 1.3.3 or newer
    lt_pversion=`libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'`
    if test "$lt_pversion" = ""; then
	echo "buildconf: libtool not found."
	echo "           You need libtool version 1.3 or newer installed"
	echo "           to build APACHE from CVS."
	exit 1
    fi
    lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
    IFS=.; set $lt_version; IFS=' '
    if test "$1" -gt "1" || test "$2" -gt "3" || test "$2" = "3" -a "$3" -ge "3"
    then
	echo "buildconf: libtool version $lt_pversion (ok)"
    else
	echo "buildconf: libtool version $lt_pversion found."
	echo "           You need libtool version 1.3.3 or newer installed"
	echo "           to build APACHE from CVS."
	exit 1
    fi
    touch buildconf.stamp
fi

am_prefix=`which automake | sed -e 's#/[^/]*/[^/]*$##'`
lt_prefix=`which libtool | sed -e 's#/[^/]*/[^/]*$##'`
if test "$am_prefix" != "$lt_prefix"; then
    echo "buildconf: WARNING: automake and libtool are installed in different"
    echo "           directories.  This may cause aclocal to fail."
    echo "buildconf: continuing anyway"
fi

if test "$supplied_flag" = "--copy"; then
    automake_flags=--copy
fi

./helpers/build-acconfig-header

mv aclocal.m4 aclocal.m4.old 2>/dev/null
aclocal
if test "$?" != "0" -a "$am_prefix" != "$lt_prefix"; then
    echo "buildconf: ERROR: aclocal failed, probably because automake and"
    echo "           libtool are installed with different prefixes;"
    echo "           automake is installed in $am_prefix, but libtool in $lt_prefix."
    echo "           Please re-install automake and/or libtool with a common prefix"
    echo "           and try again."
    exit 1
fi

if cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
    echo "buildconf: keeping aclocal.m4"
    mv aclocal.m4.old aclocal.m4
else
    echo "buildconf: created or modified aclocal.m4"
fi

autoheader

# find all Makefile.ams
files="Makefile `find ap lib main modules regex os -name Makefile.am | sed 's#\.am##' | tr '\n' ' '`"

# suppress stupid automake warning
automake --add-missing --include-deps $automake_flags $files 2>&1 | grep -v \$APACHE_OUTPUT_FILES >&2


mv configure configure.old 2>/dev/null
autoconf
if cmp configure.old configure > /dev/null 2>&1; then
    echo "buildconf: keeping configure"
    mv configure.old configure
else
    echo "buildconf: created or modified configure"
fi

# Now do APR...

echo "buildconf: setting up APR"

cd lib/apr

mv configure configure.old 2>/dev/null
autoheader
autoconf
if cmp configure.old configure > /dev/null 2>&1; then
    echo "buildconf: keeping configure"
    mv configure.old configure
else
    echo "buildconf: created or modified configure"
fi

cd ../..

# Now run the configs...

rm config.cache
./configure