Merge branch 'maint'
[platform/upstream/automake.git] / m4 / init.m4
1 # Do all the work for Automake.                             -*- Autoconf -*-
2
3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4 # 2005, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
5 #
6 # This file is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # serial 17
11
12 # This macro actually does too much.  Some checks are only needed if
13 # your package does certain things.  But this isn't really a big deal.
14
15 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
16 # AM_INIT_AUTOMAKE([OPTIONS])
17 # -----------------------------------------------
18 # The call with PACKAGE and VERSION arguments is the old style
19 # call (pre autoconf-2.50), which is being phased out.  PACKAGE
20 # and VERSION should now be passed to AC_INIT and removed from
21 # the call to AM_INIT_AUTOMAKE.
22 # We support both call styles for the transition.  After
23 # the next Automake release, Autoconf can make the AC_INIT
24 # arguments mandatory, and then we can depend on a new Autoconf
25 # release and drop the old call support.
26 AC_DEFUN([AM_INIT_AUTOMAKE],
27 [AC_PREREQ([2.62])dnl
28 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
29 dnl the ones we care about.
30 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
31 AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
32 AC_REQUIRE([AC_PROG_INSTALL])dnl
33 if test "`cd $srcdir && pwd`" != "`pwd`"; then
34   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
35   # is not polluted with repeated "-I."
36   AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
37   # test to see if srcdir already configured
38   if test -f $srcdir/config.status; then
39     AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
40   fi
41 fi
42
43 # test whether we have cygpath
44 if test -z "$CYGPATH_W"; then
45   if (cygpath --version) >/dev/null 2>/dev/null; then
46     CYGPATH_W='cygpath -w'
47   else
48     CYGPATH_W=echo
49   fi
50 fi
51 AC_SUBST([CYGPATH_W])
52
53 # Define the identity of the package.
54 dnl Distinguish between old-style and new-style calls.
55 m4_ifval([$2],
56 [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
57  AC_SUBST([PACKAGE], [$1])dnl
58  AC_SUBST([VERSION], [$2])],
59 [_AM_SET_OPTIONS([$1])dnl
60 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
61 m4_if(
62   m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
63   [ok:ok],,
64   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
65  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
66  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
67
68 _AM_IF_OPTION([no-define],,
69 [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
70  AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
71
72 # Some tools Automake needs.
73 AC_REQUIRE([AM_SANITY_CHECK])dnl
74 AC_REQUIRE([AC_ARG_PROGRAM])dnl
75 AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
76 AM_MISSING_PROG([AUTOCONF], [autoconf])
77 AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
78 AM_MISSING_PROG([AUTOHEADER], [autoheader])
79 AM_MISSING_PROG([MAKEINFO], [makeinfo])
80 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
81 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
82 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
83 # We need awk for the "check" target.  The system "awk" is bad on
84 # some platforms.
85 AC_REQUIRE([AC_PROG_AWK])dnl
86 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
87 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
88 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
89               [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
90                              [_AM_PROG_TAR([v7])])])
91 _AM_IF_OPTION([no-dependencies],,
92 [AC_PROVIDE_IFELSE([AC_PROG_CC],
93                   [_AM_DEPENDENCIES([CC])],
94                   [define([AC_PROG_CC],
95                           defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
96 AC_PROVIDE_IFELSE([AC_PROG_CXX],
97                   [_AM_DEPENDENCIES([CXX])],
98                   [define([AC_PROG_CXX],
99                           defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
100 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
101                   [_AM_DEPENDENCIES([OBJC])],
102                   [define([AC_PROG_OBJC],
103                           defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
104 ])
105 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
106 dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
107 dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
108 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
109 AC_CONFIG_COMMANDS_PRE(dnl
110 [m4_provide_if([_AM_COMPILER_EXEEXT],
111   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
112 ])
113
114 dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
115 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
116 dnl mangled by Autoconf and run in a shell conditional statement.
117 m4_define([_AC_COMPILER_EXEEXT],
118 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
119
120
121 # When config.status generates a header, we must update the stamp-h file.
122 # This file resides in the same directory as the config header
123 # that is generated.  The stamp files are numbered to have different names.
124
125 # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
126 # loop where config.status creates the headers, so we can generate
127 # our stamp files there.
128 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
129 [# Compute $1's index in $config_headers.
130 _am_arg=$1
131 _am_stamp_count=1
132 for _am_header in $config_headers :; do
133   case $_am_header in
134     $_am_arg | $_am_arg:* )
135       break ;;
136     * )
137       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
138   esac
139 done
140 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])