| #! /bin/sh |
| # Copyright (C) 2003, 2005, 2007, 2010, 2011 Free Software Foundation, |
| # Inc. |
| # |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2, or (at your option) |
| # any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| # Make sure the install-exec-hook example we give in the manual works. |
| |
| . ./defs || Exit 1 |
| |
| cat >>configure.in <<'EOF' |
| AC_PROG_LN_S |
| AC_OUTPUT |
| EOF |
| |
| cat >Makefile.am <<'END' |
| dist_bin_SCRIPTS = foo |
| |
| install-exec-hook: |
| cd "$(DESTDIR)$(bindir)" && \ |
| mv -f foo foo-$(VERSION) && \ |
| $(LN_S) foo-$(VERSION) foo |
| |
| installcheck-local: |
| test -f "$(bindir)/foo" |
| test -f "$(bindir)/foo-$(VERSION)" |
| : > $(top_srcdir)/../ok |
| |
| uninstall-hook: |
| rm -f $(DESTDIR)$(bindir)/foo-$(VERSION) |
| END |
| |
| echo 1 > foo |
| |
| $ACLOCAL |
| $AUTOCONF |
| $AUTOMAKE |
| |
| ./configure |
| $MAKE distcheck |
| # Sanity check to make sure installcheck-local was run. |
| test -f ok |
| |
| # Make sure that installing a second version doesn't erase the first |
| # one. (This is error prone since `foo' symlinks to `foo-1.0' and the |
| # second version will overwrite `foo'. Hopefully `install' and `install-sh' |
| # are smart enough to erase the `foo' symlink before installing the new |
| # version.) |
| ./configure "--bindir=`pwd`/bin" |
| $MAKE install |
| echo 2 > foo |
| VERSION=2.0 $MAKE -e install |
| grep 1 bin/foo-1.0 |
| grep 2 bin/foo-2.0 |
| grep 2 bin/foo |
| |
| # install-hook is an error. |
| cat >>Makefile.am <<EOF |
| install-hook: |
| echo test |
| EOF |
| |
| AUTOMAKE_fails |
| grep install-data-hook stderr |
| grep install-exec-hook stderr |
| |
| : |