summaryrefslogtreecommitdiff
path: root/buildconf
blob: 7863af86054187dad83eb039fe12b7514c6d8088 (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
131
132
133
134
135
#!/bin/sh

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 2.13 or newer
    ac_version=`autoconf --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
    if test "$ac_version" = ""; then
	echo "buildconf: autoconf not found."
	echo "           You need autoconf version 2.13 or newer installed"
	echo "           to build PHP from CVS."
	exit 1
    fi
    IFS=.; set $ac_version; IFS=' '
    if test "$1" = "2" -a "$2" -lt "13" || test "$1" -lt "2"; then
	echo "buildconf: autoconf version $ac_version found."
	echo "           You need autoconf version 2.13 or newer installed"
	echo "           to build PHP from CVS."
	exit 1
    else
	echo "buildconf: autoconf version $ac_version (ok)"
    fi

    # 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 PHP 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 PHP 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 PHP 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 PHP from CVS."
	exit 1
    fi
    
    touch buildconf.stamp
fi

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

if test ! -d libzend; then
    if test -d ../libzend; then
	echo "buildconf: linking ../libzend to ./libzend"
        ln -s ../libzend .
    else
        echo "buildconf: can not find libzend"
        echo "           libzend should be installed in . or .., how to fetch:"
	echo ""
	echo "             cvs -d :pserver:cvsread@cvs.zend.com:/repository login"
	echo "             (password \"zend\")"
	echo "             cvs -d :pserver:cvsread@cvs.zend.com:/repository co libzend"
	echo ""
	exit 1
    fi
fi
if test ! -d TSRM; then
    if test -d ../TSRM; then
	echo "buildconf: linking ../TSRM to ./TSRM"
        ln -s ../TSRM .
    else
        echo "buildconf: can not find TSRM"
        echo "           TSRM should be installed in . or .., how to fetch:"
	echo ""
	echo "             cvs -d :pserver:cvsread@cvs.zend.com:/repository login"
	echo "             (password \"zend\")"
	echo "             cvs -d :pserver:cvsread@cvs.zend.com:/repository co TSRM"
	echo ""
	exit 1
    fi
fi

./scripts/preconfig

libtoolize --automake $automake_flags --force

mv aclocal.m4 aclocal.m4.old 2>/dev/null
aclocal
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

automake --add-missing --include-deps $automake_flags

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

(cd libzend; ./buildconf libzend/)
(cd TSRM; ./buildconf TSRM/)