mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
681 lines
20 KiB
Plaintext
681 lines
20 KiB
Plaintext
dnl aclocal.m4 generated automatically by aclocal 1.4a
|
|
|
|
dnl Copyright (C) 1994, 1995-9, 2000 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
dnl This program is distributed in the hope that it will be useful,
|
|
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
dnl PARTICULAR PURPOSE.
|
|
|
|
dnl grub_ASM_USCORE checks if C symbols get an underscore after
|
|
dnl compiling to assembler.
|
|
dnl Written by Pavel Roskin. Based on grub_ASM_EXT_C written by
|
|
dnl Erich Boleyn and modified by OKUJI Yoshinori
|
|
AC_DEFUN(grub_ASM_USCORE,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if C symbols get an underscore after compilation])
|
|
AC_CACHE_VAL(grub_cv_asm_uscore,
|
|
[cat > conftest.c <<\EOF
|
|
int
|
|
func (int *list)
|
|
{
|
|
*list = 0;
|
|
return *list;
|
|
}
|
|
EOF
|
|
|
|
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -S conftest.c]) && test -s conftest.s; then
|
|
true
|
|
else
|
|
AC_MSG_ERROR([${CC-cc} failed to produce assembly code])
|
|
fi
|
|
|
|
if grep _func conftest.s >/dev/null 2>&1; then
|
|
grub_cv_asm_uscore=yes
|
|
else
|
|
grub_cv_asm_uscore=no
|
|
fi
|
|
|
|
rm -f conftest*])
|
|
|
|
if test "x$grub_cv_asm_uscore" = xyes; then
|
|
AC_DEFINE_UNQUOTED([HAVE_ASM_USCORE], $grub_cv_asm_uscore,
|
|
[Define if C symbols get an underscore after compilation])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_asm_uscore])
|
|
])
|
|
|
|
|
|
dnl Some versions of `objcopy -O binary' vary their output depending
|
|
dnl on the link address.
|
|
AC_DEFUN(grub_PROG_OBJCOPY_ABSOLUTE,
|
|
[AC_MSG_CHECKING([whether ${OBJCOPY} works for absolute addresses])
|
|
AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
|
|
[cat > conftest.c <<\EOF
|
|
void
|
|
cmain (void)
|
|
{
|
|
*((int *) 0x1000) = 2;
|
|
}
|
|
EOF
|
|
|
|
if AC_TRY_EVAL(ac_compile) && test -s conftest.o; then :
|
|
else
|
|
AC_MSG_ERROR([${CC-cc} cannot compile C source code])
|
|
fi
|
|
grub_cv_prog_objcopy_absolute=yes
|
|
for link_addr in 2000 8000 7C00; do
|
|
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then :
|
|
else
|
|
AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
|
|
fi
|
|
if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary conftest.exec conftest]); then :
|
|
else
|
|
AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files])
|
|
fi
|
|
if test ! -f conftest.old || AC_TRY_COMMAND([cmp -s conftest.old conftest]); then
|
|
mv -f conftest conftest.old
|
|
else
|
|
grub_cv_prog_objcopy_absolute=no
|
|
break
|
|
fi
|
|
done
|
|
rm -f conftest*])
|
|
AC_MSG_RESULT([$grub_cv_prog_objcopy_absolute])])
|
|
|
|
dnl Mass confusion!
|
|
dnl Older versions of GAS interpret `.code16' to mean ``generate 32-bit
|
|
dnl instructions, but implicitly insert addr32 and data32 bytes so
|
|
dnl that the code works in real mode''.
|
|
dnl
|
|
dnl Newer versions of GAS interpret `.code16' to mean ``generate 16-bit
|
|
dnl instructions,'' which seems right. This requires the programmer
|
|
dnl to explicitly insert addr32 and data32 instructions when they want
|
|
dnl them.
|
|
dnl
|
|
dnl We only support the newer versions, because the old versions cause
|
|
dnl major pain, by requiring manual assembly to get 16-bit instructions into
|
|
dnl stage1/stage1.S.
|
|
AC_DEFUN(grub_ASM_ADDR32,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_REQUIRE([grub_ASM_PREFIX_REQUIREMENT])
|
|
AC_MSG_CHECKING([for .code16 addr32 assembler support])
|
|
AC_CACHE_VAL(grub_cv_asm_addr32,
|
|
[cat > conftest.s.in <<\EOF
|
|
.code16
|
|
l1: @ADDR32@ movb %al, l1
|
|
EOF
|
|
|
|
if test "x$grub_cv_asm_prefix_requirement" = xyes; then
|
|
sed -e s/@ADDR32@/addr32/ < conftest.s.in > conftest.s
|
|
else
|
|
sed -e s/@ADDR32@/addr32\;/ < conftest.s.in > conftest.s
|
|
fi
|
|
|
|
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
|
grub_cv_asm_addr32=yes
|
|
else
|
|
grub_cv_asm_addr32=no
|
|
fi
|
|
|
|
rm -f conftest*])
|
|
|
|
AC_MSG_RESULT([$grub_cv_asm_addr32])])
|
|
|
|
dnl
|
|
dnl Later versions of GAS requires that addr32 and data32 prefixes
|
|
dnl appear in the same lines as the instructions they modify, while
|
|
dnl earlier versions requires that they appear in separate lines.
|
|
AC_DEFUN(grub_ASM_PREFIX_REQUIREMENT,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING(dnl
|
|
[whether addr32 must be in the same line as the instruction])
|
|
AC_CACHE_VAL(grub_cv_asm_prefix_requirement,
|
|
[cat > conftest.s <<\EOF
|
|
.code16
|
|
l1: addr32 movb %al, l1
|
|
EOF
|
|
|
|
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
|
grub_cv_asm_prefix_requirement=yes
|
|
else
|
|
grub_cv_asm_prefix_requirement=no
|
|
fi
|
|
|
|
rm -f conftest*])
|
|
|
|
if test "x$grub_cv_asm_prefix_requirement" = xyes; then
|
|
grub_tmp_addr32="addr32"
|
|
grub_tmp_data32="data32"
|
|
else
|
|
grub_tmp_addr32="addr32;"
|
|
grub_tmp_data32="data32;"
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED([ADDR32], $grub_tmp_addr32,
|
|
[Define it to \"addr32\" or \"addr32;\" to make GAS happy])
|
|
AC_DEFINE_UNQUOTED([DATA32], $grub_tmp_data32,
|
|
[Define it to \"data32\" or \"data32;\" to make GAS happy])
|
|
|
|
AC_MSG_RESULT([$grub_cv_asm_prefix_requirement])])
|
|
|
|
dnl
|
|
dnl Older versions of GAS require that absolute indirect calls/jumps are
|
|
dnl not prefixed with `*', while later versions warn if not prefixed.
|
|
AC_DEFUN(grub_ASM_ABSOLUTE_WITHOUT_ASTERISK,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING(dnl
|
|
[whether an absolute indirect call/jump must not be prefixed with an asterisk])
|
|
AC_CACHE_VAL(grub_cv_asm_absolute_without_asterisk,
|
|
[cat > conftest.s <<\EOF
|
|
lcall *(offset)
|
|
offset:
|
|
.long 0
|
|
.word 0
|
|
EOF
|
|
|
|
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
|
grub_cv_asm_absolute_without_asterisk=no
|
|
else
|
|
grub_cv_asm_absolute_without_asterisk=yes
|
|
fi
|
|
|
|
rm -f conftest*])
|
|
|
|
if test "x$grub_cv_asm_absolute_without_asterisk" = xyes; then
|
|
AC_DEFINE([ABSOLUTE_WITHOUT_ASTERISK])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_asm_absolute_without_asterisk])])
|
|
|
|
dnl
|
|
dnl grub_CHECK_START_SYMBOL checks if start is automatically defined by
|
|
dnl the compiler.
|
|
dnl Written by OKUJI Yoshinori
|
|
AC_DEFUN(grub_CHECK_START_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if start is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_start_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl start")],
|
|
grub_cv_check_start_symbol=yes,
|
|
grub_cv_check_start_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_start_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_START_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_start_symbol])
|
|
])
|
|
|
|
dnl
|
|
dnl grub_CHECK_USCORE_START_SYMBOL checks if _start is automatically
|
|
dnl defined by the compiler.
|
|
dnl Written by OKUJI Yoshinori
|
|
AC_DEFUN(grub_CHECK_USCORE_START_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if _start is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_uscore_start_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl _start")],
|
|
grub_cv_check_uscore_start_symbol=yes,
|
|
grub_cv_check_uscore_start_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_uscore_start_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_USCORE_START_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_uscore_start_symbol])
|
|
])
|
|
|
|
dnl
|
|
dnl grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL checks if __bss_start is
|
|
dnl automatically defined by the compiler.
|
|
dnl Written by Michael Hohmoth.
|
|
AC_DEFUN(grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if __bss_start is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_uscore_uscore_bss_start_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl __bss_start")],
|
|
grub_cv_check_uscore_uscore_bss_start_symbol=yes,
|
|
grub_cv_check_uscore_uscore_bss_start_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_USCORE_USCORE_BSS_START_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_uscore_uscore_bss_start_symbol])
|
|
])
|
|
|
|
dnl
|
|
dnl grub_CHECK_EDATA_SYMBOL checks if edata is automatically defined by the
|
|
dnl compiler.
|
|
dnl Written by Michael Hohmuth.
|
|
AC_DEFUN(grub_CHECK_EDATA_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if edata is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_edata_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl edata")],
|
|
grub_cv_check_edata_symbol=yes,
|
|
grub_cv_check_edata_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_edata_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_EDATA_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_edata_symbol])
|
|
])
|
|
|
|
dnl
|
|
dnl grub_CHECK_USCORE_EDATA_SYMBOL checks if _edata is automatically
|
|
dnl defined by the compiler.
|
|
dnl Written by Michael Hohmuth.
|
|
AC_DEFUN(grub_CHECK_USCORE_EDATA_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if _edata is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_uscore_edata_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl _edata")],
|
|
grub_cv_check_uscore_edata_symbol=yes,
|
|
grub_cv_check_uscore_edata_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_uscore_edata_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_USCORE_EDATA_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_uscore_edata_symbol])
|
|
])
|
|
|
|
dnl
|
|
dnl grub_CHECK_END_SYMBOL checks if end is automatically defined by the
|
|
dnl compiler.
|
|
dnl Written by OKUJI Yoshinori
|
|
AC_DEFUN(grub_CHECK_END_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if end is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_end_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl end")],
|
|
grub_cv_check_end_symbol=yes,
|
|
grub_cv_check_end_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_end_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_END_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_end_symbol])
|
|
])
|
|
|
|
dnl
|
|
dnl grub_CHECK_USCORE_END_SYMBOL checks if _end is automatically defined
|
|
dnl by the compiler.
|
|
dnl Written by OKUJI Yoshinori
|
|
AC_DEFUN(grub_CHECK_USCORE_END_SYMBOL,
|
|
[AC_REQUIRE([AC_PROG_CC])
|
|
AC_MSG_CHECKING([if _end is defined by the compiler])
|
|
AC_CACHE_VAL(grub_cv_check_uscore_end_symbol,
|
|
[AC_TRY_LINK([], [asm ("incl _end")],
|
|
grub_cv_check_uscore_end_symbol=yes,
|
|
grub_cv_check_uscore_end_symbol=no)])
|
|
|
|
if test "x$grub_cv_check_uscore_end_symbol" = xyes; then
|
|
AC_DEFINE([HAVE_USCORE_END_SYMBOL])
|
|
fi
|
|
|
|
AC_MSG_RESULT([$grub_cv_check_uscore_end_symbol])
|
|
])
|
|
|
|
# Do all the work for Automake. This macro actually does too much --
|
|
# some checks are only needed if your package does certain things.
|
|
# But this isn't really a big deal.
|
|
|
|
# serial 2
|
|
|
|
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
|
|
# -----------------------------------------------------------
|
|
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
|
|
# The purpose of this macro is to provide the user with a means to
|
|
# check macros which are provided without letting her know how the
|
|
# information is coded.
|
|
# If this macro is not defined by Autoconf, define it here.
|
|
ifdef([AC_PROVIDE_IFELSE],
|
|
[],
|
|
[define([AC_PROVIDE_IFELSE],
|
|
[ifdef([AC_PROVIDE_$1],
|
|
[$2], [$3])])])
|
|
|
|
|
|
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
|
|
# ----------------------------------------------
|
|
AC_DEFUN(AM_INIT_AUTOMAKE,
|
|
[dnl We require 2.13 because we rely on SHELL being computed by configure.
|
|
AC_PREREQ([2.13])dnl
|
|
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
|
# test to see if srcdir already configured
|
|
if test "`CDPATH=: && cd $srcdir && pwd`" != "`pwd`" &&
|
|
test -f $srcdir/config.status; then
|
|
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
|
fi
|
|
|
|
# Define the identity of the package.
|
|
PACKAGE=$1
|
|
AC_SUBST(PACKAGE)dnl
|
|
VERSION=$2
|
|
AC_SUBST(VERSION)dnl
|
|
ifelse([$3],,
|
|
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
|
|
|
|
# Some tools Automake needs.
|
|
AC_REQUIRE([AM_SANITY_CHECK])dnl
|
|
AC_REQUIRE([AC_ARG_PROGRAM])dnl
|
|
AM_MISSING_PROG(ACLOCAL, aclocal)
|
|
AM_MISSING_PROG(AUTOCONF, autoconf)
|
|
AM_MISSING_PROG(AUTOMAKE, automake)
|
|
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
|
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
|
AM_MISSING_PROG(AMTAR, tar)
|
|
AM_MISSING_INSTALL_SH
|
|
dnl We need awk for the "check" target. The system "awk" is bad on
|
|
dnl some platforms.
|
|
AC_REQUIRE([AC_PROG_AWK])dnl
|
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
|
AC_REQUIRE([AM_DEP_TRACK])dnl
|
|
AC_REQUIRE([AM_SET_DEPDIR])dnl
|
|
AC_PROVIDE_IFELSE([AC_PROG_CC],
|
|
[AM_DEPENDENCIES(CC)],
|
|
[define([AC_PROG_CC],
|
|
defn([AC_PROG_CC])[AM_DEPENDENCIES(CC)])])dnl
|
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
|
[AM_DEPENDENCIES(CXX)],
|
|
[define([AC_PROG_CXX],
|
|
defn([AC_PROG_CXX])[AM_DEPENDENCIES(CXX)])])dnl
|
|
])
|
|
|
|
#
|
|
# Check to make sure that the build environment is sane.
|
|
#
|
|
|
|
AC_DEFUN(AM_SANITY_CHECK,
|
|
[AC_MSG_CHECKING([whether build environment is sane])
|
|
# Just in case
|
|
sleep 1
|
|
echo timestamp > conftestfile
|
|
# Do `set' in a subshell so we don't clobber the current shell's
|
|
# arguments. Must try -L first in case configure is actually a
|
|
# symlink; some systems play weird games with the mod time of symlinks
|
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
|
# directory).
|
|
if (
|
|
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
|
if test "[$]*" = "X"; then
|
|
# -L didn't work.
|
|
set X `ls -t $srcdir/configure conftestfile`
|
|
fi
|
|
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
|
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
|
|
|
# If neither matched, then we have a broken ls. This can happen
|
|
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
|
# broken ls alias from the environment. This has actually
|
|
# happened. Such a system could not be considered "sane".
|
|
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
|
alias in your environment])
|
|
fi
|
|
|
|
test "[$]2" = conftestfile
|
|
)
|
|
then
|
|
# Ok.
|
|
:
|
|
else
|
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
|
Check your system clock])
|
|
fi
|
|
rm -f conftest*
|
|
AC_MSG_RESULT(yes)])
|
|
|
|
dnl AM_MISSING_PROG(NAME, PROGRAM)
|
|
AC_DEFUN(AM_MISSING_PROG, [
|
|
AC_REQUIRE([AM_MISSING_HAS_RUN])
|
|
$1=${$1-"${am_missing_run}$2"}
|
|
AC_SUBST($1)])
|
|
|
|
dnl Like AM_MISSING_PROG, but only looks for install-sh.
|
|
dnl AM_MISSING_INSTALL_SH()
|
|
AC_DEFUN(AM_MISSING_INSTALL_SH, [
|
|
AC_REQUIRE([AM_MISSING_HAS_RUN])
|
|
if test -z "$install_sh"; then
|
|
install_sh="$ac_aux_dir/install-sh"
|
|
test -f "$install_sh" || install_sh="$ac_aux_dir/install.sh"
|
|
test -f "$install_sh" || install_sh="${am_missing_run}${ac_auxdir}/install-sh"
|
|
dnl FIXME: an evil hack: we remove the SHELL invocation from
|
|
dnl install_sh because automake adds it back in. Sigh.
|
|
install_sh="`echo $install_sh | sed -e 's/\${SHELL}//'`"
|
|
fi
|
|
AC_SUBST(install_sh)])
|
|
|
|
dnl AM_MISSING_HAS_RUN.
|
|
dnl Define MISSING if not defined so far and test if it supports --run.
|
|
dnl If it does, set am_missing_run to use it, otherwise, to nothing.
|
|
AC_DEFUN([AM_MISSING_HAS_RUN], [
|
|
test x"${MISSING+set}" = xset || \
|
|
MISSING="\${SHELL} `CDPATH=: && cd $ac_aux_dir && pwd`/missing"
|
|
dnl Use eval to expand $SHELL
|
|
if eval "$MISSING --run :"; then
|
|
am_missing_run="$MISSING --run "
|
|
else
|
|
am_missing_run=
|
|
am_backtick='`'
|
|
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
|
|
fi
|
|
])
|
|
|
|
dnl See how the compiler implements dependency checking.
|
|
dnl Usage:
|
|
dnl AM_DEPENDENCIES(NAME)
|
|
dnl NAME is "CC", "CXX" or "OBJC".
|
|
|
|
dnl We try a few techniques and use that to set a single cache variable.
|
|
|
|
AC_DEFUN(AM_DEPENDENCIES,[
|
|
AC_REQUIRE([AM_SET_DEPDIR])
|
|
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])
|
|
ifelse([$1],CC,[
|
|
AC_REQUIRE([AC_PROG_CC])
|
|
AC_REQUIRE([AC_PROG_CPP])
|
|
depcc="$CC"
|
|
depcpp="$CPP"],[$1],CXX,[
|
|
AC_REQUIRE([AC_PROG_CXX])
|
|
AC_REQUIRE([AC_PROG_CXXCPP])
|
|
depcc="$CXX"
|
|
depcpp="$CXXCPP"],[$1],OBJC,[
|
|
am_cv_OBJC_dependencies_compiler_type=gcc],[
|
|
AC_REQUIRE([AC_PROG_][$1])
|
|
depcc="$[$1]"
|
|
depcpp=""])
|
|
AC_MSG_CHECKING([dependency style of $depcc])
|
|
AC_CACHE_VAL(am_cv_[$1]_dependencies_compiler_type,[
|
|
if test -z "$AMDEP"; then
|
|
echo '#include "conftest.h"' > conftest.c
|
|
echo 'int i;' > conftest.h
|
|
|
|
am_cv_[$1]_dependencies_compiler_type=none
|
|
for depmode in `sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$am_depcomp"`; do
|
|
case "$depmode" in
|
|
nosideeffect)
|
|
# after this tag, mechanisms are not by side-effect, so they'll
|
|
# only be used when explicitly requested
|
|
if test "x$enable_dependency_tracking" = xyes; then
|
|
continue
|
|
else
|
|
break
|
|
fi
|
|
;;
|
|
none) break ;;
|
|
esac
|
|
if depmode="$depmode" \
|
|
source=conftest.c object=conftest.o \
|
|
depfile=conftest.Po tmpdepfile=conftest.TPo \
|
|
$SHELL $am_depcomp $depcc -c conftest.c 2>/dev/null &&
|
|
grep conftest.h conftest.Po > /dev/null 2>&1; then
|
|
am_cv_[$1]_dependencies_compiler_type="$depmode"
|
|
break
|
|
fi
|
|
done
|
|
|
|
rm -f conftest.*
|
|
else
|
|
am_cv_[$1]_dependencies_compiler_type=none
|
|
fi
|
|
])
|
|
AC_MSG_RESULT($am_cv_[$1]_dependencies_compiler_type)
|
|
[$1]DEPMODE="depmode=$am_cv_[$1]_dependencies_compiler_type"
|
|
AC_SUBST([$1]DEPMODE)
|
|
])
|
|
|
|
dnl Choose a directory name for dependency files.
|
|
dnl This macro is AC_REQUIREd in AM_DEPENDENCIES
|
|
|
|
AC_DEFUN(AM_SET_DEPDIR,[
|
|
if test -d .deps || mkdir .deps 2> /dev/null || test -d .deps; then
|
|
DEPDIR=.deps
|
|
else
|
|
DEPDIR=_deps
|
|
fi
|
|
AC_SUBST(DEPDIR)
|
|
])
|
|
|
|
AC_DEFUN(AM_DEP_TRACK,[
|
|
AC_ARG_ENABLE(dependency-tracking,
|
|
[ --disable-dependency-tracking Speeds up one-time builds
|
|
--enable-dependency-tracking Do not reject slow dependency extractors])
|
|
if test "x$enable_dependency_tracking" = xno; then
|
|
AMDEP="#"
|
|
else
|
|
am_depcomp="$ac_aux_dir/depcomp"
|
|
if test ! -f "$am_depcomp"; then
|
|
AMDEP="#"
|
|
else
|
|
AMDEP=
|
|
fi
|
|
fi
|
|
AC_SUBST(AMDEP)
|
|
if test -z "$AMDEP"; then
|
|
AMDEPBACKSLASH='\'
|
|
else
|
|
AMDEPBACKSLASH=
|
|
fi
|
|
pushdef([subst], defn([AC_SUBST]))
|
|
subst(AMDEPBACKSLASH)
|
|
popdef([subst])
|
|
])
|
|
|
|
dnl Generate code to set up dependency tracking.
|
|
dnl This macro should only be invoked once -- use via AC_REQUIRE.
|
|
dnl Usage:
|
|
dnl AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
|
|
dnl
|
|
dnl This code is only required when automatic dependency tracking
|
|
dnl is enabled. FIXME. This creates each `.P' file that we will
|
|
dnl need in order to bootstrap the dependency handling code.
|
|
AC_DEFUN(AM_OUTPUT_DEPENDENCY_COMMANDS,[
|
|
AC_OUTPUT_COMMANDS([
|
|
test x"$AMDEP" != x"" ||
|
|
for mf in $CONFIG_FILES; do
|
|
case "$mf" in
|
|
Makefile) dirpart=.;;
|
|
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
|
|
*) continue;;
|
|
esac
|
|
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
|
|
# Extract the definition of DEP_FILES from the Makefile without
|
|
# running `make'.
|
|
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
|
|
test -z "$DEPDIR" && continue
|
|
# When using ansi2knr, U may be empty or an underscore; expand it
|
|
U=`sed -n -e '/^U = / s///p' < "$mf"`
|
|
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
|
|
# We invoke sed twice because it is the simplest approach to
|
|
# changing $(DEPDIR) to its actual value in the expansion.
|
|
for file in `sed -n -e '
|
|
/^DEP_FILES = .*\\\\$/ {
|
|
s/^DEP_FILES = //
|
|
:loop
|
|
s/\\\\$//
|
|
p
|
|
n
|
|
/\\\\$/ b loop
|
|
p
|
|
}
|
|
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
|
|
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
|
|
# Make sure the directory exists.
|
|
test -f "$dirpart/$file" && continue
|
|
fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
|
|
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
|
|
# echo "creating $dirpart/$file"
|
|
echo '# dummy' > "$dirpart/$file"
|
|
done
|
|
done
|
|
], [AMDEP="$AMDEP"
|
|
ac_aux_dir="$ac_aux_dir"])])
|
|
|
|
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
|
|
|
AC_DEFUN(AM_CONFIG_HEADER,
|
|
[AC_PREREQ([2.12])
|
|
AC_CONFIG_HEADER([$1])
|
|
dnl When config.status generates a header, we must update the stamp-h file.
|
|
dnl This file resides in the same directory as the config header
|
|
dnl that is generated. We must strip everything past the first ":",
|
|
dnl and everything past the last "/".
|
|
AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
|
|
ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
|
|
<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
|
|
<<am_indx=1
|
|
for am_file in <<$1>>; do
|
|
case " <<$>>CONFIG_HEADERS " in
|
|
*" <<$>>am_file "*<<)>>
|
|
echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
|
|
;;
|
|
esac
|
|
am_indx=`expr "<<$>>am_indx" + 1`
|
|
done<<>>dnl>>)
|
|
changequote([,]))])
|
|
|
|
# Add --enable-maintainer-mode option to configure.
|
|
# From Jim Meyering
|
|
|
|
# serial 1
|
|
|
|
AC_DEFUN(AM_MAINTAINER_MODE,
|
|
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
dnl maintainer-mode is disabled by default
|
|
AC_ARG_ENABLE(maintainer-mode,
|
|
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
|
(and sometimes confusing) to the casual installer],
|
|
USE_MAINTAINER_MODE=$enableval,
|
|
USE_MAINTAINER_MODE=no)
|
|
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
|
AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
|
|
MAINT=$MAINTAINER_MODE_TRUE
|
|
AC_SUBST(MAINT)dnl
|
|
]
|
|
)
|
|
|
|
# Define a conditional.
|
|
|
|
AC_DEFUN(AM_CONDITIONAL,
|
|
[AC_SUBST($1_TRUE)
|
|
AC_SUBST($1_FALSE)
|
|
if $2; then
|
|
$1_TRUE=
|
|
$1_FALSE='#'
|
|
else
|
|
$1_TRUE='#'
|
|
$1_FALSE=
|
|
fi])
|
|
|