At last, merge the putty-gtk2 branch back into the trunk!
[u/mdw/putty] / mkauto.sh
1 #! /bin/sh
2 # This script makes the autoconf mechanism for the Unix port work.
3 # It's separate from mkfiles.pl because it won't work (and isn't needed)
4 # on a non-Unix system.
5
6 # It's nice to be able to run this from inside the unix subdir as
7 # well as from outside.
8 test -f unix.h && cd ..
9
10 # Persuade automake to give us a copy of its install-sh. This is a
11 # pain because I don't actually want to have to _use_ automake.
12 # Instead, I construct a trivial unrelated automake project in a
13 # temporary subdirectory, run automake so that it'll copy
14 # install-sh into that directory, then copy it back out again.
15 # Hideous, but it should work.
16
17 mkdir automake-grievous-hack
18 cat > automake-grievous-hack/hello.c << EOF
19 #include <stdio.h>
20 int main(int argc, char **argv)
21 {
22 printf("hello, world\n");
23 return 0;
24 }
25 EOF
26 cat > automake-grievous-hack/Makefile.am << EOF
27 bin_PROGRAMS = hello
28 hello_SOURCES = hello.c
29 EOF
30 cat > automake-grievous-hack/configure.ac << EOF
31 AC_INIT
32 AM_INIT_AUTOMAKE(hello, 1.0)
33 AC_CONFIG_FILES([Makefile])
34 AC_PROG_CC
35 AC_OUTPUT
36 EOF
37 echo Some news > automake-grievous-hack/NEWS
38 echo Some text > automake-grievous-hack/README
39 echo Some people > automake-grievous-hack/AUTHORS
40 echo Some changes > automake-grievous-hack/ChangeLog
41 rm -f install-sh # this won't work if we accidentally have one _here_
42 (cd automake-grievous-hack && autoreconf -i && \
43 cp install-sh ../unix/install-sh)
44 rm -rf automake-grievous-hack
45
46 # That was the hard bit. Now run autoconf on our real configure.in.
47 (cd unix && autoreconf && rm -rf aclocal.m4 autom4te.cache)