Commit | Line | Data |
---|---|---|
5d94b2fe | 1 | #!/bin/sh |
3be5cdf2 | 2 | # Usage: sh -x ./autogen.sh [WORKBOOK] |
5d94b2fe | 3 | |
fc4fc6f6 RB |
4 | set -e |
5 | ||
0b49b6ae | 6 | [ -f GUILE-VERSION ] || { |
3be5cdf2 | 7 | echo "autogen.sh: run this command only at the top of guile-core." |
0b49b6ae JB |
8 | exit 1 |
9 | } | |
10 | ||
3be5cdf2 TTN |
11 | ###################################################################### |
12 | ### Find workbook and make symlinks. | |
13 | ||
14 | workbook=../workbook # assume "cvs co hack" | |
15 | test x$1 = x || workbook=$1 | |
16 | if [ ! -d $workbook ] ; then | |
17 | echo "ERROR: could not find workbook dir" | |
18 | echo " re-run like so: $0 WORKBOOK" | |
19 | exit 1 | |
20 | fi | |
21 | : found workbook at $workbook | |
22 | workbook=`(cd $workbook ; pwd)` | |
23 | ||
2e562f3a | 24 | workbookdistfiles="ANON-CVS HACKING SNAPSHOTS" |
3be5cdf2 TTN |
25 | for f in $workbookdistfiles ; do |
26 | rm -f $f | |
27 | ln -s $workbook/build/dist-files/$f $f | |
28 | done | |
29 | rm -f examples/example.gdbinit | |
30 | ln -s $workbook/build/dist-files/.gdbinit examples/example.gdbinit | |
0859b96a TTN |
31 | |
32 | # TODO: This should be moved to dist-guile | |
feec7802 | 33 | mscripts=../guile-scripts |
0859b96a TTN |
34 | rm -f BUGS |
35 | $mscripts/render-bugs > BUGS | |
36 | ||
3be5cdf2 TTN |
37 | ###################################################################### |
38 | ||
af304e84 MV |
39 | # Make sure this matches the ACLOCAL invokation in Makefile.am |
40 | ||
65545721 ML |
41 | ./guile-aclocal.sh |
42 | ||
fc4fc6f6 RB |
43 | ###################################################################### |
44 | ### Libtool setup. | |
45 | ||
46 | # Get a clean version. | |
47 | rm -rf libltdl | |
48 | libtoolize --force --copy --automake --ltdl | |
49 | ||
452e3661 | 50 | # Fix older versions of libtool. |
fc4fc6f6 | 51 | # Make sure we use a ./configure.in compatible autoconf in ./libltdl/ |
452e3661 MV |
52 | if [ -f libltdl/configure.in ]; then |
53 | mv libltdl/configure.in libltdl/configure.tmp | |
54 | echo 'AC_PREREQ(2.50)' > libltdl/configure.in | |
55 | cat libltdl/configure.tmp >> libltdl/configure.in | |
56 | rm libltdl/configure.tmp | |
57 | fi | |
0f59dd5f MV |
58 | |
59 | # Maybe patch ltdl.c. This is only needed for 1.4.2 and earlier. | |
60 | if patch libltdl/ltdl.c <<EOP | |
61 | --- ltdl.c~ Fri Apr 12 18:52:48 2002 | |
62 | +++ ltdl.c Tue Jul 9 14:12:47 2002 | |
63 | @@ -2246,15 +2246,15 @@ | |
64 | static int | |
65 | find_handle_callback (filename, data, ignored) | |
66 | char *filename; | |
67 | lt_ptr data; | |
68 | lt_ptr ignored; | |
69 | { | |
70 | lt_dlhandle *handle = (lt_dlhandle *) data; | |
71 | - int found = access (filename, R_OK); | |
72 | + int found = !access (filename, F_OK); | |
73 | ||
74 | /* Bail out if file cannot be read... */ | |
75 | if (!found) | |
76 | return 0; | |
77 | ||
78 | /* Try to dlopen the file, but do not continue searching in any | |
79 | case. */ | |
80 | EOP | |
81 | then true | |
82 | else | |
83 | echo "WARNING: could not patch libltdl, but this is probably OK." | |
84 | fi | |
85 | ||
fc4fc6f6 RB |
86 | ###################################################################### |
87 | ||
34d19ef6 HWN |
88 | |
89 | # configure.in reqs autoconf-2.53; try to find it | |
90 | for suf in "-2.53" "2.53" "" false; do | |
91 | version=`autoconf$suf --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 100 + $2}'` | |
92 | if test "0$version" -eq 253; then | |
93 | autoconf=autoconf$suf | |
94 | autoheader=autoheader$suf | |
95 | break | |
96 | fi | |
97 | done | |
98 | ||
99 | if test -z "$autoconf"; then | |
100 | echo "ERROR: Please install autoconf 2.53" | |
101 | exit 1 | |
102 | fi | |
afc8e572 HWN |
103 | ################################################################ |
104 | ||
105 | #detect automake version | |
106 | ||
107 | ||
108 | # configure.in reqs autoconf-2.53; try to find it | |
109 | for suf in "-1.6" "1.6" "" false; do | |
110 | version=`automake$suf --version 2>/dev/null | head -1 | awk '{print $NF}' | awk -F. '{print $1 * 10 + $2}'` | |
111 | if test "0$version" -eq 16; then | |
112 | automake=automake$suf | |
113 | break | |
114 | fi | |
115 | done | |
116 | ||
117 | if test -z "$automake"; then | |
118 | echo "ERROR: Please install automake 1.6.x" | |
119 | exit 1 | |
120 | fi | |
34d19ef6 HWN |
121 | |
122 | ||
123 | ################################################################ | |
124 | $autoheader | |
125 | $autoconf | |
1901873f MV |
126 | |
127 | # Automake has a bug that will let it only add one copy of a missing | |
128 | # file. We need two mdate-sh, tho, one in doc/ref/ and one in | |
129 | # doc/tutorial/. We run automake twice as a workaround. | |
130 | ||
afc8e572 HWN |
131 | $automake --add-missing |
132 | $automake --add-missing | |
0b49b6ae | 133 | |
cebb2d1f MV |
134 | # Make sure that libltdl uses the same autoconf version as the rest. |
135 | # | |
fc4fc6f6 | 136 | echo "libltdl..." |
feec7802 | 137 | (cd libltdl && aclocal) |
fc4fc6f6 | 138 | (cd libltdl && autoconf) |
afc8e572 | 139 | (cd libltdl && $automake --gnu --add-missing) |
cebb2d1f | 140 | |
fc4fc6f6 RB |
141 | echo "guile-readline..." |
142 | (cd guile-readline && ./autogen.sh) | |
9e74987f MV |
143 | |
144 | echo "Now run configure and make." | |
f2ae4555 | 145 | echo "You must pass the \`--enable-maintainer-mode' option to configure." |
3be5cdf2 TTN |
146 | |
147 | # autogen.sh ends here |