From 9f77212d7f268f8380781727b7fff520349891cd Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 11 Apr 2008 13:28:38 +0000 Subject: [PATCH] Utterly hideous new approach to extracting install-sh from the autoconf/automake edifice, since my previous approach of guessing its pathname turns out not to work on at least one kind of system. git-svn-id: svn://svn.tartarus.org/sgt/putty@7984 cda61777-01e9-0310-a592-d414129be87e --- mkauto.sh | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/mkauto.sh b/mkauto.sh index cdee6221..334a110b 100755 --- a/mkauto.sh +++ b/mkauto.sh @@ -3,6 +3,41 @@ # 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) +# 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) -- 2.11.0