Edit

kc3-lang/automake/m4/init.m4

Branch :

  • Show log

    Commit

  • Author : Stefano Lattarini
    Date : 2012-03-31 16:39:32
    Hash : 27136dfe
    Message : init: warn against obsolete usage of AM_INIT_AUTOMAKE Support for the two- and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro, as in: AM_INIT_AUTOMAKE($PACKAGE, $VERSION) or: AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE) will be removed in the next major Automake release (1.13). Such usages have already been deprecated in the documentation starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs, news: document planned removal of obsolete macros and features". We now start giving runtime warnings as well (in the 'obsolete' category). * NEWS: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments form invocation. * automake.in (scan_autoconf_traces): Likewise. * doc/automake.texi: Minor adjustments. Add an @anchor to the location where it's described how to modernize outdated invocation of AM_INIT_AUTOMAKE, so that it can be referenced from automake warning/error messages. * t/aminit-moreargs-deprecation.sh: New test. * tests/list-of-tests.mk: Add it. * tests/ac-output-old.tap: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/backcompat.test: Likewise. * t/backcompat3.test: Likewise. * t/backcompat5.test: Likewise. * t/backcompat6.test: Likewise. * t/version.test: Likewise. * t/version2.test: Likewise. * t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE invocations, and use proper m4 quoting. * t/pr87.test: Likewise. * t/confsub.test: Likewise. * t/install2.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>

  • m4/init.m4
  • # Do all the work for Automake.                             -*- Autoconf -*-
    
    # Copyright (C) 1996-2012 Free Software Foundation, Inc.
    #
    # This file is free software; the Free Software Foundation
    # gives unlimited permission to copy and/or distribute it,
    # with or without modifications, as long as this notice is preserved.
    
    # serial 19
    
    # This macro actually does too much.  Some checks are only needed if
    # your package does certain things.  But this isn't really a big deal.
    
    # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
    # AM_INIT_AUTOMAKE([OPTIONS])
    # -----------------------------------------------
    # The call with PACKAGE and VERSION arguments is the old style
    # call (pre autoconf-2.50), which is being phased out.  PACKAGE
    # and VERSION should now be passed to AC_INIT and removed from
    # the call to AM_INIT_AUTOMAKE.
    # We support both call styles for the transition.  After
    # the next Automake release, Autoconf can make the AC_INIT
    # arguments mandatory, and then we can depend on a new Autoconf
    # release and drop the old call support.
    AC_DEFUN([AM_INIT_AUTOMAKE],
    [AC_PREREQ([2.62])dnl
    dnl Autoconf wants to disallow AM_ names.  We explicitly allow
    dnl the ones we care about.
    m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
    AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
    AC_REQUIRE([AC_PROG_INSTALL])dnl
    if test "`cd $srcdir && pwd`" != "`pwd`"; then
      # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
      # is not polluted with repeated "-I."
      AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
      # test to see if srcdir already configured
      if test -f $srcdir/config.status; then
        AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
      fi
    fi
    
    # test whether we have cygpath
    if test -z "$CYGPATH_W"; then
      if (cygpath --version) >/dev/null 2>/dev/null; then
        CYGPATH_W='cygpath -w'
      else
        CYGPATH_W=echo
      fi
    fi
    AC_SUBST([CYGPATH_W])
    
    # Define the identity of the package.
    dnl Distinguish between old-style and new-style calls.
    m4_ifval([$2],
    [AC_DIAGNOSE([obsolete],
    [$0: two- and three-arguments forms are deprecated.  For more info, see:
    http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
    m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
     AC_SUBST([PACKAGE], [$1])dnl
     AC_SUBST([VERSION], [$2])],
    [_AM_SET_OPTIONS([$1])dnl
    dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
    m4_if(
      m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
      [ok:ok],,
      [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
     AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
     AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
    
    _AM_IF_OPTION([no-define],,
    [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
     AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
    
    # Some tools Automake needs.
    AC_REQUIRE([AM_SANITY_CHECK])dnl
    AC_REQUIRE([AC_ARG_PROGRAM])dnl
    AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
    AM_MISSING_PROG([AUTOCONF], [autoconf])
    AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
    AM_MISSING_PROG([AUTOHEADER], [autoheader])
    AM_MISSING_PROG([MAKEINFO], [makeinfo])
    AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
    AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
    AC_REQUIRE([AC_PROG_MKDIR_P])dnl
    # We need awk for the "check" target.  The system "awk" is bad on
    # some platforms.
    AC_REQUIRE([AC_PROG_AWK])dnl
    AC_REQUIRE([AC_PROG_MAKE_SET])dnl
    AC_REQUIRE([AM_SET_LEADING_DOT])dnl
    _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
    	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
    			     [_AM_PROG_TAR([v7])])])
    _AM_IF_OPTION([no-dependencies],,
    [AC_PROVIDE_IFELSE([AC_PROG_CC],
    		  [_AM_DEPENDENCIES([CC])],
    		  [m4_define([AC_PROG_CC],
    			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
    AC_PROVIDE_IFELSE([AC_PROG_CXX],
    		  [_AM_DEPENDENCIES([CXX])],
    		  [m4_define([AC_PROG_CXX],
    			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
    AC_PROVIDE_IFELSE([AC_PROG_OBJC],
    		  [_AM_DEPENDENCIES([OBJC])],
    		  [m4_define([AC_PROG_OBJC],
    			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
    dnl Support for Objective C++ was only introduced in Autoconf 2.65,
    dnl but we still cater to Autoconf 2.62.
    m4_ifdef([AC_PROG_OBJCXX],
    [AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
    		  [_AM_DEPENDENCIES([OBJCXX])],
    		  [m4_define([AC_PROG_OBJCXX],
    			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
    ])
    _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
    dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
    dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
    dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
    AC_CONFIG_COMMANDS_PRE(dnl
    [m4_provide_if([_AM_COMPILER_EXEEXT],
      [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
    ])
    
    dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
    dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
    dnl mangled by Autoconf and run in a shell conditional statement.
    m4_define([_AC_COMPILER_EXEEXT],
    m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
    
    
    # When config.status generates a header, we must update the stamp-h file.
    # This file resides in the same directory as the config header
    # that is generated.  The stamp files are numbered to have different names.
    
    # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
    # loop where config.status creates the headers, so we can generate
    # our stamp files there.
    AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
    [# Compute $1's index in $config_headers.
    _am_arg=$1
    _am_stamp_count=1
    for _am_header in $config_headers :; do
      case $_am_header in
        $_am_arg | $_am_arg:* )
          break ;;
        * )
          _am_stamp_count=`expr $_am_stamp_count + 1` ;;
      esac
    done
    echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])