xref: /aosp_15_r20/external/libpng/aclocal.m4 (revision a67afe4df73cf47866eedc69947994b8ff839aba)
1*a67afe4dSAndroid Build Coastguard Worker# generated automatically by aclocal 1.17 -*- Autoconf -*-
2*a67afe4dSAndroid Build Coastguard Worker
3*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1996-2024 Free Software Foundation, Inc.
4*a67afe4dSAndroid Build Coastguard Worker
5*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
6*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
7*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
8*a67afe4dSAndroid Build Coastguard Worker
9*a67afe4dSAndroid Build Coastguard Worker# This program is distributed in the hope that it will be useful,
10*a67afe4dSAndroid Build Coastguard Worker# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11*a67afe4dSAndroid Build Coastguard Worker# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12*a67afe4dSAndroid Build Coastguard Worker# PARTICULAR PURPOSE.
13*a67afe4dSAndroid Build Coastguard Worker
14*a67afe4dSAndroid Build Coastguard Workerm4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15*a67afe4dSAndroid Build Coastguard Workerm4_ifndef([AC_AUTOCONF_VERSION],
16*a67afe4dSAndroid Build Coastguard Worker  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17*a67afe4dSAndroid Build Coastguard Workerm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
18*a67afe4dSAndroid Build Coastguard Worker[m4_warning([this file was generated for autoconf 2.72.
19*a67afe4dSAndroid Build Coastguard WorkerYou have another version of autoconf.  It may work, but is not guaranteed to.
20*a67afe4dSAndroid Build Coastguard WorkerIf you have problems, you may need to regenerate the build system entirely.
21*a67afe4dSAndroid Build Coastguard WorkerTo do so, use the procedure documented by the package, typically 'autoreconf'.])])
22*a67afe4dSAndroid Build Coastguard Worker
23*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2002-2024 Free Software Foundation, Inc.
24*a67afe4dSAndroid Build Coastguard Worker#
25*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
26*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
27*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
28*a67afe4dSAndroid Build Coastguard Worker
29*a67afe4dSAndroid Build Coastguard Worker# AM_AUTOMAKE_VERSION(VERSION)
30*a67afe4dSAndroid Build Coastguard Worker# ----------------------------
31*a67afe4dSAndroid Build Coastguard Worker# Automake X.Y traces this macro to ensure aclocal.m4 has been
32*a67afe4dSAndroid Build Coastguard Worker# generated from the m4 files accompanying Automake X.Y.
33*a67afe4dSAndroid Build Coastguard Worker# (This private macro should not be called outside this file.)
34*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_AUTOMAKE_VERSION],
35*a67afe4dSAndroid Build Coastguard Worker[am__api_version='1.17'
36*a67afe4dSAndroid Build Coastguard Workerdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
37*a67afe4dSAndroid Build Coastguard Workerdnl require some minimum version.  Point them to the right macro.
38*a67afe4dSAndroid Build Coastguard Workerm4_if([$1], [1.17], [],
39*a67afe4dSAndroid Build Coastguard Worker      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
40*a67afe4dSAndroid Build Coastguard Worker])
41*a67afe4dSAndroid Build Coastguard Worker
42*a67afe4dSAndroid Build Coastguard Worker# _AM_AUTOCONF_VERSION(VERSION)
43*a67afe4dSAndroid Build Coastguard Worker# -----------------------------
44*a67afe4dSAndroid Build Coastguard Worker# aclocal traces this macro to find the Autoconf version.
45*a67afe4dSAndroid Build Coastguard Worker# This is a private macro too.  Using m4_define simplifies
46*a67afe4dSAndroid Build Coastguard Worker# the logic in aclocal, which can simply ignore this definition.
47*a67afe4dSAndroid Build Coastguard Workerm4_define([_AM_AUTOCONF_VERSION], [])
48*a67afe4dSAndroid Build Coastguard Worker
49*a67afe4dSAndroid Build Coastguard Worker# AM_SET_CURRENT_AUTOMAKE_VERSION
50*a67afe4dSAndroid Build Coastguard Worker# -------------------------------
51*a67afe4dSAndroid Build Coastguard Worker# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
52*a67afe4dSAndroid Build Coastguard Worker# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
53*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
54*a67afe4dSAndroid Build Coastguard Worker[AM_AUTOMAKE_VERSION([1.17])dnl
55*a67afe4dSAndroid Build Coastguard Workerm4_ifndef([AC_AUTOCONF_VERSION],
56*a67afe4dSAndroid Build Coastguard Worker  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
57*a67afe4dSAndroid Build Coastguard Worker_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
58*a67afe4dSAndroid Build Coastguard Worker
59*a67afe4dSAndroid Build Coastguard Worker# Figure out how to run the assembler.                      -*- Autoconf -*-
60*a67afe4dSAndroid Build Coastguard Worker
61*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
62*a67afe4dSAndroid Build Coastguard Worker#
63*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
64*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
65*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
66*a67afe4dSAndroid Build Coastguard Worker
67*a67afe4dSAndroid Build Coastguard Worker# AM_PROG_AS
68*a67afe4dSAndroid Build Coastguard Worker# ----------
69*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_PROG_AS],
70*a67afe4dSAndroid Build Coastguard Worker[# By default we simply use the C compiler to build assembly code.
71*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AC_PROG_CC])
72*a67afe4dSAndroid Build Coastguard Workertest "${CCAS+set}" = set || CCAS=$CC
73*a67afe4dSAndroid Build Coastguard Workertest "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
74*a67afe4dSAndroid Build Coastguard WorkerAC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
75*a67afe4dSAndroid Build Coastguard WorkerAC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
76*a67afe4dSAndroid Build Coastguard Worker_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
77*a67afe4dSAndroid Build Coastguard Worker])
78*a67afe4dSAndroid Build Coastguard Worker
79*a67afe4dSAndroid Build Coastguard Worker# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
80*a67afe4dSAndroid Build Coastguard Worker
81*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
82*a67afe4dSAndroid Build Coastguard Worker#
83*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
84*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
85*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
86*a67afe4dSAndroid Build Coastguard Worker
87*a67afe4dSAndroid Build Coastguard Worker# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
88*a67afe4dSAndroid Build Coastguard Worker# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
89*a67afe4dSAndroid Build Coastguard Worker# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
90*a67afe4dSAndroid Build Coastguard Worker#
91*a67afe4dSAndroid Build Coastguard Worker# Of course, Automake must honor this variable whenever it calls a
92*a67afe4dSAndroid Build Coastguard Worker# tool from the auxiliary directory.  The problem is that $srcdir (and
93*a67afe4dSAndroid Build Coastguard Worker# therefore $ac_aux_dir as well) can be either absolute or relative,
94*a67afe4dSAndroid Build Coastguard Worker# depending on how configure is run.  This is pretty annoying, since
95*a67afe4dSAndroid Build Coastguard Worker# it makes $ac_aux_dir quite unusable in subdirectories: in the top
96*a67afe4dSAndroid Build Coastguard Worker# source directory, any form will work fine, but in subdirectories a
97*a67afe4dSAndroid Build Coastguard Worker# relative path needs to be adjusted first.
98*a67afe4dSAndroid Build Coastguard Worker#
99*a67afe4dSAndroid Build Coastguard Worker# $ac_aux_dir/missing
100*a67afe4dSAndroid Build Coastguard Worker#    fails when called from a subdirectory if $ac_aux_dir is relative
101*a67afe4dSAndroid Build Coastguard Worker# $top_srcdir/$ac_aux_dir/missing
102*a67afe4dSAndroid Build Coastguard Worker#    fails if $ac_aux_dir is absolute,
103*a67afe4dSAndroid Build Coastguard Worker#    fails when called from a subdirectory in a VPATH build with
104*a67afe4dSAndroid Build Coastguard Worker#          a relative $ac_aux_dir
105*a67afe4dSAndroid Build Coastguard Worker#
106*a67afe4dSAndroid Build Coastguard Worker# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
107*a67afe4dSAndroid Build Coastguard Worker# are both prefixed by $srcdir.  In an in-source build this is usually
108*a67afe4dSAndroid Build Coastguard Worker# harmless because $srcdir is '.', but things will broke when you
109*a67afe4dSAndroid Build Coastguard Worker# start a VPATH build or use an absolute $srcdir.
110*a67afe4dSAndroid Build Coastguard Worker#
111*a67afe4dSAndroid Build Coastguard Worker# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
112*a67afe4dSAndroid Build Coastguard Worker# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
113*a67afe4dSAndroid Build Coastguard Worker#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
114*a67afe4dSAndroid Build Coastguard Worker# and then we would define $MISSING as
115*a67afe4dSAndroid Build Coastguard Worker#   MISSING="\${SHELL} $am_aux_dir/missing"
116*a67afe4dSAndroid Build Coastguard Worker# This will work as long as MISSING is not called from configure, because
117*a67afe4dSAndroid Build Coastguard Worker# unfortunately $(top_srcdir) has no meaning in configure.
118*a67afe4dSAndroid Build Coastguard Worker# However there are other variables, like CC, which are often used in
119*a67afe4dSAndroid Build Coastguard Worker# configure, and could therefore not use this "fixed" $ac_aux_dir.
120*a67afe4dSAndroid Build Coastguard Worker#
121*a67afe4dSAndroid Build Coastguard Worker# Another solution, used here, is to always expand $ac_aux_dir to an
122*a67afe4dSAndroid Build Coastguard Worker# absolute PATH.  The drawback is that using absolute paths prevent a
123*a67afe4dSAndroid Build Coastguard Worker# configured tree to be moved without reconfiguration.
124*a67afe4dSAndroid Build Coastguard Worker
125*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_AUX_DIR_EXPAND],
126*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
127*a67afe4dSAndroid Build Coastguard Worker# Expand $ac_aux_dir to an absolute path.
128*a67afe4dSAndroid Build Coastguard Workeram_aux_dir=`cd "$ac_aux_dir" && pwd`
129*a67afe4dSAndroid Build Coastguard Worker])
130*a67afe4dSAndroid Build Coastguard Worker
131*a67afe4dSAndroid Build Coastguard Worker# AM_CONDITIONAL                                            -*- Autoconf -*-
132*a67afe4dSAndroid Build Coastguard Worker
133*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1997-2024 Free Software Foundation, Inc.
134*a67afe4dSAndroid Build Coastguard Worker#
135*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
136*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
137*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
138*a67afe4dSAndroid Build Coastguard Worker
139*a67afe4dSAndroid Build Coastguard Worker# AM_CONDITIONAL(NAME, SHELL-CONDITION)
140*a67afe4dSAndroid Build Coastguard Worker# -------------------------------------
141*a67afe4dSAndroid Build Coastguard Worker# Define a conditional.
142*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_CONDITIONAL],
143*a67afe4dSAndroid Build Coastguard Worker[AC_PREREQ([2.52])dnl
144*a67afe4dSAndroid Build Coastguard Worker m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
145*a67afe4dSAndroid Build Coastguard Worker       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
146*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([$1_TRUE])dnl
147*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([$1_FALSE])dnl
148*a67afe4dSAndroid Build Coastguard Worker_AM_SUBST_NOTMAKE([$1_TRUE])dnl
149*a67afe4dSAndroid Build Coastguard Worker_AM_SUBST_NOTMAKE([$1_FALSE])dnl
150*a67afe4dSAndroid Build Coastguard Workerm4_define([_AM_COND_VALUE_$1], [$2])dnl
151*a67afe4dSAndroid Build Coastguard Workerif $2; then
152*a67afe4dSAndroid Build Coastguard Worker  $1_TRUE=
153*a67afe4dSAndroid Build Coastguard Worker  $1_FALSE='#'
154*a67afe4dSAndroid Build Coastguard Workerelse
155*a67afe4dSAndroid Build Coastguard Worker  $1_TRUE='#'
156*a67afe4dSAndroid Build Coastguard Worker  $1_FALSE=
157*a67afe4dSAndroid Build Coastguard Workerfi
158*a67afe4dSAndroid Build Coastguard WorkerAC_CONFIG_COMMANDS_PRE(
159*a67afe4dSAndroid Build Coastguard Worker[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
160*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_ERROR([[conditional "$1" was never defined.
161*a67afe4dSAndroid Build Coastguard WorkerUsually this means the macro was only invoked conditionally.]])
162*a67afe4dSAndroid Build Coastguard Workerfi])])
163*a67afe4dSAndroid Build Coastguard Worker
164*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1999-2024 Free Software Foundation, Inc.
165*a67afe4dSAndroid Build Coastguard Worker#
166*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
167*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
168*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
169*a67afe4dSAndroid Build Coastguard Worker
170*a67afe4dSAndroid Build Coastguard Worker
171*a67afe4dSAndroid Build Coastguard Worker# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
172*a67afe4dSAndroid Build Coastguard Worker# written in clear, in which case automake, when reading aclocal.m4,
173*a67afe4dSAndroid Build Coastguard Worker# will think it sees a *use*, and therefore will trigger all it's
174*a67afe4dSAndroid Build Coastguard Worker# C support machinery.  Also note that it means that autoscan, seeing
175*a67afe4dSAndroid Build Coastguard Worker# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
176*a67afe4dSAndroid Build Coastguard Worker
177*a67afe4dSAndroid Build Coastguard Worker
178*a67afe4dSAndroid Build Coastguard Worker# _AM_DEPENDENCIES(NAME)
179*a67afe4dSAndroid Build Coastguard Worker# ----------------------
180*a67afe4dSAndroid Build Coastguard Worker# See how the compiler implements dependency checking.
181*a67afe4dSAndroid Build Coastguard Worker# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
182*a67afe4dSAndroid Build Coastguard Worker# We try a few techniques and use that to set a single cache variable.
183*a67afe4dSAndroid Build Coastguard Worker#
184*a67afe4dSAndroid Build Coastguard Worker# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
185*a67afe4dSAndroid Build Coastguard Worker# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
186*a67afe4dSAndroid Build Coastguard Worker# dependency, and given that the user is not expected to run this macro,
187*a67afe4dSAndroid Build Coastguard Worker# just rely on AC_PROG_CC.
188*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_DEPENDENCIES],
189*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_SET_DEPDIR])dnl
190*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
191*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_MAKE_INCLUDE])dnl
192*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_DEP_TRACK])dnl
193*a67afe4dSAndroid Build Coastguard Worker
194*a67afe4dSAndroid Build Coastguard Workerm4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
195*a67afe4dSAndroid Build Coastguard Worker      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
196*a67afe4dSAndroid Build Coastguard Worker      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
197*a67afe4dSAndroid Build Coastguard Worker      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
198*a67afe4dSAndroid Build Coastguard Worker      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
199*a67afe4dSAndroid Build Coastguard Worker      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
200*a67afe4dSAndroid Build Coastguard Worker                    [depcc="$$1"   am_compiler_list=])
201*a67afe4dSAndroid Build Coastguard Worker
202*a67afe4dSAndroid Build Coastguard WorkerAC_CACHE_CHECK([dependency style of $depcc],
203*a67afe4dSAndroid Build Coastguard Worker               [am_cv_$1_dependencies_compiler_type],
204*a67afe4dSAndroid Build Coastguard Worker[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
205*a67afe4dSAndroid Build Coastguard Worker  # We make a subdir and do the tests there.  Otherwise we can end up
206*a67afe4dSAndroid Build Coastguard Worker  # making bogus files that we don't know about and never remove.  For
207*a67afe4dSAndroid Build Coastguard Worker  # instance it was reported that on HP-UX the gcc test will end up
208*a67afe4dSAndroid Build Coastguard Worker  # making a dummy file named 'D' -- because '-MD' means "put the output
209*a67afe4dSAndroid Build Coastguard Worker  # in D".
210*a67afe4dSAndroid Build Coastguard Worker  rm -rf conftest.dir
211*a67afe4dSAndroid Build Coastguard Worker  mkdir conftest.dir
212*a67afe4dSAndroid Build Coastguard Worker  # Copy depcomp to subdir because otherwise we won't find it if we're
213*a67afe4dSAndroid Build Coastguard Worker  # using a relative directory.
214*a67afe4dSAndroid Build Coastguard Worker  cp "$am_depcomp" conftest.dir
215*a67afe4dSAndroid Build Coastguard Worker  cd conftest.dir
216*a67afe4dSAndroid Build Coastguard Worker  # We will build objects and dependencies in a subdirectory because
217*a67afe4dSAndroid Build Coastguard Worker  # it helps to detect inapplicable dependency modes.  For instance
218*a67afe4dSAndroid Build Coastguard Worker  # both Tru64's cc and ICC support -MD to output dependencies as a
219*a67afe4dSAndroid Build Coastguard Worker  # side effect of compilation, but ICC will put the dependencies in
220*a67afe4dSAndroid Build Coastguard Worker  # the current directory while Tru64 will put them in the object
221*a67afe4dSAndroid Build Coastguard Worker  # directory.
222*a67afe4dSAndroid Build Coastguard Worker  mkdir sub
223*a67afe4dSAndroid Build Coastguard Worker
224*a67afe4dSAndroid Build Coastguard Worker  am_cv_$1_dependencies_compiler_type=none
225*a67afe4dSAndroid Build Coastguard Worker  if test "$am_compiler_list" = ""; then
226*a67afe4dSAndroid Build Coastguard Worker     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
227*a67afe4dSAndroid Build Coastguard Worker  fi
228*a67afe4dSAndroid Build Coastguard Worker  am__universal=false
229*a67afe4dSAndroid Build Coastguard Worker  m4_case([$1], [CC],
230*a67afe4dSAndroid Build Coastguard Worker    [case " $depcc " in #(
231*a67afe4dSAndroid Build Coastguard Worker     *\ -arch\ *\ -arch\ *) am__universal=true ;;
232*a67afe4dSAndroid Build Coastguard Worker     esac],
233*a67afe4dSAndroid Build Coastguard Worker    [CXX],
234*a67afe4dSAndroid Build Coastguard Worker    [case " $depcc " in #(
235*a67afe4dSAndroid Build Coastguard Worker     *\ -arch\ *\ -arch\ *) am__universal=true ;;
236*a67afe4dSAndroid Build Coastguard Worker     esac])
237*a67afe4dSAndroid Build Coastguard Worker
238*a67afe4dSAndroid Build Coastguard Worker  for depmode in $am_compiler_list; do
239*a67afe4dSAndroid Build Coastguard Worker    # Setup a source with many dependencies, because some compilers
240*a67afe4dSAndroid Build Coastguard Worker    # like to wrap large dependency lists on column 80 (with \), and
241*a67afe4dSAndroid Build Coastguard Worker    # we should not choose a depcomp mode which is confused by this.
242*a67afe4dSAndroid Build Coastguard Worker    #
243*a67afe4dSAndroid Build Coastguard Worker    # We need to recreate these files for each test, as the compiler may
244*a67afe4dSAndroid Build Coastguard Worker    # overwrite some of them when testing with obscure command lines.
245*a67afe4dSAndroid Build Coastguard Worker    # This happens at least with the AIX C compiler.
246*a67afe4dSAndroid Build Coastguard Worker    : > sub/conftest.c
247*a67afe4dSAndroid Build Coastguard Worker    for i in 1 2 3 4 5 6; do
248*a67afe4dSAndroid Build Coastguard Worker      echo '#include "conftst'$i'.h"' >> sub/conftest.c
249*a67afe4dSAndroid Build Coastguard Worker      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
250*a67afe4dSAndroid Build Coastguard Worker      # Solaris 10 /bin/sh.
251*a67afe4dSAndroid Build Coastguard Worker      echo '/* dummy */' > sub/conftst$i.h
252*a67afe4dSAndroid Build Coastguard Worker    done
253*a67afe4dSAndroid Build Coastguard Worker    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
254*a67afe4dSAndroid Build Coastguard Worker
255*a67afe4dSAndroid Build Coastguard Worker    # We check with '-c' and '-o' for the sake of the "dashmstdout"
256*a67afe4dSAndroid Build Coastguard Worker    # mode.  It turns out that the SunPro C++ compiler does not properly
257*a67afe4dSAndroid Build Coastguard Worker    # handle '-M -o', and we need to detect this.  Also, some Intel
258*a67afe4dSAndroid Build Coastguard Worker    # versions had trouble with output in subdirs.
259*a67afe4dSAndroid Build Coastguard Worker    am__obj=sub/conftest.${OBJEXT-o}
260*a67afe4dSAndroid Build Coastguard Worker    am__minus_obj="-o $am__obj"
261*a67afe4dSAndroid Build Coastguard Worker    case $depmode in
262*a67afe4dSAndroid Build Coastguard Worker    gcc)
263*a67afe4dSAndroid Build Coastguard Worker      # This depmode causes a compiler race in universal mode.
264*a67afe4dSAndroid Build Coastguard Worker      test "$am__universal" = false || continue
265*a67afe4dSAndroid Build Coastguard Worker      ;;
266*a67afe4dSAndroid Build Coastguard Worker    nosideeffect)
267*a67afe4dSAndroid Build Coastguard Worker      # After this tag, mechanisms are not by side-effect, so they'll
268*a67afe4dSAndroid Build Coastguard Worker      # only be used when explicitly requested.
269*a67afe4dSAndroid Build Coastguard Worker      if test "x$enable_dependency_tracking" = xyes; then
270*a67afe4dSAndroid Build Coastguard Worker	continue
271*a67afe4dSAndroid Build Coastguard Worker      else
272*a67afe4dSAndroid Build Coastguard Worker	break
273*a67afe4dSAndroid Build Coastguard Worker      fi
274*a67afe4dSAndroid Build Coastguard Worker      ;;
275*a67afe4dSAndroid Build Coastguard Worker    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
276*a67afe4dSAndroid Build Coastguard Worker      # This compiler won't grok '-c -o', but also, the minuso test has
277*a67afe4dSAndroid Build Coastguard Worker      # not run yet.  These depmodes are late enough in the game, and
278*a67afe4dSAndroid Build Coastguard Worker      # so weak that their functioning should not be impacted.
279*a67afe4dSAndroid Build Coastguard Worker      am__obj=conftest.${OBJEXT-o}
280*a67afe4dSAndroid Build Coastguard Worker      am__minus_obj=
281*a67afe4dSAndroid Build Coastguard Worker      ;;
282*a67afe4dSAndroid Build Coastguard Worker    none) break ;;
283*a67afe4dSAndroid Build Coastguard Worker    esac
284*a67afe4dSAndroid Build Coastguard Worker    if depmode=$depmode \
285*a67afe4dSAndroid Build Coastguard Worker       source=sub/conftest.c object=$am__obj \
286*a67afe4dSAndroid Build Coastguard Worker       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
287*a67afe4dSAndroid Build Coastguard Worker       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
288*a67afe4dSAndroid Build Coastguard Worker         >/dev/null 2>conftest.err &&
289*a67afe4dSAndroid Build Coastguard Worker       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
290*a67afe4dSAndroid Build Coastguard Worker       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
291*a67afe4dSAndroid Build Coastguard Worker       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
292*a67afe4dSAndroid Build Coastguard Worker       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
293*a67afe4dSAndroid Build Coastguard Worker      # icc doesn't choke on unknown options, it will just issue warnings
294*a67afe4dSAndroid Build Coastguard Worker      # or remarks (even with -Werror).  So we grep stderr for any message
295*a67afe4dSAndroid Build Coastguard Worker      # that says an option was ignored or not supported.
296*a67afe4dSAndroid Build Coastguard Worker      # When given -MP, icc 7.0 and 7.1 complain thus:
297*a67afe4dSAndroid Build Coastguard Worker      #   icc: Command line warning: ignoring option '-M'; no argument required
298*a67afe4dSAndroid Build Coastguard Worker      # The diagnosis changed in icc 8.0:
299*a67afe4dSAndroid Build Coastguard Worker      #   icc: Command line remark: option '-MP' not supported
300*a67afe4dSAndroid Build Coastguard Worker      if (grep 'ignoring option' conftest.err ||
301*a67afe4dSAndroid Build Coastguard Worker          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
302*a67afe4dSAndroid Build Coastguard Worker        am_cv_$1_dependencies_compiler_type=$depmode
303*a67afe4dSAndroid Build Coastguard Worker        break
304*a67afe4dSAndroid Build Coastguard Worker      fi
305*a67afe4dSAndroid Build Coastguard Worker    fi
306*a67afe4dSAndroid Build Coastguard Worker  done
307*a67afe4dSAndroid Build Coastguard Worker
308*a67afe4dSAndroid Build Coastguard Worker  cd ..
309*a67afe4dSAndroid Build Coastguard Worker  rm -rf conftest.dir
310*a67afe4dSAndroid Build Coastguard Workerelse
311*a67afe4dSAndroid Build Coastguard Worker  am_cv_$1_dependencies_compiler_type=none
312*a67afe4dSAndroid Build Coastguard Workerfi
313*a67afe4dSAndroid Build Coastguard Worker])
314*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
315*a67afe4dSAndroid Build Coastguard WorkerAM_CONDITIONAL([am__fastdep$1], [
316*a67afe4dSAndroid Build Coastguard Worker  test "x$enable_dependency_tracking" != xno \
317*a67afe4dSAndroid Build Coastguard Worker  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
318*a67afe4dSAndroid Build Coastguard Worker])
319*a67afe4dSAndroid Build Coastguard Worker
320*a67afe4dSAndroid Build Coastguard Worker
321*a67afe4dSAndroid Build Coastguard Worker# AM_SET_DEPDIR
322*a67afe4dSAndroid Build Coastguard Worker# -------------
323*a67afe4dSAndroid Build Coastguard Worker# Choose a directory name for dependency files.
324*a67afe4dSAndroid Build Coastguard Worker# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
325*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_SET_DEPDIR],
326*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
327*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
328*a67afe4dSAndroid Build Coastguard Worker])
329*a67afe4dSAndroid Build Coastguard Worker
330*a67afe4dSAndroid Build Coastguard Worker
331*a67afe4dSAndroid Build Coastguard Worker# AM_DEP_TRACK
332*a67afe4dSAndroid Build Coastguard Worker# ------------
333*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_DEP_TRACK],
334*a67afe4dSAndroid Build Coastguard Worker[AC_ARG_ENABLE([dependency-tracking], [dnl
335*a67afe4dSAndroid Build Coastguard WorkerAS_HELP_STRING(
336*a67afe4dSAndroid Build Coastguard Worker  [--enable-dependency-tracking],
337*a67afe4dSAndroid Build Coastguard Worker  [do not reject slow dependency extractors])
338*a67afe4dSAndroid Build Coastguard WorkerAS_HELP_STRING(
339*a67afe4dSAndroid Build Coastguard Worker  [--disable-dependency-tracking],
340*a67afe4dSAndroid Build Coastguard Worker  [speeds up one-time build])])
341*a67afe4dSAndroid Build Coastguard Workerif test "x$enable_dependency_tracking" != xno; then
342*a67afe4dSAndroid Build Coastguard Worker  am_depcomp="$ac_aux_dir/depcomp"
343*a67afe4dSAndroid Build Coastguard Worker  AMDEPBACKSLASH='\'
344*a67afe4dSAndroid Build Coastguard Worker  am__nodep='_no'
345*a67afe4dSAndroid Build Coastguard Workerfi
346*a67afe4dSAndroid Build Coastguard WorkerAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
347*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([AMDEPBACKSLASH])dnl
348*a67afe4dSAndroid Build Coastguard Worker_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
349*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([am__nodep])dnl
350*a67afe4dSAndroid Build Coastguard Worker_AM_SUBST_NOTMAKE([am__nodep])dnl
351*a67afe4dSAndroid Build Coastguard Worker])
352*a67afe4dSAndroid Build Coastguard Worker
353*a67afe4dSAndroid Build Coastguard Worker# Generate code to set up dependency tracking.              -*- Autoconf -*-
354*a67afe4dSAndroid Build Coastguard Worker
355*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1999-2024 Free Software Foundation, Inc.
356*a67afe4dSAndroid Build Coastguard Worker#
357*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
358*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
359*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
360*a67afe4dSAndroid Build Coastguard Worker
361*a67afe4dSAndroid Build Coastguard Worker# _AM_OUTPUT_DEPENDENCY_COMMANDS
362*a67afe4dSAndroid Build Coastguard Worker# ------------------------------
363*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
364*a67afe4dSAndroid Build Coastguard Worker[{
365*a67afe4dSAndroid Build Coastguard Worker  # Older Autoconf quotes --file arguments for eval, but not when files
366*a67afe4dSAndroid Build Coastguard Worker  # are listed without --file.  Let's play safe and only enable the eval
367*a67afe4dSAndroid Build Coastguard Worker  # if we detect the quoting.
368*a67afe4dSAndroid Build Coastguard Worker  # TODO: see whether this extra hack can be removed once we start
369*a67afe4dSAndroid Build Coastguard Worker  # requiring Autoconf 2.70 or later.
370*a67afe4dSAndroid Build Coastguard Worker  AS_CASE([$CONFIG_FILES],
371*a67afe4dSAndroid Build Coastguard Worker          [*\'*], [eval set x "$CONFIG_FILES"],
372*a67afe4dSAndroid Build Coastguard Worker          [*], [set x $CONFIG_FILES])
373*a67afe4dSAndroid Build Coastguard Worker  shift
374*a67afe4dSAndroid Build Coastguard Worker  # Used to flag and report bootstrapping failures.
375*a67afe4dSAndroid Build Coastguard Worker  am_rc=0
376*a67afe4dSAndroid Build Coastguard Worker  for am_mf
377*a67afe4dSAndroid Build Coastguard Worker  do
378*a67afe4dSAndroid Build Coastguard Worker    # Strip MF so we end up with the name of the file.
379*a67afe4dSAndroid Build Coastguard Worker    am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
380*a67afe4dSAndroid Build Coastguard Worker    # Check whether this is an Automake generated Makefile which includes
381*a67afe4dSAndroid Build Coastguard Worker    # dependency-tracking related rules and includes.
382*a67afe4dSAndroid Build Coastguard Worker    # Grep'ing the whole file directly is not great: AIX grep has a line
383*a67afe4dSAndroid Build Coastguard Worker    # limit of 2048, but all sed's we know have understand at least 4000.
384*a67afe4dSAndroid Build Coastguard Worker    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
385*a67afe4dSAndroid Build Coastguard Worker      || continue
386*a67afe4dSAndroid Build Coastguard Worker    am_dirpart=`AS_DIRNAME(["$am_mf"])`
387*a67afe4dSAndroid Build Coastguard Worker    am_filepart=`AS_BASENAME(["$am_mf"])`
388*a67afe4dSAndroid Build Coastguard Worker    AM_RUN_LOG([cd "$am_dirpart" \
389*a67afe4dSAndroid Build Coastguard Worker      && sed -e '/# am--include-marker/d' "$am_filepart" \
390*a67afe4dSAndroid Build Coastguard Worker        | $MAKE -f - am--depfiles]) || am_rc=$?
391*a67afe4dSAndroid Build Coastguard Worker  done
392*a67afe4dSAndroid Build Coastguard Worker  if test $am_rc -ne 0; then
393*a67afe4dSAndroid Build Coastguard Worker    AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
394*a67afe4dSAndroid Build Coastguard Worker    for automatic dependency tracking.  If GNU make was not used, consider
395*a67afe4dSAndroid Build Coastguard Worker    re-running the configure script with MAKE="gmake" (or whatever is
396*a67afe4dSAndroid Build Coastguard Worker    necessary).  You can also try re-running configure with the
397*a67afe4dSAndroid Build Coastguard Worker    '--disable-dependency-tracking' option to at least be able to build
398*a67afe4dSAndroid Build Coastguard Worker    the package (albeit without support for automatic dependency tracking).])
399*a67afe4dSAndroid Build Coastguard Worker  fi
400*a67afe4dSAndroid Build Coastguard Worker  AS_UNSET([am_dirpart])
401*a67afe4dSAndroid Build Coastguard Worker  AS_UNSET([am_filepart])
402*a67afe4dSAndroid Build Coastguard Worker  AS_UNSET([am_mf])
403*a67afe4dSAndroid Build Coastguard Worker  AS_UNSET([am_rc])
404*a67afe4dSAndroid Build Coastguard Worker  rm -f conftest-deps.mk
405*a67afe4dSAndroid Build Coastguard Worker}
406*a67afe4dSAndroid Build Coastguard Worker])# _AM_OUTPUT_DEPENDENCY_COMMANDS
407*a67afe4dSAndroid Build Coastguard Worker
408*a67afe4dSAndroid Build Coastguard Worker
409*a67afe4dSAndroid Build Coastguard Worker# AM_OUTPUT_DEPENDENCY_COMMANDS
410*a67afe4dSAndroid Build Coastguard Worker# -----------------------------
411*a67afe4dSAndroid Build Coastguard Worker# This macro should only be invoked once -- use via AC_REQUIRE.
412*a67afe4dSAndroid Build Coastguard Worker#
413*a67afe4dSAndroid Build Coastguard Worker# This code is only required when automatic dependency tracking is enabled.
414*a67afe4dSAndroid Build Coastguard Worker# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
415*a67afe4dSAndroid Build Coastguard Worker# order to bootstrap the dependency handling code.
416*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
417*a67afe4dSAndroid Build Coastguard Worker[AC_CONFIG_COMMANDS([depfiles],
418*a67afe4dSAndroid Build Coastguard Worker     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
419*a67afe4dSAndroid Build Coastguard Worker     [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
420*a67afe4dSAndroid Build Coastguard Worker
421*a67afe4dSAndroid Build Coastguard Worker# Do all the work for Automake.                             -*- Autoconf -*-
422*a67afe4dSAndroid Build Coastguard Worker
423*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1996-2024 Free Software Foundation, Inc.
424*a67afe4dSAndroid Build Coastguard Worker#
425*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
426*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
427*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
428*a67afe4dSAndroid Build Coastguard Worker
429*a67afe4dSAndroid Build Coastguard Worker# This macro actually does too much.  Some checks are only needed if
430*a67afe4dSAndroid Build Coastguard Worker# your package does certain things.  But this isn't really a big deal.
431*a67afe4dSAndroid Build Coastguard Worker
432*a67afe4dSAndroid Build Coastguard Workerdnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
433*a67afe4dSAndroid Build Coastguard Workerm4_define([AC_PROG_CC],
434*a67afe4dSAndroid Build Coastguard Workerm4_defn([AC_PROG_CC])
435*a67afe4dSAndroid Build Coastguard Worker[_AM_PROG_CC_C_O
436*a67afe4dSAndroid Build Coastguard Worker])
437*a67afe4dSAndroid Build Coastguard Worker
438*a67afe4dSAndroid Build Coastguard Worker# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
439*a67afe4dSAndroid Build Coastguard Worker# AM_INIT_AUTOMAKE([OPTIONS])
440*a67afe4dSAndroid Build Coastguard Worker# -----------------------------------------------
441*a67afe4dSAndroid Build Coastguard Worker# The call with PACKAGE and VERSION arguments is the old style
442*a67afe4dSAndroid Build Coastguard Worker# call (pre autoconf-2.50), which is being phased out.  PACKAGE
443*a67afe4dSAndroid Build Coastguard Worker# and VERSION should now be passed to AC_INIT and removed from
444*a67afe4dSAndroid Build Coastguard Worker# the call to AM_INIT_AUTOMAKE.
445*a67afe4dSAndroid Build Coastguard Worker# We support both call styles for the transition.  After
446*a67afe4dSAndroid Build Coastguard Worker# the next Automake release, Autoconf can make the AC_INIT
447*a67afe4dSAndroid Build Coastguard Worker# arguments mandatory, and then we can depend on a new Autoconf
448*a67afe4dSAndroid Build Coastguard Worker# release and drop the old call support.
449*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_INIT_AUTOMAKE],
450*a67afe4dSAndroid Build Coastguard Worker[AC_PREREQ([2.65])dnl
451*a67afe4dSAndroid Build Coastguard Workerm4_ifdef([_$0_ALREADY_INIT],
452*a67afe4dSAndroid Build Coastguard Worker  [m4_fatal([$0 expanded multiple times
453*a67afe4dSAndroid Build Coastguard Worker]m4_defn([_$0_ALREADY_INIT]))],
454*a67afe4dSAndroid Build Coastguard Worker  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
455*a67afe4dSAndroid Build Coastguard Workerdnl Autoconf wants to disallow AM_ names.  We explicitly allow
456*a67afe4dSAndroid Build Coastguard Workerdnl the ones we care about.
457*a67afe4dSAndroid Build Coastguard Workerm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
458*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
459*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AC_PROG_INSTALL])dnl
460*a67afe4dSAndroid Build Coastguard Workerif test "`cd $srcdir && pwd`" != "`pwd`"; then
461*a67afe4dSAndroid Build Coastguard Worker  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
462*a67afe4dSAndroid Build Coastguard Worker  # is not polluted with repeated "-I."
463*a67afe4dSAndroid Build Coastguard Worker  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
464*a67afe4dSAndroid Build Coastguard Worker  # test to see if srcdir already configured
465*a67afe4dSAndroid Build Coastguard Worker  if test -f $srcdir/config.status; then
466*a67afe4dSAndroid Build Coastguard Worker    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
467*a67afe4dSAndroid Build Coastguard Worker  fi
468*a67afe4dSAndroid Build Coastguard Workerfi
469*a67afe4dSAndroid Build Coastguard Worker
470*a67afe4dSAndroid Build Coastguard Worker# test whether we have cygpath
471*a67afe4dSAndroid Build Coastguard Workerif test -z "$CYGPATH_W"; then
472*a67afe4dSAndroid Build Coastguard Worker  if (cygpath --version) >/dev/null 2>/dev/null; then
473*a67afe4dSAndroid Build Coastguard Worker    CYGPATH_W='cygpath -w'
474*a67afe4dSAndroid Build Coastguard Worker  else
475*a67afe4dSAndroid Build Coastguard Worker    CYGPATH_W=echo
476*a67afe4dSAndroid Build Coastguard Worker  fi
477*a67afe4dSAndroid Build Coastguard Workerfi
478*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([CYGPATH_W])
479*a67afe4dSAndroid Build Coastguard Worker
480*a67afe4dSAndroid Build Coastguard Worker# Define the identity of the package.
481*a67afe4dSAndroid Build Coastguard Workerdnl Distinguish between old-style and new-style calls.
482*a67afe4dSAndroid Build Coastguard Workerm4_ifval([$2],
483*a67afe4dSAndroid Build Coastguard Worker[AC_DIAGNOSE([obsolete],
484*a67afe4dSAndroid Build Coastguard Worker             [$0: two- and three-arguments forms are deprecated.])
485*a67afe4dSAndroid Build Coastguard Workerm4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
486*a67afe4dSAndroid Build Coastguard Worker AC_SUBST([PACKAGE], [$1])dnl
487*a67afe4dSAndroid Build Coastguard Worker AC_SUBST([VERSION], [$2])],
488*a67afe4dSAndroid Build Coastguard Worker[_AM_SET_OPTIONS([$1])dnl
489*a67afe4dSAndroid Build Coastguard Workerdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
490*a67afe4dSAndroid Build Coastguard Workerm4_if(
491*a67afe4dSAndroid Build Coastguard Worker  m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
492*a67afe4dSAndroid Build Coastguard Worker  [ok:ok],,
493*a67afe4dSAndroid Build Coastguard Worker  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
494*a67afe4dSAndroid Build Coastguard Worker AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
495*a67afe4dSAndroid Build Coastguard Worker AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
496*a67afe4dSAndroid Build Coastguard Worker
497*a67afe4dSAndroid Build Coastguard Worker_AM_IF_OPTION([no-define],,
498*a67afe4dSAndroid Build Coastguard Worker[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
499*a67afe4dSAndroid Build Coastguard Worker AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
500*a67afe4dSAndroid Build Coastguard Worker
501*a67afe4dSAndroid Build Coastguard Worker# Some tools Automake needs.
502*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_SANITY_CHECK])dnl
503*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AC_ARG_PROGRAM])dnl
504*a67afe4dSAndroid Build Coastguard WorkerAM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
505*a67afe4dSAndroid Build Coastguard WorkerAM_MISSING_PROG([AUTOCONF], [autoconf])
506*a67afe4dSAndroid Build Coastguard WorkerAM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
507*a67afe4dSAndroid Build Coastguard WorkerAM_MISSING_PROG([AUTOHEADER], [autoheader])
508*a67afe4dSAndroid Build Coastguard WorkerAM_MISSING_PROG([MAKEINFO], [makeinfo])
509*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
510*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
511*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AC_PROG_MKDIR_P])dnl
512*a67afe4dSAndroid Build Coastguard Worker# For better backward compatibility.  To be removed once Automake 1.9.x
513*a67afe4dSAndroid Build Coastguard Worker# dies out for good.  For more background, see:
514*a67afe4dSAndroid Build Coastguard Worker# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
515*a67afe4dSAndroid Build Coastguard Worker# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
516*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([mkdir_p], ['$(MKDIR_P)'])
517*a67afe4dSAndroid Build Coastguard Worker# We need awk for the "check" target (and possibly the TAP driver).  The
518*a67afe4dSAndroid Build Coastguard Worker# system "awk" is bad on some platforms.
519*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AC_PROG_AWK])dnl
520*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AC_PROG_MAKE_SET])dnl
521*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([AM_SET_LEADING_DOT])dnl
522*a67afe4dSAndroid Build Coastguard Worker_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
523*a67afe4dSAndroid Build Coastguard Worker	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
524*a67afe4dSAndroid Build Coastguard Worker			     [_AM_PROG_TAR([v7])])])
525*a67afe4dSAndroid Build Coastguard Worker_AM_IF_OPTION([no-dependencies],,
526*a67afe4dSAndroid Build Coastguard Worker[AC_PROVIDE_IFELSE([AC_PROG_CC],
527*a67afe4dSAndroid Build Coastguard Worker		  [_AM_DEPENDENCIES([CC])],
528*a67afe4dSAndroid Build Coastguard Worker		  [m4_define([AC_PROG_CC],
529*a67afe4dSAndroid Build Coastguard Worker			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
530*a67afe4dSAndroid Build Coastguard WorkerAC_PROVIDE_IFELSE([AC_PROG_CXX],
531*a67afe4dSAndroid Build Coastguard Worker		  [_AM_DEPENDENCIES([CXX])],
532*a67afe4dSAndroid Build Coastguard Worker		  [m4_define([AC_PROG_CXX],
533*a67afe4dSAndroid Build Coastguard Worker			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
534*a67afe4dSAndroid Build Coastguard WorkerAC_PROVIDE_IFELSE([AC_PROG_OBJC],
535*a67afe4dSAndroid Build Coastguard Worker		  [_AM_DEPENDENCIES([OBJC])],
536*a67afe4dSAndroid Build Coastguard Worker		  [m4_define([AC_PROG_OBJC],
537*a67afe4dSAndroid Build Coastguard Worker			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
538*a67afe4dSAndroid Build Coastguard WorkerAC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
539*a67afe4dSAndroid Build Coastguard Worker		  [_AM_DEPENDENCIES([OBJCXX])],
540*a67afe4dSAndroid Build Coastguard Worker		  [m4_define([AC_PROG_OBJCXX],
541*a67afe4dSAndroid Build Coastguard Worker			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
542*a67afe4dSAndroid Build Coastguard Worker])
543*a67afe4dSAndroid Build Coastguard Worker# Variables for tags utilities; see am/tags.am
544*a67afe4dSAndroid Build Coastguard Workerif test -z "$CTAGS"; then
545*a67afe4dSAndroid Build Coastguard Worker  CTAGS=ctags
546*a67afe4dSAndroid Build Coastguard Workerfi
547*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([CTAGS])
548*a67afe4dSAndroid Build Coastguard Workerif test -z "$ETAGS"; then
549*a67afe4dSAndroid Build Coastguard Worker  ETAGS=etags
550*a67afe4dSAndroid Build Coastguard Workerfi
551*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([ETAGS])
552*a67afe4dSAndroid Build Coastguard Workerif test -z "$CSCOPE"; then
553*a67afe4dSAndroid Build Coastguard Worker  CSCOPE=cscope
554*a67afe4dSAndroid Build Coastguard Workerfi
555*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([CSCOPE])
556*a67afe4dSAndroid Build Coastguard Worker
557*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([_AM_SILENT_RULES])dnl
558*a67afe4dSAndroid Build Coastguard Workerdnl The testsuite driver may need to know about EXEEXT, so add the
559*a67afe4dSAndroid Build Coastguard Workerdnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
560*a67afe4dSAndroid Build Coastguard Workerdnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
561*a67afe4dSAndroid Build Coastguard WorkerAC_CONFIG_COMMANDS_PRE(dnl
562*a67afe4dSAndroid Build Coastguard Worker[m4_provide_if([_AM_COMPILER_EXEEXT],
563*a67afe4dSAndroid Build Coastguard Worker  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
564*a67afe4dSAndroid Build Coastguard Worker
565*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([_AM_PROG_RM_F])
566*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([_AM_PROG_XARGS_N])
567*a67afe4dSAndroid Build Coastguard Worker
568*a67afe4dSAndroid Build Coastguard Workerdnl The trailing newline in this macro's definition is deliberate, for
569*a67afe4dSAndroid Build Coastguard Workerdnl backward compatibility and to allow trailing 'dnl'-style comments
570*a67afe4dSAndroid Build Coastguard Workerdnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
571*a67afe4dSAndroid Build Coastguard Worker])
572*a67afe4dSAndroid Build Coastguard Worker
573*a67afe4dSAndroid Build Coastguard Workerdnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
574*a67afe4dSAndroid Build Coastguard Workerdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
575*a67afe4dSAndroid Build Coastguard Workerdnl mangled by Autoconf and run in a shell conditional statement.
576*a67afe4dSAndroid Build Coastguard Workerm4_define([_AC_COMPILER_EXEEXT],
577*a67afe4dSAndroid Build Coastguard Workerm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
578*a67afe4dSAndroid Build Coastguard Worker
579*a67afe4dSAndroid Build Coastguard Worker# When config.status generates a header, we must update the stamp-h file.
580*a67afe4dSAndroid Build Coastguard Worker# This file resides in the same directory as the config header
581*a67afe4dSAndroid Build Coastguard Worker# that is generated.  The stamp files are numbered to have different names.
582*a67afe4dSAndroid Build Coastguard Worker
583*a67afe4dSAndroid Build Coastguard Worker# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
584*a67afe4dSAndroid Build Coastguard Worker# loop where config.status creates the headers, so we can generate
585*a67afe4dSAndroid Build Coastguard Worker# our stamp files there.
586*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
587*a67afe4dSAndroid Build Coastguard Worker[# Compute $1's index in $config_headers.
588*a67afe4dSAndroid Build Coastguard Worker_am_arg=$1
589*a67afe4dSAndroid Build Coastguard Worker_am_stamp_count=1
590*a67afe4dSAndroid Build Coastguard Workerfor _am_header in $config_headers :; do
591*a67afe4dSAndroid Build Coastguard Worker  case $_am_header in
592*a67afe4dSAndroid Build Coastguard Worker    $_am_arg | $_am_arg:* )
593*a67afe4dSAndroid Build Coastguard Worker      break ;;
594*a67afe4dSAndroid Build Coastguard Worker    * )
595*a67afe4dSAndroid Build Coastguard Worker      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
596*a67afe4dSAndroid Build Coastguard Worker  esac
597*a67afe4dSAndroid Build Coastguard Workerdone
598*a67afe4dSAndroid Build Coastguard Workerecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
599*a67afe4dSAndroid Build Coastguard Worker
600*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
601*a67afe4dSAndroid Build Coastguard Worker#
602*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
603*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
604*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
605*a67afe4dSAndroid Build Coastguard Worker
606*a67afe4dSAndroid Build Coastguard Worker# AM_PROG_INSTALL_SH
607*a67afe4dSAndroid Build Coastguard Worker# ------------------
608*a67afe4dSAndroid Build Coastguard Worker# Define $install_sh.
609*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_PROG_INSTALL_SH],
610*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
611*a67afe4dSAndroid Build Coastguard Workerif test x"${install_sh+set}" != xset; then
612*a67afe4dSAndroid Build Coastguard Worker  case $am_aux_dir in
613*a67afe4dSAndroid Build Coastguard Worker  *\ * | *\	*)
614*a67afe4dSAndroid Build Coastguard Worker    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
615*a67afe4dSAndroid Build Coastguard Worker  *)
616*a67afe4dSAndroid Build Coastguard Worker    install_sh="\${SHELL} $am_aux_dir/install-sh"
617*a67afe4dSAndroid Build Coastguard Worker  esac
618*a67afe4dSAndroid Build Coastguard Workerfi
619*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([install_sh])])
620*a67afe4dSAndroid Build Coastguard Worker
621*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2003-2024 Free Software Foundation, Inc.
622*a67afe4dSAndroid Build Coastguard Worker#
623*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
624*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
625*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
626*a67afe4dSAndroid Build Coastguard Worker
627*a67afe4dSAndroid Build Coastguard Worker# Check whether the underlying file-system supports filenames
628*a67afe4dSAndroid Build Coastguard Worker# with a leading dot.  For instance MS-DOS doesn't.
629*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_SET_LEADING_DOT],
630*a67afe4dSAndroid Build Coastguard Worker[rm -rf .tst 2>/dev/null
631*a67afe4dSAndroid Build Coastguard Workermkdir .tst 2>/dev/null
632*a67afe4dSAndroid Build Coastguard Workerif test -d .tst; then
633*a67afe4dSAndroid Build Coastguard Worker  am__leading_dot=.
634*a67afe4dSAndroid Build Coastguard Workerelse
635*a67afe4dSAndroid Build Coastguard Worker  am__leading_dot=_
636*a67afe4dSAndroid Build Coastguard Workerfi
637*a67afe4dSAndroid Build Coastguard Workerrmdir .tst 2>/dev/null
638*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([am__leading_dot])])
639*a67afe4dSAndroid Build Coastguard Worker
640*a67afe4dSAndroid Build Coastguard Worker# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
641*a67afe4dSAndroid Build Coastguard Worker# From Jim Meyering
642*a67afe4dSAndroid Build Coastguard Worker
643*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1996-2024 Free Software Foundation, Inc.
644*a67afe4dSAndroid Build Coastguard Worker#
645*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
646*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
647*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
648*a67afe4dSAndroid Build Coastguard Worker
649*a67afe4dSAndroid Build Coastguard Worker# AM_MAINTAINER_MODE([DEFAULT-MODE])
650*a67afe4dSAndroid Build Coastguard Worker# ----------------------------------
651*a67afe4dSAndroid Build Coastguard Worker# Control maintainer-specific portions of Makefiles.
652*a67afe4dSAndroid Build Coastguard Worker# Default is to disable them, unless 'enable' is passed literally.
653*a67afe4dSAndroid Build Coastguard Worker# For symmetry, 'disable' may be passed as well.  Anyway, the user
654*a67afe4dSAndroid Build Coastguard Worker# can override the default with the --enable/--disable switch.
655*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_MAINTAINER_MODE],
656*a67afe4dSAndroid Build Coastguard Worker[m4_case(m4_default([$1], [disable]),
657*a67afe4dSAndroid Build Coastguard Worker       [enable], [m4_define([am_maintainer_other], [disable])],
658*a67afe4dSAndroid Build Coastguard Worker       [disable], [m4_define([am_maintainer_other], [enable])],
659*a67afe4dSAndroid Build Coastguard Worker       [m4_define([am_maintainer_other], [enable])
660*a67afe4dSAndroid Build Coastguard Worker        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
661*a67afe4dSAndroid Build Coastguard WorkerAC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
662*a67afe4dSAndroid Build Coastguard Worker  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
663*a67afe4dSAndroid Build Coastguard Worker  AC_ARG_ENABLE([maintainer-mode],
664*a67afe4dSAndroid Build Coastguard Worker    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
665*a67afe4dSAndroid Build Coastguard Worker      am_maintainer_other[ make rules and dependencies not useful
666*a67afe4dSAndroid Build Coastguard Worker      (and sometimes confusing) to the casual installer])],
667*a67afe4dSAndroid Build Coastguard Worker    [USE_MAINTAINER_MODE=$enableval],
668*a67afe4dSAndroid Build Coastguard Worker    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
669*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
670*a67afe4dSAndroid Build Coastguard Worker  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
671*a67afe4dSAndroid Build Coastguard Worker  MAINT=$MAINTAINER_MODE_TRUE
672*a67afe4dSAndroid Build Coastguard Worker  AC_SUBST([MAINT])dnl
673*a67afe4dSAndroid Build Coastguard Worker]
674*a67afe4dSAndroid Build Coastguard Worker)
675*a67afe4dSAndroid Build Coastguard Worker
676*a67afe4dSAndroid Build Coastguard Worker# Check to see how 'make' treats includes.	            -*- Autoconf -*-
677*a67afe4dSAndroid Build Coastguard Worker
678*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
679*a67afe4dSAndroid Build Coastguard Worker#
680*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
681*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
682*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
683*a67afe4dSAndroid Build Coastguard Worker
684*a67afe4dSAndroid Build Coastguard Worker# AM_MAKE_INCLUDE()
685*a67afe4dSAndroid Build Coastguard Worker# -----------------
686*a67afe4dSAndroid Build Coastguard Worker# Check whether make has an 'include' directive that can support all
687*a67afe4dSAndroid Build Coastguard Worker# the idioms we need for our automatic dependency tracking code.
688*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_MAKE_INCLUDE],
689*a67afe4dSAndroid Build Coastguard Worker[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
690*a67afe4dSAndroid Build Coastguard Workercat > confinc.mk << 'END'
691*a67afe4dSAndroid Build Coastguard Workeram__doit:
692*a67afe4dSAndroid Build Coastguard Worker	@echo this is the am__doit target >confinc.out
693*a67afe4dSAndroid Build Coastguard Worker.PHONY: am__doit
694*a67afe4dSAndroid Build Coastguard WorkerEND
695*a67afe4dSAndroid Build Coastguard Workeram__include="#"
696*a67afe4dSAndroid Build Coastguard Workeram__quote=
697*a67afe4dSAndroid Build Coastguard Worker# BSD make does it like this.
698*a67afe4dSAndroid Build Coastguard Workerecho '.include "confinc.mk" # ignored' > confmf.BSD
699*a67afe4dSAndroid Build Coastguard Worker# Other make implementations (GNU, Solaris 10, AIX) do it like this.
700*a67afe4dSAndroid Build Coastguard Workerecho 'include confinc.mk # ignored' > confmf.GNU
701*a67afe4dSAndroid Build Coastguard Worker_am_result=no
702*a67afe4dSAndroid Build Coastguard Workerfor s in GNU BSD; do
703*a67afe4dSAndroid Build Coastguard Worker  AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
704*a67afe4dSAndroid Build Coastguard Worker  AS_CASE([$?:`cat confinc.out 2>/dev/null`],
705*a67afe4dSAndroid Build Coastguard Worker      ['0:this is the am__doit target'],
706*a67afe4dSAndroid Build Coastguard Worker      [AS_CASE([$s],
707*a67afe4dSAndroid Build Coastguard Worker          [BSD], [am__include='.include' am__quote='"'],
708*a67afe4dSAndroid Build Coastguard Worker          [am__include='include' am__quote=''])])
709*a67afe4dSAndroid Build Coastguard Worker  if test "$am__include" != "#"; then
710*a67afe4dSAndroid Build Coastguard Worker    _am_result="yes ($s style)"
711*a67afe4dSAndroid Build Coastguard Worker    break
712*a67afe4dSAndroid Build Coastguard Worker  fi
713*a67afe4dSAndroid Build Coastguard Workerdone
714*a67afe4dSAndroid Build Coastguard Workerrm -f confinc.* confmf.*
715*a67afe4dSAndroid Build Coastguard WorkerAC_MSG_RESULT([${_am_result}])
716*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([am__include])])
717*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([am__quote])])
718*a67afe4dSAndroid Build Coastguard Worker
719*a67afe4dSAndroid Build Coastguard Worker# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
720*a67afe4dSAndroid Build Coastguard Worker
721*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1997-2024 Free Software Foundation, Inc.
722*a67afe4dSAndroid Build Coastguard Worker#
723*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
724*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
725*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
726*a67afe4dSAndroid Build Coastguard Worker
727*a67afe4dSAndroid Build Coastguard Worker# AM_MISSING_PROG(NAME, PROGRAM)
728*a67afe4dSAndroid Build Coastguard Worker# ------------------------------
729*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_MISSING_PROG],
730*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_MISSING_HAS_RUN])
731*a67afe4dSAndroid Build Coastguard Worker$1=${$1-"${am_missing_run}$2"}
732*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST($1)])
733*a67afe4dSAndroid Build Coastguard Worker
734*a67afe4dSAndroid Build Coastguard Worker# AM_MISSING_HAS_RUN
735*a67afe4dSAndroid Build Coastguard Worker# ------------------
736*a67afe4dSAndroid Build Coastguard Worker# Define MISSING if not defined so far and test if it is modern enough.
737*a67afe4dSAndroid Build Coastguard Worker# If it is, set am_missing_run to use it, otherwise, to nothing.
738*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_MISSING_HAS_RUN],
739*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
740*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE_AUX_FILE([missing])dnl
741*a67afe4dSAndroid Build Coastguard Workerif test x"${MISSING+set}" != xset; then
742*a67afe4dSAndroid Build Coastguard Worker  MISSING="\${SHELL} '$am_aux_dir/missing'"
743*a67afe4dSAndroid Build Coastguard Workerfi
744*a67afe4dSAndroid Build Coastguard Worker# Use eval to expand $SHELL
745*a67afe4dSAndroid Build Coastguard Workerif eval "$MISSING --is-lightweight"; then
746*a67afe4dSAndroid Build Coastguard Worker  am_missing_run="$MISSING "
747*a67afe4dSAndroid Build Coastguard Workerelse
748*a67afe4dSAndroid Build Coastguard Worker  am_missing_run=
749*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_WARN(['missing' script is too old or missing])
750*a67afe4dSAndroid Build Coastguard Workerfi
751*a67afe4dSAndroid Build Coastguard Worker])
752*a67afe4dSAndroid Build Coastguard Worker
753*a67afe4dSAndroid Build Coastguard Worker# Helper functions for option handling.                     -*- Autoconf -*-
754*a67afe4dSAndroid Build Coastguard Worker
755*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
756*a67afe4dSAndroid Build Coastguard Worker#
757*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
758*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
759*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
760*a67afe4dSAndroid Build Coastguard Worker
761*a67afe4dSAndroid Build Coastguard Worker# _AM_MANGLE_OPTION(NAME)
762*a67afe4dSAndroid Build Coastguard Worker# -----------------------
763*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_MANGLE_OPTION],
764*a67afe4dSAndroid Build Coastguard Worker[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
765*a67afe4dSAndroid Build Coastguard Worker
766*a67afe4dSAndroid Build Coastguard Worker# _AM_SET_OPTION(NAME)
767*a67afe4dSAndroid Build Coastguard Worker# --------------------
768*a67afe4dSAndroid Build Coastguard Worker# Set option NAME.  Presently that only means defining a flag for this option.
769*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_SET_OPTION],
770*a67afe4dSAndroid Build Coastguard Worker[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
771*a67afe4dSAndroid Build Coastguard Worker
772*a67afe4dSAndroid Build Coastguard Worker# _AM_SET_OPTIONS(OPTIONS)
773*a67afe4dSAndroid Build Coastguard Worker# ------------------------
774*a67afe4dSAndroid Build Coastguard Worker# OPTIONS is a space-separated list of Automake options.
775*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_SET_OPTIONS],
776*a67afe4dSAndroid Build Coastguard Worker[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
777*a67afe4dSAndroid Build Coastguard Worker
778*a67afe4dSAndroid Build Coastguard Worker# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
779*a67afe4dSAndroid Build Coastguard Worker# -------------------------------------------
780*a67afe4dSAndroid Build Coastguard Worker# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
781*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_IF_OPTION],
782*a67afe4dSAndroid Build Coastguard Worker[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
783*a67afe4dSAndroid Build Coastguard Worker
784*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1999-2024 Free Software Foundation, Inc.
785*a67afe4dSAndroid Build Coastguard Worker#
786*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
787*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
788*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
789*a67afe4dSAndroid Build Coastguard Worker
790*a67afe4dSAndroid Build Coastguard Worker# _AM_PROG_CC_C_O
791*a67afe4dSAndroid Build Coastguard Worker# ---------------
792*a67afe4dSAndroid Build Coastguard Worker# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
793*a67afe4dSAndroid Build Coastguard Worker# to automatically call this.
794*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_PROG_CC_C_O],
795*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
796*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE_AUX_FILE([compile])dnl
797*a67afe4dSAndroid Build Coastguard WorkerAC_LANG_PUSH([C])dnl
798*a67afe4dSAndroid Build Coastguard WorkerAC_CACHE_CHECK(
799*a67afe4dSAndroid Build Coastguard Worker  [whether $CC understands -c and -o together],
800*a67afe4dSAndroid Build Coastguard Worker  [am_cv_prog_cc_c_o],
801*a67afe4dSAndroid Build Coastguard Worker  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
802*a67afe4dSAndroid Build Coastguard Worker  # Make sure it works both with $CC and with simple cc.
803*a67afe4dSAndroid Build Coastguard Worker  # Following AC_PROG_CC_C_O, we do the test twice because some
804*a67afe4dSAndroid Build Coastguard Worker  # compilers refuse to overwrite an existing .o file with -o,
805*a67afe4dSAndroid Build Coastguard Worker  # though they will create one.
806*a67afe4dSAndroid Build Coastguard Worker  am_cv_prog_cc_c_o=yes
807*a67afe4dSAndroid Build Coastguard Worker  for am_i in 1 2; do
808*a67afe4dSAndroid Build Coastguard Worker    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
809*a67afe4dSAndroid Build Coastguard Worker         && test -f conftest2.$ac_objext; then
810*a67afe4dSAndroid Build Coastguard Worker      : OK
811*a67afe4dSAndroid Build Coastguard Worker    else
812*a67afe4dSAndroid Build Coastguard Worker      am_cv_prog_cc_c_o=no
813*a67afe4dSAndroid Build Coastguard Worker      break
814*a67afe4dSAndroid Build Coastguard Worker    fi
815*a67afe4dSAndroid Build Coastguard Worker  done
816*a67afe4dSAndroid Build Coastguard Worker  rm -f core conftest*
817*a67afe4dSAndroid Build Coastguard Worker  unset am_i])
818*a67afe4dSAndroid Build Coastguard Workerif test "$am_cv_prog_cc_c_o" != yes; then
819*a67afe4dSAndroid Build Coastguard Worker   # Losing compiler, so override with the script.
820*a67afe4dSAndroid Build Coastguard Worker   # FIXME: It is wrong to rewrite CC.
821*a67afe4dSAndroid Build Coastguard Worker   # But if we don't then we get into trouble of one sort or another.
822*a67afe4dSAndroid Build Coastguard Worker   # A longer-term fix would be to have automake use am__CC in this case,
823*a67afe4dSAndroid Build Coastguard Worker   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
824*a67afe4dSAndroid Build Coastguard Worker   CC="$am_aux_dir/compile $CC"
825*a67afe4dSAndroid Build Coastguard Workerfi
826*a67afe4dSAndroid Build Coastguard WorkerAC_LANG_POP([C])])
827*a67afe4dSAndroid Build Coastguard Worker
828*a67afe4dSAndroid Build Coastguard Worker# For backward compatibility.
829*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
830*a67afe4dSAndroid Build Coastguard Worker
831*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2022-2024 Free Software Foundation, Inc.
832*a67afe4dSAndroid Build Coastguard Worker#
833*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
834*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
835*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
836*a67afe4dSAndroid Build Coastguard Worker
837*a67afe4dSAndroid Build Coastguard Worker# _AM_PROG_RM_F
838*a67afe4dSAndroid Build Coastguard Worker# ---------------
839*a67afe4dSAndroid Build Coastguard Worker# Check whether 'rm -f' without any arguments works.
840*a67afe4dSAndroid Build Coastguard Worker# https://bugs.gnu.org/10828
841*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_PROG_RM_F],
842*a67afe4dSAndroid Build Coastguard Worker[am__rm_f_notfound=
843*a67afe4dSAndroid Build Coastguard WorkerAS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""'])
844*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST(am__rm_f_notfound)
845*a67afe4dSAndroid Build Coastguard Worker])
846*a67afe4dSAndroid Build Coastguard Worker
847*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
848*a67afe4dSAndroid Build Coastguard Worker#
849*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
850*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
851*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
852*a67afe4dSAndroid Build Coastguard Worker
853*a67afe4dSAndroid Build Coastguard Worker# AM_RUN_LOG(COMMAND)
854*a67afe4dSAndroid Build Coastguard Worker# -------------------
855*a67afe4dSAndroid Build Coastguard Worker# Run COMMAND, save the exit status in ac_status, and log it.
856*a67afe4dSAndroid Build Coastguard Worker# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
857*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_RUN_LOG],
858*a67afe4dSAndroid Build Coastguard Worker[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
859*a67afe4dSAndroid Build Coastguard Worker   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
860*a67afe4dSAndroid Build Coastguard Worker   ac_status=$?
861*a67afe4dSAndroid Build Coastguard Worker   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
862*a67afe4dSAndroid Build Coastguard Worker   (exit $ac_status); }])
863*a67afe4dSAndroid Build Coastguard Worker
864*a67afe4dSAndroid Build Coastguard Worker# Check to make sure that the build environment is sane.    -*- Autoconf -*-
865*a67afe4dSAndroid Build Coastguard Worker
866*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 1996-2024 Free Software Foundation, Inc.
867*a67afe4dSAndroid Build Coastguard Worker#
868*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
869*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
870*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
871*a67afe4dSAndroid Build Coastguard Worker
872*a67afe4dSAndroid Build Coastguard Worker# _AM_SLEEP_FRACTIONAL_SECONDS
873*a67afe4dSAndroid Build Coastguard Worker# ----------------------------
874*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl
875*a67afe4dSAndroid Build Coastguard WorkerAC_CACHE_CHECK([whether sleep supports fractional seconds],
876*a67afe4dSAndroid Build Coastguard Worker               am_cv_sleep_fractional_seconds, [dnl
877*a67afe4dSAndroid Build Coastguard WorkerAS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=yes],
878*a67afe4dSAndroid Build Coastguard Worker                                 [am_cv_sleep_fractional_seconds=no])
879*a67afe4dSAndroid Build Coastguard Worker])])
880*a67afe4dSAndroid Build Coastguard Worker
881*a67afe4dSAndroid Build Coastguard Worker# _AM_FILESYSTEM_TIMESTAMP_RESOLUTION
882*a67afe4dSAndroid Build Coastguard Worker# -----------------------------------
883*a67afe4dSAndroid Build Coastguard Worker# Determine the filesystem's resolution for file modification
884*a67afe4dSAndroid Build Coastguard Worker# timestamps.  The coarsest we know of is FAT, with a resolution
885*a67afe4dSAndroid Build Coastguard Worker# of only two seconds, even with the most recent "exFAT" extensions.
886*a67afe4dSAndroid Build Coastguard Worker# The finest (e.g. ext4 with large inodes, XFS, ZFS) is one
887*a67afe4dSAndroid Build Coastguard Worker# nanosecond, matching clock_gettime.  However, it is probably not
888*a67afe4dSAndroid Build Coastguard Worker# possible to delay execution of a shell script for less than one
889*a67afe4dSAndroid Build Coastguard Worker# millisecond, due to process creation overhead and scheduling
890*a67afe4dSAndroid Build Coastguard Worker# granularity, so we don't check for anything finer than that. (See below.)
891*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl
892*a67afe4dSAndroid Build Coastguard WorkerAC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS])
893*a67afe4dSAndroid Build Coastguard WorkerAC_CACHE_CHECK([filesystem timestamp resolution],
894*a67afe4dSAndroid Build Coastguard Worker               am_cv_filesystem_timestamp_resolution, [dnl
895*a67afe4dSAndroid Build Coastguard Worker# Default to the worst case.
896*a67afe4dSAndroid Build Coastguard Workeram_cv_filesystem_timestamp_resolution=2
897*a67afe4dSAndroid Build Coastguard Worker
898*a67afe4dSAndroid Build Coastguard Worker# Only try to go finer than 1 sec if sleep can do it.
899*a67afe4dSAndroid Build Coastguard Worker# Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work,
900*a67afe4dSAndroid Build Coastguard Worker# - 1 sec is not much of a win compared to 2 sec, and
901*a67afe4dSAndroid Build Coastguard Worker# - it takes 2 seconds to perform the test whether 1 sec works.
902*a67afe4dSAndroid Build Coastguard Worker#
903*a67afe4dSAndroid Build Coastguard Worker# Instead, just use the default 2s on platforms that have 1s resolution,
904*a67afe4dSAndroid Build Coastguard Worker# accept the extra 1s delay when using $sleep in the Automake tests, in
905*a67afe4dSAndroid Build Coastguard Worker# exchange for not incurring the 2s delay for running the test for all
906*a67afe4dSAndroid Build Coastguard Worker# packages.
907*a67afe4dSAndroid Build Coastguard Worker#
908*a67afe4dSAndroid Build Coastguard Workeram_try_resolutions=
909*a67afe4dSAndroid Build Coastguard Workerif test "$am_cv_sleep_fractional_seconds" = yes; then
910*a67afe4dSAndroid Build Coastguard Worker  # Even a millisecond often causes a bunch of false positives,
911*a67afe4dSAndroid Build Coastguard Worker  # so just try a hundredth of a second. The time saved between .001 and
912*a67afe4dSAndroid Build Coastguard Worker  # .01 is not terribly consequential.
913*a67afe4dSAndroid Build Coastguard Worker  am_try_resolutions="0.01 0.1 $am_try_resolutions"
914*a67afe4dSAndroid Build Coastguard Workerfi
915*a67afe4dSAndroid Build Coastguard Worker
916*a67afe4dSAndroid Build Coastguard Worker# In order to catch current-generation FAT out, we must *modify* files
917*a67afe4dSAndroid Build Coastguard Worker# that already exist; the *creation* timestamp is finer.  Use names
918*a67afe4dSAndroid Build Coastguard Worker# that make ls -t sort them differently when they have equal
919*a67afe4dSAndroid Build Coastguard Worker# timestamps than when they have distinct timestamps, keeping
920*a67afe4dSAndroid Build Coastguard Worker# in mind that ls -t prints the *newest* file first.
921*a67afe4dSAndroid Build Coastguard Workerrm -f conftest.ts?
922*a67afe4dSAndroid Build Coastguard Worker: > conftest.ts1
923*a67afe4dSAndroid Build Coastguard Worker: > conftest.ts2
924*a67afe4dSAndroid Build Coastguard Worker: > conftest.ts3
925*a67afe4dSAndroid Build Coastguard Worker
926*a67afe4dSAndroid Build Coastguard Worker# Make sure ls -t actually works.  Do 'set' in a subshell so we don't
927*a67afe4dSAndroid Build Coastguard Worker# clobber the current shell's arguments. (Outer-level square brackets
928*a67afe4dSAndroid Build Coastguard Worker# are removed by m4; they're present so that m4 does not expand
929*a67afe4dSAndroid Build Coastguard Worker# <dollar><star>; be careful, easy to get confused.)
930*a67afe4dSAndroid Build Coastguard Workerif (
931*a67afe4dSAndroid Build Coastguard Worker     set X `[ls -t conftest.ts[12]]` &&
932*a67afe4dSAndroid Build Coastguard Worker     {
933*a67afe4dSAndroid Build Coastguard Worker       test "$[]*" != "X conftest.ts1 conftest.ts2" ||
934*a67afe4dSAndroid Build Coastguard Worker       test "$[]*" != "X conftest.ts2 conftest.ts1";
935*a67afe4dSAndroid Build Coastguard Worker     }
936*a67afe4dSAndroid Build Coastguard Worker); then :; else
937*a67afe4dSAndroid Build Coastguard Worker  # If neither matched, then we have a broken ls.  This can happen
938*a67afe4dSAndroid Build Coastguard Worker  # if, for instance, CONFIG_SHELL is bash and it inherits a
939*a67afe4dSAndroid Build Coastguard Worker  # broken ls alias from the environment.  This has actually
940*a67afe4dSAndroid Build Coastguard Worker  # happened.  Such a system could not be considered "sane".
941*a67afe4dSAndroid Build Coastguard Worker  _AS_ECHO_UNQUOTED(
942*a67afe4dSAndroid Build Coastguard Worker    ["Bad output from ls -t: \"`[ls -t conftest.ts[12]]`\""],
943*a67afe4dSAndroid Build Coastguard Worker    [AS_MESSAGE_LOG_FD])
944*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_FAILURE([ls -t produces unexpected output.
945*a67afe4dSAndroid Build Coastguard WorkerMake sure there is not a broken ls alias in your environment.])
946*a67afe4dSAndroid Build Coastguard Workerfi
947*a67afe4dSAndroid Build Coastguard Worker
948*a67afe4dSAndroid Build Coastguard Workerfor am_try_res in $am_try_resolutions; do
949*a67afe4dSAndroid Build Coastguard Worker  # Any one fine-grained sleep might happen to cross the boundary
950*a67afe4dSAndroid Build Coastguard Worker  # between two values of a coarser actual resolution, but if we do
951*a67afe4dSAndroid Build Coastguard Worker  # two fine-grained sleeps in a row, at least one of them will fall
952*a67afe4dSAndroid Build Coastguard Worker  # entirely within a coarse interval.
953*a67afe4dSAndroid Build Coastguard Worker  echo alpha > conftest.ts1
954*a67afe4dSAndroid Build Coastguard Worker  sleep $am_try_res
955*a67afe4dSAndroid Build Coastguard Worker  echo beta > conftest.ts2
956*a67afe4dSAndroid Build Coastguard Worker  sleep $am_try_res
957*a67afe4dSAndroid Build Coastguard Worker  echo gamma > conftest.ts3
958*a67afe4dSAndroid Build Coastguard Worker
959*a67afe4dSAndroid Build Coastguard Worker  # We assume that 'ls -t' will make use of high-resolution
960*a67afe4dSAndroid Build Coastguard Worker  # timestamps if the operating system supports them at all.
961*a67afe4dSAndroid Build Coastguard Worker  if (set X `ls -t conftest.ts?` &&
962*a67afe4dSAndroid Build Coastguard Worker      test "$[]2" = conftest.ts3 &&
963*a67afe4dSAndroid Build Coastguard Worker      test "$[]3" = conftest.ts2 &&
964*a67afe4dSAndroid Build Coastguard Worker      test "$[]4" = conftest.ts1); then
965*a67afe4dSAndroid Build Coastguard Worker    #
966*a67afe4dSAndroid Build Coastguard Worker    # Ok, ls -t worked. If we're at a resolution of 1 second, we're done,
967*a67afe4dSAndroid Build Coastguard Worker    # because we don't need to test make.
968*a67afe4dSAndroid Build Coastguard Worker    make_ok=true
969*a67afe4dSAndroid Build Coastguard Worker    if test $am_try_res != 1; then
970*a67afe4dSAndroid Build Coastguard Worker      # But if we've succeeded so far with a subsecond resolution, we
971*a67afe4dSAndroid Build Coastguard Worker      # have one more thing to check: make. It can happen that
972*a67afe4dSAndroid Build Coastguard Worker      # everything else supports the subsecond mtimes, but make doesn't;
973*a67afe4dSAndroid Build Coastguard Worker      # notably on macOS, which ships make 3.81 from 2006 (the last one
974*a67afe4dSAndroid Build Coastguard Worker      # released under GPLv2). https://bugs.gnu.org/68808
975*a67afe4dSAndroid Build Coastguard Worker      #
976*a67afe4dSAndroid Build Coastguard Worker      # We test $MAKE if it is defined in the environment, else "make".
977*a67afe4dSAndroid Build Coastguard Worker      # It might get overridden later, but our hope is that in practice
978*a67afe4dSAndroid Build Coastguard Worker      # it does not matter: it is the system "make" which is (by far)
979*a67afe4dSAndroid Build Coastguard Worker      # the most likely to be broken, whereas if the user overrides it,
980*a67afe4dSAndroid Build Coastguard Worker      # probably they did so with a better, or at least not worse, make.
981*a67afe4dSAndroid Build Coastguard Worker      # https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
982*a67afe4dSAndroid Build Coastguard Worker      #
983*a67afe4dSAndroid Build Coastguard Worker      # Create a Makefile (real tab character here):
984*a67afe4dSAndroid Build Coastguard Worker      rm -f conftest.mk
985*a67afe4dSAndroid Build Coastguard Worker      echo 'conftest.ts1: conftest.ts2' >conftest.mk
986*a67afe4dSAndroid Build Coastguard Worker      echo '	touch conftest.ts2' >>conftest.mk
987*a67afe4dSAndroid Build Coastguard Worker      #
988*a67afe4dSAndroid Build Coastguard Worker      # Now, running
989*a67afe4dSAndroid Build Coastguard Worker      #   touch conftest.ts1; touch conftest.ts2; make
990*a67afe4dSAndroid Build Coastguard Worker      # should touch ts1 because ts2 is newer. This could happen by luck,
991*a67afe4dSAndroid Build Coastguard Worker      # but most often, it will fail if make's support is insufficient. So
992*a67afe4dSAndroid Build Coastguard Worker      # test for several consecutive successes.
993*a67afe4dSAndroid Build Coastguard Worker      #
994*a67afe4dSAndroid Build Coastguard Worker      # (We reuse conftest.ts[12] because we still want to modify existing
995*a67afe4dSAndroid Build Coastguard Worker      # files, not create new ones, per above.)
996*a67afe4dSAndroid Build Coastguard Worker      n=0
997*a67afe4dSAndroid Build Coastguard Worker      make=${MAKE-make}
998*a67afe4dSAndroid Build Coastguard Worker      until test $n -eq 3; do
999*a67afe4dSAndroid Build Coastguard Worker        echo one > conftest.ts1
1000*a67afe4dSAndroid Build Coastguard Worker        sleep $am_try_res
1001*a67afe4dSAndroid Build Coastguard Worker        echo two > conftest.ts2 # ts2 should now be newer than ts1
1002*a67afe4dSAndroid Build Coastguard Worker        if $make -f conftest.mk | grep 'up to date' >/dev/null; then
1003*a67afe4dSAndroid Build Coastguard Worker          make_ok=false
1004*a67afe4dSAndroid Build Coastguard Worker          break # out of $n loop
1005*a67afe4dSAndroid Build Coastguard Worker        fi
1006*a67afe4dSAndroid Build Coastguard Worker        n=`expr $n + 1`
1007*a67afe4dSAndroid Build Coastguard Worker      done
1008*a67afe4dSAndroid Build Coastguard Worker    fi
1009*a67afe4dSAndroid Build Coastguard Worker    #
1010*a67afe4dSAndroid Build Coastguard Worker    if $make_ok; then
1011*a67afe4dSAndroid Build Coastguard Worker      # Everything we know to check worked out, so call this resolution good.
1012*a67afe4dSAndroid Build Coastguard Worker      am_cv_filesystem_timestamp_resolution=$am_try_res
1013*a67afe4dSAndroid Build Coastguard Worker      break # out of $am_try_res loop
1014*a67afe4dSAndroid Build Coastguard Worker    fi
1015*a67afe4dSAndroid Build Coastguard Worker    # Otherwise, we'll go on to check the next resolution.
1016*a67afe4dSAndroid Build Coastguard Worker  fi
1017*a67afe4dSAndroid Build Coastguard Workerdone
1018*a67afe4dSAndroid Build Coastguard Workerrm -f conftest.ts?
1019*a67afe4dSAndroid Build Coastguard Worker# (end _am_filesystem_timestamp_resolution)
1020*a67afe4dSAndroid Build Coastguard Worker])])
1021*a67afe4dSAndroid Build Coastguard Worker
1022*a67afe4dSAndroid Build Coastguard Worker# AM_SANITY_CHECK
1023*a67afe4dSAndroid Build Coastguard Worker# ---------------
1024*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_SANITY_CHECK],
1025*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION])
1026*a67afe4dSAndroid Build Coastguard Worker# This check should not be cached, as it may vary across builds of
1027*a67afe4dSAndroid Build Coastguard Worker# different projects.
1028*a67afe4dSAndroid Build Coastguard WorkerAC_MSG_CHECKING([whether build environment is sane])
1029*a67afe4dSAndroid Build Coastguard Worker# Reject unsafe characters in $srcdir or the absolute working directory
1030*a67afe4dSAndroid Build Coastguard Worker# name.  Accept space and tab only in the latter.
1031*a67afe4dSAndroid Build Coastguard Workeram_lf='
1032*a67afe4dSAndroid Build Coastguard Worker'
1033*a67afe4dSAndroid Build Coastguard Workercase `pwd` in
1034*a67afe4dSAndroid Build Coastguard Worker  *[[\\\"\#\$\&\'\`$am_lf]]*)
1035*a67afe4dSAndroid Build Coastguard Worker    AC_MSG_ERROR([unsafe absolute working directory name]);;
1036*a67afe4dSAndroid Build Coastguard Workeresac
1037*a67afe4dSAndroid Build Coastguard Workercase $srcdir in
1038*a67afe4dSAndroid Build Coastguard Worker  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
1039*a67afe4dSAndroid Build Coastguard Worker    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
1040*a67afe4dSAndroid Build Coastguard Workeresac
1041*a67afe4dSAndroid Build Coastguard Worker
1042*a67afe4dSAndroid Build Coastguard Worker# Do 'set' in a subshell so we don't clobber the current shell's
1043*a67afe4dSAndroid Build Coastguard Worker# arguments.  Must try -L first in case configure is actually a
1044*a67afe4dSAndroid Build Coastguard Worker# symlink; some systems play weird games with the mod time of symlinks
1045*a67afe4dSAndroid Build Coastguard Worker# (eg FreeBSD returns the mod time of the symlink's containing
1046*a67afe4dSAndroid Build Coastguard Worker# directory).
1047*a67afe4dSAndroid Build Coastguard Workeram_build_env_is_sane=no
1048*a67afe4dSAndroid Build Coastguard Workeram_has_slept=no
1049*a67afe4dSAndroid Build Coastguard Workerrm -f conftest.file
1050*a67afe4dSAndroid Build Coastguard Workerfor am_try in 1 2; do
1051*a67afe4dSAndroid Build Coastguard Worker  echo "timestamp, slept: $am_has_slept" > conftest.file
1052*a67afe4dSAndroid Build Coastguard Worker  if (
1053*a67afe4dSAndroid Build Coastguard Worker    set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
1054*a67afe4dSAndroid Build Coastguard Worker    if test "$[]*" = "X"; then
1055*a67afe4dSAndroid Build Coastguard Worker      # -L didn't work.
1056*a67afe4dSAndroid Build Coastguard Worker      set X `ls -t "$srcdir/configure" conftest.file`
1057*a67afe4dSAndroid Build Coastguard Worker    fi
1058*a67afe4dSAndroid Build Coastguard Worker    test "$[]2" = conftest.file
1059*a67afe4dSAndroid Build Coastguard Worker  ); then
1060*a67afe4dSAndroid Build Coastguard Worker    am_build_env_is_sane=yes
1061*a67afe4dSAndroid Build Coastguard Worker    break
1062*a67afe4dSAndroid Build Coastguard Worker  fi
1063*a67afe4dSAndroid Build Coastguard Worker  # Just in case.
1064*a67afe4dSAndroid Build Coastguard Worker  sleep "$am_cv_filesystem_timestamp_resolution"
1065*a67afe4dSAndroid Build Coastguard Worker  am_has_slept=yes
1066*a67afe4dSAndroid Build Coastguard Workerdone
1067*a67afe4dSAndroid Build Coastguard Worker
1068*a67afe4dSAndroid Build Coastguard WorkerAC_MSG_RESULT([$am_build_env_is_sane])
1069*a67afe4dSAndroid Build Coastguard Workerif test "$am_build_env_is_sane" = no; then
1070*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_ERROR([newly created file is older than distributed files!
1071*a67afe4dSAndroid Build Coastguard WorkerCheck your system clock])
1072*a67afe4dSAndroid Build Coastguard Workerfi
1073*a67afe4dSAndroid Build Coastguard Worker
1074*a67afe4dSAndroid Build Coastguard Worker# If we didn't sleep, we still need to ensure time stamps of config.status and
1075*a67afe4dSAndroid Build Coastguard Worker# generated files are strictly newer.
1076*a67afe4dSAndroid Build Coastguard Workeram_sleep_pid=
1077*a67afe4dSAndroid Build Coastguard WorkerAS_IF([test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1],, [dnl
1078*a67afe4dSAndroid Build Coastguard Worker  ( sleep "$am_cv_filesystem_timestamp_resolution" ) &
1079*a67afe4dSAndroid Build Coastguard Worker  am_sleep_pid=$!
1080*a67afe4dSAndroid Build Coastguard Worker])
1081*a67afe4dSAndroid Build Coastguard WorkerAC_CONFIG_COMMANDS_PRE(
1082*a67afe4dSAndroid Build Coastguard Worker  [AC_MSG_CHECKING([that generated files are newer than configure])
1083*a67afe4dSAndroid Build Coastguard Worker   if test -n "$am_sleep_pid"; then
1084*a67afe4dSAndroid Build Coastguard Worker     # Hide warnings about reused PIDs.
1085*a67afe4dSAndroid Build Coastguard Worker     wait $am_sleep_pid 2>/dev/null
1086*a67afe4dSAndroid Build Coastguard Worker   fi
1087*a67afe4dSAndroid Build Coastguard Worker   AC_MSG_RESULT([done])])
1088*a67afe4dSAndroid Build Coastguard Workerrm -f conftest.file
1089*a67afe4dSAndroid Build Coastguard Worker])
1090*a67afe4dSAndroid Build Coastguard Worker
1091*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2009-2024 Free Software Foundation, Inc.
1092*a67afe4dSAndroid Build Coastguard Worker#
1093*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
1094*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
1095*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
1096*a67afe4dSAndroid Build Coastguard Worker
1097*a67afe4dSAndroid Build Coastguard Worker# _AM_SILENT_RULES
1098*a67afe4dSAndroid Build Coastguard Worker# ----------------
1099*a67afe4dSAndroid Build Coastguard Worker# Enable less verbose build rules support.
1100*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_SILENT_RULES],
1101*a67afe4dSAndroid Build Coastguard Worker[AM_DEFAULT_VERBOSITY=1
1102*a67afe4dSAndroid Build Coastguard WorkerAC_ARG_ENABLE([silent-rules], [dnl
1103*a67afe4dSAndroid Build Coastguard WorkerAS_HELP_STRING(
1104*a67afe4dSAndroid Build Coastguard Worker  [--enable-silent-rules],
1105*a67afe4dSAndroid Build Coastguard Worker  [less verbose build output (undo: "make V=1")])
1106*a67afe4dSAndroid Build Coastguard WorkerAS_HELP_STRING(
1107*a67afe4dSAndroid Build Coastguard Worker  [--disable-silent-rules],
1108*a67afe4dSAndroid Build Coastguard Worker  [verbose build output (undo: "make V=0")])dnl
1109*a67afe4dSAndroid Build Coastguard Worker])
1110*a67afe4dSAndroid Build Coastguard Workerdnl
1111*a67afe4dSAndroid Build Coastguard Workerdnl A few 'make' implementations (e.g., NonStop OS and NextStep)
1112*a67afe4dSAndroid Build Coastguard Workerdnl do not support nested variable expansions.
1113*a67afe4dSAndroid Build Coastguard Workerdnl See automake bug#9928 and bug#10237.
1114*a67afe4dSAndroid Build Coastguard Workeram_make=${MAKE-make}
1115*a67afe4dSAndroid Build Coastguard WorkerAC_CACHE_CHECK([whether $am_make supports nested variables],
1116*a67afe4dSAndroid Build Coastguard Worker   [am_cv_make_support_nested_variables],
1117*a67afe4dSAndroid Build Coastguard Worker   [if AS_ECHO([['TRUE=$(BAR$(V))
1118*a67afe4dSAndroid Build Coastguard WorkerBAR0=false
1119*a67afe4dSAndroid Build Coastguard WorkerBAR1=true
1120*a67afe4dSAndroid Build Coastguard WorkerV=1
1121*a67afe4dSAndroid Build Coastguard Workeram__doit:
1122*a67afe4dSAndroid Build Coastguard Worker	@$(TRUE)
1123*a67afe4dSAndroid Build Coastguard Worker.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
1124*a67afe4dSAndroid Build Coastguard Worker  am_cv_make_support_nested_variables=yes
1125*a67afe4dSAndroid Build Coastguard Workerelse
1126*a67afe4dSAndroid Build Coastguard Worker  am_cv_make_support_nested_variables=no
1127*a67afe4dSAndroid Build Coastguard Workerfi])
1128*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([AM_V])dnl
1129*a67afe4dSAndroid Build Coastguard WorkerAM_SUBST_NOTMAKE([AM_V])dnl
1130*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([AM_DEFAULT_V])dnl
1131*a67afe4dSAndroid Build Coastguard WorkerAM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
1132*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
1133*a67afe4dSAndroid Build Coastguard WorkerAM_BACKSLASH='\'
1134*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([AM_BACKSLASH])dnl
1135*a67afe4dSAndroid Build Coastguard Worker_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1136*a67afe4dSAndroid Build Coastguard Workerdnl Delay evaluation of AM_DEFAULT_VERBOSITY to the end to allow multiple calls
1137*a67afe4dSAndroid Build Coastguard Workerdnl to AM_SILENT_RULES to change the default value.
1138*a67afe4dSAndroid Build Coastguard WorkerAC_CONFIG_COMMANDS_PRE([dnl
1139*a67afe4dSAndroid Build Coastguard Workercase $enable_silent_rules in @%:@ (((
1140*a67afe4dSAndroid Build Coastguard Worker  yes) AM_DEFAULT_VERBOSITY=0;;
1141*a67afe4dSAndroid Build Coastguard Worker   no) AM_DEFAULT_VERBOSITY=1;;
1142*a67afe4dSAndroid Build Coastguard Workeresac
1143*a67afe4dSAndroid Build Coastguard Workerif test $am_cv_make_support_nested_variables = yes; then
1144*a67afe4dSAndroid Build Coastguard Worker  dnl Using '$V' instead of '$(V)' breaks IRIX make.
1145*a67afe4dSAndroid Build Coastguard Worker  AM_V='$(V)'
1146*a67afe4dSAndroid Build Coastguard Worker  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
1147*a67afe4dSAndroid Build Coastguard Workerelse
1148*a67afe4dSAndroid Build Coastguard Worker  AM_V=$AM_DEFAULT_VERBOSITY
1149*a67afe4dSAndroid Build Coastguard Worker  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
1150*a67afe4dSAndroid Build Coastguard Workerfi
1151*a67afe4dSAndroid Build Coastguard Worker])dnl
1152*a67afe4dSAndroid Build Coastguard Worker])
1153*a67afe4dSAndroid Build Coastguard Worker
1154*a67afe4dSAndroid Build Coastguard Worker# AM_SILENT_RULES([DEFAULT])
1155*a67afe4dSAndroid Build Coastguard Worker# --------------------------
1156*a67afe4dSAndroid Build Coastguard Worker# Set the default verbosity level to DEFAULT ("yes" being less verbose, "no" or
1157*a67afe4dSAndroid Build Coastguard Worker# empty being verbose).
1158*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_SILENT_RULES],
1159*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([_AM_SILENT_RULES])
1160*a67afe4dSAndroid Build Coastguard WorkerAM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
1161*a67afe4dSAndroid Build Coastguard Worker
1162*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2001-2024 Free Software Foundation, Inc.
1163*a67afe4dSAndroid Build Coastguard Worker#
1164*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
1165*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
1166*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
1167*a67afe4dSAndroid Build Coastguard Worker
1168*a67afe4dSAndroid Build Coastguard Worker# AM_PROG_INSTALL_STRIP
1169*a67afe4dSAndroid Build Coastguard Worker# ---------------------
1170*a67afe4dSAndroid Build Coastguard Worker# One issue with vendor 'install' (even GNU) is that you can't
1171*a67afe4dSAndroid Build Coastguard Worker# specify the program used to strip binaries.  This is especially
1172*a67afe4dSAndroid Build Coastguard Worker# annoying in cross-compiling environments, where the build's strip
1173*a67afe4dSAndroid Build Coastguard Worker# is unlikely to handle the host's binaries.
1174*a67afe4dSAndroid Build Coastguard Worker# Fortunately install-sh will honor a STRIPPROG variable, so we
1175*a67afe4dSAndroid Build Coastguard Worker# always use install-sh in "make install-strip", and initialize
1176*a67afe4dSAndroid Build Coastguard Worker# STRIPPROG with the value of the STRIP variable (set by the user).
1177*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_PROG_INSTALL_STRIP],
1178*a67afe4dSAndroid Build Coastguard Worker[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
1179*a67afe4dSAndroid Build Coastguard Worker# Installed binaries are usually stripped using 'strip' when the user
1180*a67afe4dSAndroid Build Coastguard Worker# run "make install-strip".  However 'strip' might not be the right
1181*a67afe4dSAndroid Build Coastguard Worker# tool to use in cross-compilation environments, therefore Automake
1182*a67afe4dSAndroid Build Coastguard Worker# will honor the 'STRIP' environment variable to overrule this program.
1183*a67afe4dSAndroid Build Coastguard Workerdnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
1184*a67afe4dSAndroid Build Coastguard Workerif test "$cross_compiling" != no; then
1185*a67afe4dSAndroid Build Coastguard Worker  AC_CHECK_TOOL([STRIP], [strip], :)
1186*a67afe4dSAndroid Build Coastguard Workerfi
1187*a67afe4dSAndroid Build Coastguard WorkerINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1188*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([INSTALL_STRIP_PROGRAM])])
1189*a67afe4dSAndroid Build Coastguard Worker
1190*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2006-2024 Free Software Foundation, Inc.
1191*a67afe4dSAndroid Build Coastguard Worker#
1192*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
1193*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
1194*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
1195*a67afe4dSAndroid Build Coastguard Worker
1196*a67afe4dSAndroid Build Coastguard Worker# _AM_SUBST_NOTMAKE(VARIABLE)
1197*a67afe4dSAndroid Build Coastguard Worker# ---------------------------
1198*a67afe4dSAndroid Build Coastguard Worker# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
1199*a67afe4dSAndroid Build Coastguard Worker# This macro is traced by Automake.
1200*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_SUBST_NOTMAKE])
1201*a67afe4dSAndroid Build Coastguard Worker
1202*a67afe4dSAndroid Build Coastguard Worker# AM_SUBST_NOTMAKE(VARIABLE)
1203*a67afe4dSAndroid Build Coastguard Worker# --------------------------
1204*a67afe4dSAndroid Build Coastguard Worker# Public sister of _AM_SUBST_NOTMAKE.
1205*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1206*a67afe4dSAndroid Build Coastguard Worker
1207*a67afe4dSAndroid Build Coastguard Worker# Check how to create a tarball.                            -*- Autoconf -*-
1208*a67afe4dSAndroid Build Coastguard Worker
1209*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2004-2024 Free Software Foundation, Inc.
1210*a67afe4dSAndroid Build Coastguard Worker#
1211*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
1212*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
1213*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
1214*a67afe4dSAndroid Build Coastguard Worker
1215*a67afe4dSAndroid Build Coastguard Worker# _AM_PROG_TAR(FORMAT)
1216*a67afe4dSAndroid Build Coastguard Worker# --------------------
1217*a67afe4dSAndroid Build Coastguard Worker# Check how to create a tarball in format FORMAT.
1218*a67afe4dSAndroid Build Coastguard Worker# FORMAT should be one of 'v7', 'ustar', or 'pax'.
1219*a67afe4dSAndroid Build Coastguard Worker#
1220*a67afe4dSAndroid Build Coastguard Worker# Substitute a variable $(am__tar) that is a command
1221*a67afe4dSAndroid Build Coastguard Worker# writing to stdout a FORMAT-tarball containing the directory
1222*a67afe4dSAndroid Build Coastguard Worker# $tardir.
1223*a67afe4dSAndroid Build Coastguard Worker#     tardir=directory && $(am__tar) > result.tar
1224*a67afe4dSAndroid Build Coastguard Worker#
1225*a67afe4dSAndroid Build Coastguard Worker# Substitute a variable $(am__untar) that extract such
1226*a67afe4dSAndroid Build Coastguard Worker# a tarball read from stdin.
1227*a67afe4dSAndroid Build Coastguard Worker#     $(am__untar) < result.tar
1228*a67afe4dSAndroid Build Coastguard Worker#
1229*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_PROG_TAR],
1230*a67afe4dSAndroid Build Coastguard Worker[# Always define AMTAR for backward compatibility.  Yes, it's still used
1231*a67afe4dSAndroid Build Coastguard Worker# in the wild :-(  We should find a proper way to deprecate it ...
1232*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([AMTAR], ['$${TAR-tar}'])
1233*a67afe4dSAndroid Build Coastguard Worker
1234*a67afe4dSAndroid Build Coastguard Worker# We'll loop over all known methods to create a tar archive until one works.
1235*a67afe4dSAndroid Build Coastguard Worker_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
1236*a67afe4dSAndroid Build Coastguard Worker
1237*a67afe4dSAndroid Build Coastguard Workerm4_if([$1], [v7],
1238*a67afe4dSAndroid Build Coastguard Worker  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
1239*a67afe4dSAndroid Build Coastguard Worker
1240*a67afe4dSAndroid Build Coastguard Worker  [m4_case([$1],
1241*a67afe4dSAndroid Build Coastguard Worker    [ustar],
1242*a67afe4dSAndroid Build Coastguard Worker     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
1243*a67afe4dSAndroid Build Coastguard Worker      # There is notably a 21 bits limit for the UID and the GID.  In fact,
1244*a67afe4dSAndroid Build Coastguard Worker      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
1245*a67afe4dSAndroid Build Coastguard Worker      # and bug#13588).
1246*a67afe4dSAndroid Build Coastguard Worker      am_max_uid=2097151 # 2^21 - 1
1247*a67afe4dSAndroid Build Coastguard Worker      am_max_gid=$am_max_uid
1248*a67afe4dSAndroid Build Coastguard Worker      # The $UID and $GID variables are not portable, so we need to resort
1249*a67afe4dSAndroid Build Coastguard Worker      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
1250*a67afe4dSAndroid Build Coastguard Worker      # below are definitely unexpected, so allow the users to see them
1251*a67afe4dSAndroid Build Coastguard Worker      # (that is, avoid stderr redirection).
1252*a67afe4dSAndroid Build Coastguard Worker      am_uid=`id -u || echo unknown`
1253*a67afe4dSAndroid Build Coastguard Worker      am_gid=`id -g || echo unknown`
1254*a67afe4dSAndroid Build Coastguard Worker      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1255*a67afe4dSAndroid Build Coastguard Worker      if test x$am_uid = xunknown; then
1256*a67afe4dSAndroid Build Coastguard Worker        AC_MSG_WARN([ancient id detected; assuming current UID is ok, but dist-ustar might not work])
1257*a67afe4dSAndroid Build Coastguard Worker      elif test $am_uid -le $am_max_uid; then
1258*a67afe4dSAndroid Build Coastguard Worker        AC_MSG_RESULT([yes])
1259*a67afe4dSAndroid Build Coastguard Worker      else
1260*a67afe4dSAndroid Build Coastguard Worker        AC_MSG_RESULT([no])
1261*a67afe4dSAndroid Build Coastguard Worker        _am_tools=none
1262*a67afe4dSAndroid Build Coastguard Worker      fi
1263*a67afe4dSAndroid Build Coastguard Worker      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1264*a67afe4dSAndroid Build Coastguard Worker      if test x$gm_gid = xunknown; then
1265*a67afe4dSAndroid Build Coastguard Worker        AC_MSG_WARN([ancient id detected; assuming current GID is ok, but dist-ustar might not work])
1266*a67afe4dSAndroid Build Coastguard Worker      elif test $am_gid -le $am_max_gid; then
1267*a67afe4dSAndroid Build Coastguard Worker        AC_MSG_RESULT([yes])
1268*a67afe4dSAndroid Build Coastguard Worker      else
1269*a67afe4dSAndroid Build Coastguard Worker        AC_MSG_RESULT([no])
1270*a67afe4dSAndroid Build Coastguard Worker        _am_tools=none
1271*a67afe4dSAndroid Build Coastguard Worker      fi],
1272*a67afe4dSAndroid Build Coastguard Worker
1273*a67afe4dSAndroid Build Coastguard Worker  [pax],
1274*a67afe4dSAndroid Build Coastguard Worker    [],
1275*a67afe4dSAndroid Build Coastguard Worker
1276*a67afe4dSAndroid Build Coastguard Worker  [m4_fatal([Unknown tar format])])
1277*a67afe4dSAndroid Build Coastguard Worker
1278*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_CHECKING([how to create a $1 tar archive])
1279*a67afe4dSAndroid Build Coastguard Worker
1280*a67afe4dSAndroid Build Coastguard Worker  # Go ahead even if we have the value already cached.  We do so because we
1281*a67afe4dSAndroid Build Coastguard Worker  # need to set the values for the 'am__tar' and 'am__untar' variables.
1282*a67afe4dSAndroid Build Coastguard Worker  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
1283*a67afe4dSAndroid Build Coastguard Worker
1284*a67afe4dSAndroid Build Coastguard Worker  for _am_tool in $_am_tools; do
1285*a67afe4dSAndroid Build Coastguard Worker    case $_am_tool in
1286*a67afe4dSAndroid Build Coastguard Worker    gnutar)
1287*a67afe4dSAndroid Build Coastguard Worker      for _am_tar in tar gnutar gtar; do
1288*a67afe4dSAndroid Build Coastguard Worker        AM_RUN_LOG([$_am_tar --version]) && break
1289*a67afe4dSAndroid Build Coastguard Worker      done
1290*a67afe4dSAndroid Build Coastguard Worker      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
1291*a67afe4dSAndroid Build Coastguard Worker      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
1292*a67afe4dSAndroid Build Coastguard Worker      am__untar="$_am_tar -xf -"
1293*a67afe4dSAndroid Build Coastguard Worker      ;;
1294*a67afe4dSAndroid Build Coastguard Worker    plaintar)
1295*a67afe4dSAndroid Build Coastguard Worker      # Must skip GNU tar: if it does not support --format= it doesn't create
1296*a67afe4dSAndroid Build Coastguard Worker      # ustar tarball either.
1297*a67afe4dSAndroid Build Coastguard Worker      (tar --version) >/dev/null 2>&1 && continue
1298*a67afe4dSAndroid Build Coastguard Worker      am__tar='tar chf - "$$tardir"'
1299*a67afe4dSAndroid Build Coastguard Worker      am__tar_='tar chf - "$tardir"'
1300*a67afe4dSAndroid Build Coastguard Worker      am__untar='tar xf -'
1301*a67afe4dSAndroid Build Coastguard Worker      ;;
1302*a67afe4dSAndroid Build Coastguard Worker    pax)
1303*a67afe4dSAndroid Build Coastguard Worker      am__tar='pax -L -x $1 -w "$$tardir"'
1304*a67afe4dSAndroid Build Coastguard Worker      am__tar_='pax -L -x $1 -w "$tardir"'
1305*a67afe4dSAndroid Build Coastguard Worker      am__untar='pax -r'
1306*a67afe4dSAndroid Build Coastguard Worker      ;;
1307*a67afe4dSAndroid Build Coastguard Worker    cpio)
1308*a67afe4dSAndroid Build Coastguard Worker      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
1309*a67afe4dSAndroid Build Coastguard Worker      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
1310*a67afe4dSAndroid Build Coastguard Worker      am__untar='cpio -i -H $1 -d'
1311*a67afe4dSAndroid Build Coastguard Worker      ;;
1312*a67afe4dSAndroid Build Coastguard Worker    none)
1313*a67afe4dSAndroid Build Coastguard Worker      am__tar=false
1314*a67afe4dSAndroid Build Coastguard Worker      am__tar_=false
1315*a67afe4dSAndroid Build Coastguard Worker      am__untar=false
1316*a67afe4dSAndroid Build Coastguard Worker      ;;
1317*a67afe4dSAndroid Build Coastguard Worker    esac
1318*a67afe4dSAndroid Build Coastguard Worker
1319*a67afe4dSAndroid Build Coastguard Worker    # If the value was cached, stop now.  We just wanted to have am__tar
1320*a67afe4dSAndroid Build Coastguard Worker    # and am__untar set.
1321*a67afe4dSAndroid Build Coastguard Worker    test -n "${am_cv_prog_tar_$1}" && break
1322*a67afe4dSAndroid Build Coastguard Worker
1323*a67afe4dSAndroid Build Coastguard Worker    # tar/untar a dummy directory, and stop if the command works.
1324*a67afe4dSAndroid Build Coastguard Worker    rm -rf conftest.dir
1325*a67afe4dSAndroid Build Coastguard Worker    mkdir conftest.dir
1326*a67afe4dSAndroid Build Coastguard Worker    echo GrepMe > conftest.dir/file
1327*a67afe4dSAndroid Build Coastguard Worker    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1328*a67afe4dSAndroid Build Coastguard Worker    rm -rf conftest.dir
1329*a67afe4dSAndroid Build Coastguard Worker    if test -s conftest.tar; then
1330*a67afe4dSAndroid Build Coastguard Worker      AM_RUN_LOG([$am__untar <conftest.tar])
1331*a67afe4dSAndroid Build Coastguard Worker      AM_RUN_LOG([cat conftest.dir/file])
1332*a67afe4dSAndroid Build Coastguard Worker      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1333*a67afe4dSAndroid Build Coastguard Worker    fi
1334*a67afe4dSAndroid Build Coastguard Worker  done
1335*a67afe4dSAndroid Build Coastguard Worker  rm -rf conftest.dir
1336*a67afe4dSAndroid Build Coastguard Worker
1337*a67afe4dSAndroid Build Coastguard Worker  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1338*a67afe4dSAndroid Build Coastguard Worker  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
1339*a67afe4dSAndroid Build Coastguard Worker
1340*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([am__tar])
1341*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST([am__untar])
1342*a67afe4dSAndroid Build Coastguard Worker]) # _AM_PROG_TAR
1343*a67afe4dSAndroid Build Coastguard Worker
1344*a67afe4dSAndroid Build Coastguard Worker# Copyright (C) 2022-2024 Free Software Foundation, Inc.
1345*a67afe4dSAndroid Build Coastguard Worker#
1346*a67afe4dSAndroid Build Coastguard Worker# This file is free software; the Free Software Foundation
1347*a67afe4dSAndroid Build Coastguard Worker# gives unlimited permission to copy and/or distribute it,
1348*a67afe4dSAndroid Build Coastguard Worker# with or without modifications, as long as this notice is preserved.
1349*a67afe4dSAndroid Build Coastguard Worker
1350*a67afe4dSAndroid Build Coastguard Worker# _AM_PROG_XARGS_N
1351*a67afe4dSAndroid Build Coastguard Worker# ----------------
1352*a67afe4dSAndroid Build Coastguard Worker# Check whether 'xargs -n' works.  It should work everywhere, so the fallback
1353*a67afe4dSAndroid Build Coastguard Worker# is not optimized at all as we never expect to use it.
1354*a67afe4dSAndroid Build Coastguard WorkerAC_DEFUN([_AM_PROG_XARGS_N],
1355*a67afe4dSAndroid Build Coastguard Worker[AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl
1356*a67afe4dSAndroid Build Coastguard WorkerAS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2
1357*a67afe4dSAndroid Build Coastguard Worker3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])])
1358*a67afe4dSAndroid Build Coastguard WorkerAS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl
1359*a67afe4dSAndroid Build Coastguard Worker  am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }'
1360*a67afe4dSAndroid Build Coastguard Worker])dnl
1361*a67afe4dSAndroid Build Coastguard WorkerAC_SUBST(am__xargs_n)
1362*a67afe4dSAndroid Build Coastguard Worker])
1363*a67afe4dSAndroid Build Coastguard Worker
1364*a67afe4dSAndroid Build Coastguard Workerm4_include([scripts/autoconf/libtool.m4])
1365*a67afe4dSAndroid Build Coastguard Workerm4_include([scripts/autoconf/ltoptions.m4])
1366*a67afe4dSAndroid Build Coastguard Workerm4_include([scripts/autoconf/ltsugar.m4])
1367*a67afe4dSAndroid Build Coastguard Workerm4_include([scripts/autoconf/ltversion.m4])
1368*a67afe4dSAndroid Build Coastguard Workerm4_include([scripts/autoconf/lt~obsolete.m4])
1369