# 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., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, 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