--- /dev/null
+# Hand crafted tests for GNU Libtool. -*- Autotest -*-
+# Copyright 2005 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+
+AT_BANNER([Libtoolize operation.])
+
+# _LT_CONFIGURE_AC
+# ----------------
+m4_define([_LT_CONFIGURE_AC],
+[AT_DATA([configure.ac],
+[[AC_INIT([libtoolize-demo], ]]]AT_PACKAGE_VERSION[[[, ]]]AT_PACKAGE_BUGREPORT[[[)
+AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_MACRO_DIR([m4])
+LT_INIT
+AC_OUTPUT
+]])
+])# _LT_CONFIGURE_AC
+
+# _LT_LIBTOOLIZE_SETUP
+# --------------------
+m4_define([_LT_LIBTOOLIZE_SETUP],
+[_LT_CONFIGURE_AC
+
+test -d m4 || { rm -f m4 && mkdir m4; }
+
+# This file should be upgraded.
+AT_DATA([m4/libtool.m4], [[
+# serial 25 LT_INIT
+]])
+
+# This file has a very high serial number, and should be left unchanged
+# until --force is passed.
+AT_DATA([m4/ltoptions.m4], [[
+# serial 99999
+]])
+
+test -d config || { rm -f config && mkdir config; }
+
+# This file has a very high serial number, and needs --force to be updated.
+AT_DATA([config/ltmain.sh], [[
+package_revision=9999.9999
+]])
+
+# This file has a very old serial number, but should be left unchanged
+# unless the --install flag is invoked.
+AT_DATA([config/config.guess], [[
+timestamp='1970-01-01'
+]])
+])# LT_LIBTOOLIZE_SETUP
+
+
+## ------------------- ##
+## Macro installation. ##
+## ------------------- ##
+
+AT_SETUP([libtoolize macro installation])
+
+_LT_CONFIGURE_AC
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: copying file `config/ltmain.sh'
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: copying file `m4/libtool.m4'
+libtoolize: copying file `m4/argz.m4'
+libtoolize: copying file `m4/ltoptions.m4'
+libtoolize: copying file `m4/ltsugar.m4'
+libtoolize: copying file `m4/ltversion.m4'
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout)
+
+AT_CLEANUP
+
+
+## -------------- ##
+## Serial update. ##
+## -------------- ##
+
+AT_SETUP([libtoolize macro serial update])
+
+_LT_LIBTOOLIZE_SETUP
+
+
+
+## -------------------------------------------------------------------- ##
+## First we try to update with some newer files in the destination dir. ##
+## -------------------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: copying file `m4/libtool.m4'
+libtoolize: copying file `m4/argz.m4'
+libtoolize: copying file `m4/ltsugar.m4'
+libtoolize: copying file `m4/ltversion.m4'
+]])
+
+AT_DATA(experr,
+[[libtoolize: `config/ltmain.sh' is newer: use `--force' to overwrite
+libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr)
+
+
+## ---------------------------------------------------------- ##
+## Next, a second update attempt with everything now updated. ##
+## ---------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: `m4/libtool.m4' is already up to date.
+libtoolize: `m4/argz.m4' is already up to date.
+libtoolize: `m4/ltsugar.m4' is already up to date.
+libtoolize: `m4/ltversion.m4' is already up to date.
+]])
+
+AT_DATA(experr,
+[[libtoolize: `config/ltmain.sh' is newer: use `--force' to overwrite
+libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr)
+
+
+## ----------------------------------------------------------- ##
+## Now, a forced update to downgrade files with newer serials. ##
+## ----------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: copying file `config/ltmain.sh'
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: copying file `m4/libtool.m4'
+libtoolize: copying file `m4/argz.m4'
+libtoolize: copying file `m4/ltoptions.m4'
+libtoolize: copying file `m4/ltsugar.m4'
+libtoolize: copying file `m4/ltversion.m4'
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout)
+
+
+## --------------------------------------------------------- ##
+## A final update attempt with everything now force updated. ##
+## --------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: `config/ltmain.sh' is already up to date.
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: `m4/libtool.m4' is already up to date.
+libtoolize: `m4/argz.m4' is already up to date.
+libtoolize: `m4/ltoptions.m4' is already up to date.
+libtoolize: `m4/ltsugar.m4' is already up to date.
+libtoolize: `m4/ltversion.m4' is already up to date.
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout)
+
+
+AT_CLEANUP
+
+
+## --------------- ##
+## --install flag. ##
+## --------------- ##
+
+AT_SETUP([libtoolize config files serial update])
+
+_LT_LIBTOOLIZE_SETUP
+
+
+
+## -------------------------------------------------------------------- ##
+## First we try to update with some newer files in the destination dir. ##
+## -------------------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: copying file `config/config.guess'
+libtoolize: copying file `config/config.sub'
+libtoolize: copying file `config/install-sh'
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: copying file `m4/libtool.m4'
+libtoolize: copying file `m4/argz.m4'
+libtoolize: copying file `m4/ltsugar.m4'
+libtoolize: copying file `m4/ltversion.m4'
+]])
+
+AT_DATA(experr,
+[[libtoolize: `config/ltmain.sh' is newer: use `--force' to overwrite
+libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr)
+
+
+## ---------------------------------------------------------- ##
+## Next, a second update attempt with everything now updated. ##
+## ---------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: `config/config.guess' is already up to date.
+libtoolize: `config/config.sub' is already up to date.
+libtoolize: `config/install-sh' is already up to date.
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: `m4/libtool.m4' is already up to date.
+libtoolize: `m4/argz.m4' is already up to date.
+libtoolize: `m4/ltsugar.m4' is already up to date.
+libtoolize: `m4/ltversion.m4' is already up to date.
+]])
+
+AT_DATA(experr,
+[[libtoolize: `config/ltmain.sh' is newer: use `--force' to overwrite
+libtoolize: `m4/ltoptions.m4' is newer: use `--force' to overwrite
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr)
+
+
+## ----------------------------------------------------------- ##
+## Now, a forced update to downgrade files with newer serials. ##
+## ----------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: copying file `config/config.guess'
+libtoolize: copying file `config/config.sub'
+libtoolize: copying file `config/install-sh'
+libtoolize: copying file `config/ltmain.sh'
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: copying file `m4/libtool.m4'
+libtoolize: copying file `m4/argz.m4'
+libtoolize: copying file `m4/ltoptions.m4'
+libtoolize: copying file `m4/ltsugar.m4'
+libtoolize: copying file `m4/ltversion.m4'
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy --force --install], 0, expout)
+
+
+## --------------------------------------------------------- ##
+## A final update attempt with everything now force updated. ##
+## --------------------------------------------------------- ##
+
+AT_DATA(expout,
+[[libtoolize: putting files in AC_CONFIG_AUX_DIR, `config'.
+libtoolize: `config/config.guess' is already up to date.
+libtoolize: `config/config.sub' is already up to date.
+libtoolize: `config/install-sh' is already up to date.
+libtoolize: `config/ltmain.sh' is already up to date.
+libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
+libtoolize: `m4/libtool.m4' is already up to date.
+libtoolize: `m4/argz.m4' is already up to date.
+libtoolize: `m4/ltoptions.m4' is already up to date.
+libtoolize: `m4/ltsugar.m4' is already up to date.
+libtoolize: `m4/ltversion.m4' is already up to date.
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout)
+
+
+AT_CLEANUP