summaryrefslogtreecommitdiff
path: root/buildconf.sh
blob: 2fc5932a3a86fb9e4198f73e70cc04b758d3fa22 (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
#! /bin/sh

#--------------------------------------------------------------------------
# autoconf 2.52 or newer
#
ac_version="`${AUTOCONF:-autoconf} --version 2> /dev/null | head -1 | sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`"
if test -z "$ac_version"; then
  echo "ERROR: autoconf not found."
  echo "       You need autoconf version 2.52 or newer installed."
  exit 1
fi
IFS=.; set $ac_version; IFS=' '
if test "$1" = "2" -a "$2" -lt "52" || test "$1" -lt "2"; then
  echo "ERROR: autoconf version $ac_version found."
  echo "       You need autoconf version 2.52 or newer installed."
  exit 1
fi

echo "found: autoconf version $ac_version (ok)"

#--------------------------------------------------------------------------
# libtool 1.4 or newer
#

#
# find libtoolize, or glibtoolize on MacOS X
#
libtoolize=`conftools/PrintPath glibtoolize libtoolize`
if [ "x$libtoolize" = "x" ]; then
  echo "ERROR: libtoolize not found."
  echo "       You need libtool version 1.4 or newer installed"
  exit 1
fi

lt_pversion="`$libtoolize --version 2> /dev/null | sed -e 's/^[^0-9]*//'`"

# convert something like 1.4p1 to 1.4.p1
lt_version="`echo $lt_pversion | sed -e 's/\([a-z]*\)$/.\1/'`"

IFS=.; set $lt_version; IFS=' '
if test "$1" = "1" -a "$2" -lt "4"; then
  echo "ERROR: libtool version $lt_pversion found."
  echo "       You need libtool version 1.4 or newer installed"
  exit 1
fi

echo "found: libtool version $lt_pversion (ok)"

#--------------------------------------------------------------------------

# Remove any libtool files so one can switch between libtool 1.3
# and libtool 1.4 by simply rerunning the buildconf script.
(cd conftools/; rm -f ltmain.sh ltconfig)

#
# Create the libtool helper files
#
echo "Copying libtool helper files ..."

#
# Note: we don't use --force (any more) since we have a special
# config.guess/config.sub that we want to ensure is used.
#
# --copy to avoid symlinks; we want originals for the distro
# --automake to make it shut up about "things to do"
#
$libtoolize --copy --automake

#
# Find the libtool.m4 file. The developer/packager can set the LIBTOOL_M4
# environment variable to specify its location. If that variable is not
# set, then we'll assume a "standard" libtool installation and try to
# derive its location.
#
ltpath=`dirname $libtoolize`
ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
cp $ltfile conftools/libtool.m4

echo "Using libtool.m4 from ${ltfile}."

#--------------------------------------------------------------------------

### for a little while... remove stray aclocal.m4 files from
### developers' working copies. we no longer use it. (nothing else
### will remove it, and leaving it creates big problems)
rm -f aclocal.m4

#
# Generate the autoconf header template (expat_config.h.in) and ./configure
#
echo "Creating expat_config.h.in ..."
${AUTOHEADER:-autoheader}

echo "Creating configure ..."
### do some work to toss config.cache?
${AUTOCONF:-autoconf}

# toss this; it gets created by autoconf on some systems
rm -rf autom4te*.cache

# exit with the right value, so any calling script can continue
exit 0