summaryrefslogtreecommitdiff
path: root/autogen.sh
blob: 522e9d1c0b2f1b1933d6e88398d60d07032576eb (about) (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
#!/bin/sh
# Usage: sh -x ./autogen.sh [WORKBOOK]

set -e

[ -f GUILE-VERSION ] || {
  echo "autogen.sh: run this command only at the top of guile-core."
  exit 1
}

######################################################################
### Find workbook and make symlinks.

workbook=../workbook                    # assume "cvs co hack"
test x$1 = x || workbook=$1
if [ ! -d $workbook ] ; then
    echo "ERROR: could not find workbook dir"
    echo "       re-run like so: $0 WORKBOOK"
    exit 1
fi
: found workbook at $workbook
workbook=`(cd $workbook ; pwd)`

workbookdistfiles="ANON-CVS HACKING SNAPSHOTS"
for f in $workbookdistfiles ; do
    rm -f $f
    ln -s $workbook/build/dist-files/$f $f
done
rm -f examples/example.gdbinit
ln -s $workbook/build/dist-files/.gdbinit examples/example.gdbinit

# TODO: This should be moved to dist-guile
mscripts=../guile-scripts
rm -f BUGS
$mscripts/render-bugs > BUGS

######################################################################

# Make sure this matches the ACLOCAL invokation in Makefile.am

./guile-aclocal.sh

######################################################################
### Libtool setup.

# Get a clean version.
libtoolize --force --copy --automake

######################################################################

ac_version=`autoconf --version | head -1`
ac_version=`echo ${ac_version} | sed -e 's/autoconf.* \([0-9].[0-9]\+\)$/\1/'`
case "${ac_version}" in
  (2.5?) autoconf=autoconf; autoheader=autoheader ;;
esac

# configure.in reqs autoconf-2.53; try to find it
if test -z "$autoconf"; then
  for suf in "-2.53" "2.53" ""  false; do
    version=`autoconf$suf --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'`
    if test "0$version" -eq 253; then
      autoconf=autoconf$suf
      autoheader=autoheader$suf
      break
    fi
  done
fi

if test -z "$autoconf"; then
    echo "ERROR: Please install autoconf 2.53"
    exit 1
fi
################################################################

#detect automake version


# configure.in requires particular automake; try to find it
for suf in "-1.7" "1.7" "-1.6" "1.6" ""  false; do
  version=`automake$suf --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 10 + $2}'`
  if test "0$version" -eq 17 -o "0$version" -eq 16; then
    automake=automake$suf
    break
  fi
done

if test -z "$automake"; then
    echo "ERROR: Please install automake 1.6.x"
    exit 1
fi

################################################################
$autoheader
$autoconf

# Automake has a bug that will let it only add one copy of a missing
# file.  We need two mdate-sh, tho, one in doc/ref/ and one in
# doc/tutorial/.  We run automake twice as a workaround.

$automake --add-missing
$automake --add-missing

echo "guile-readline..."
(cd guile-readline && ./autogen.sh)

echo "Now run configure and make."
echo "You must pass the \`--enable-maintainer-mode' option to configure."

# autogen.sh ends here