X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/f1439a63836d6fd6a92f8b5c6b2d9c8b95a5f978..f160b7b8908cac4a7ca37b49928b7855fe0a11fe:/mkauto.sh diff --git a/mkauto.sh b/mkauto.sh index cdee6221..07866943 100755 --- a/mkauto.sh +++ b/mkauto.sh @@ -3,6 +3,45 @@ # It's separate from mkfiles.pl because it won't work (and isn't needed) # on a non-Unix system. -# Track down automake's copy of install-sh -cp `aclocal --print-ac-dir | sed 's/aclocal$/automake/'`/install-sh unix/. -(cd unix && autoreconf && rm -rf aclocal.m4 autom4te.cache) +# It's nice to be able to run this from inside the unix subdir as +# well as from outside. +test -f unix.h && cd .. + +# Persuade automake to give us a copy of its install-sh. This is a +# pain because I don't actually want to have to _use_ automake. +# Instead, I construct a trivial unrelated automake project in a +# temporary subdirectory, run automake so that it'll copy +# install-sh into that directory, then copy it back out again. +# Hideous, but it should work. + +mkdir automake-grievous-hack +cat > automake-grievous-hack/hello.c << EOF +#include +int main(int argc, char **argv) +{ + printf("hello, world\n"); + return 0; +} +EOF +cat > automake-grievous-hack/Makefile.am << EOF +bin_PROGRAMS = hello +hello_SOURCES = hello.c +EOF +cat > automake-grievous-hack/configure.ac << EOF +AC_INIT +AM_INIT_AUTOMAKE(hello, 1.0) +AC_CONFIG_FILES([Makefile]) +AC_PROG_CC +AC_OUTPUT +EOF +echo Some news > automake-grievous-hack/NEWS +echo Some text > automake-grievous-hack/README +echo Some people > automake-grievous-hack/AUTHORS +echo Some changes > automake-grievous-hack/ChangeLog +rm -f install-sh # this won't work if we accidentally have one _here_ +(cd automake-grievous-hack && autoreconf -i && \ + cp install-sh ../unix/install-sh) +rm -rf automake-grievous-hack + +# That was the hard bit. Now run autoconf on our real configure.in. +(cd unix && autoreconf && rm -rf aclocal.m4 autom4te.cache)