You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1165 lines
37 KiB
Plaintext
1165 lines
37 KiB
Plaintext
# aclocal.m4 generated automatically by aclocal 1.5
|
|
|
|
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
|
|
# Free Software Foundation, Inc.
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
AH_TEMPLATE(socklen_t, [The type for socklen])
|
|
AC_DEFUN([AC_TYPE_SOCKLEN_T],
|
|
[AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
|
|
[
|
|
AC_TRY_COMPILE(
|
|
[#include <sys/types.h>
|
|
#include <sys/socket.h>],
|
|
[socklen_t len = 42; return 0;],
|
|
ac_cv_type_socklen_t=yes,
|
|
ac_cv_type_socklen_t=no)
|
|
])
|
|
if test $ac_cv_type_socklen_t != yes; then
|
|
AC_DEFINE(socklen_t, int)
|
|
fi
|
|
])
|
|
|
|
dnl Available from the GNU Autoconf Macro Archive at:
|
|
dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_compile_check_sizeof.html
|
|
dnl
|
|
AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
|
|
[changequote(<<, >>)dnl
|
|
dnl The name to #define.
|
|
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
|
dnl The cache variable name.
|
|
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
|
changequote([, ])dnl
|
|
AC_MSG_CHECKING(size of $1)
|
|
AC_CACHE_VAL(AC_CV_NAME,
|
|
[for ac_size in 4 8 1 2 16 $2 ; do # List sizes in rough order of prevalence.
|
|
AC_TRY_COMPILE([#include "confdefs.h"
|
|
#include <sys/types.h>
|
|
$2
|
|
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
|
|
if test x$AC_CV_NAME != x ; then break; fi
|
|
done
|
|
])
|
|
if test x$AC_CV_NAME = x ; then
|
|
AC_MSG_ERROR([cannot determine a size for $1])
|
|
fi
|
|
AC_MSG_RESULT($AC_CV_NAME)
|
|
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
|
undefine([AC_TYPE_NAME])dnl
|
|
undefine([AC_CV_NAME])dnl
|
|
])
|
|
|
|
dnl Available from the GNU Autoconf Macro Archive at:
|
|
dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_create_stdint_h.html
|
|
dnl
|
|
AC_DEFUN([AC_CREATE_STDINT_H],
|
|
[# ------ AC CREATE STDINT H -------------------------------------
|
|
AC_MSG_CHECKING([for stdint-types....])
|
|
ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)`
|
|
if test "$ac_stdint_h" = "stdint.h" ; then
|
|
AC_MSG_RESULT("(are you sure you want them in ./stdint.h?)")
|
|
elif test "$ac_stdint_h" = "inttypes.h" ; then
|
|
AC_MSG_RESULT("(are you sure you want them in ./inttypes.h?)")
|
|
else
|
|
AC_MSG_RESULT("(putting them into $ac_stdint_h)")
|
|
fi
|
|
|
|
inttype_headers=`echo inttypes.h sys/inttypes.h sys/inttypes.h $2 \
|
|
| sed -e 's/,/ /g'`
|
|
|
|
ac_cv_header_stdint_x="no-file"
|
|
ac_cv_header_stdint_o="no-file"
|
|
ac_cv_header_stdint_u="no-file"
|
|
for i in stdint.h $inttype_headers ; do
|
|
unset ac_cv_type_uintptr_t
|
|
unset ac_cv_type_uint64_t
|
|
_AC_CHECK_TYPE_NEW(uintptr_t,[ac_cv_header_stdint_x=$i],dnl
|
|
continue,[#include <$i>])
|
|
AC_CHECK_TYPE(uint64_t,[and64="(uint64_t too)"],[and64=""],[#include<$i>])
|
|
AC_MSG_RESULT(... seen our uintptr_t in $i $and64)
|
|
break;
|
|
done
|
|
if test "$ac_cv_header_stdint_x" = "no-file" ; then
|
|
for i in stdint.h $inttype_headers ; do
|
|
unset ac_cv_type_uint32_t
|
|
unset ac_cv_type_uint64_t
|
|
AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],dnl
|
|
continue,[#include <$i>])
|
|
AC_CHECK_TYPE(uint64_t,[and64="(uint64_t too)"],[and64=""],[#include<$i>])
|
|
AC_MSG_RESULT(... seen our uint32_t in $i $and64)
|
|
break;
|
|
done
|
|
if test "$ac_cv_header_stdint_o" = "no-file" ; then
|
|
for i in sys/types.h $inttype_headers ; do
|
|
unset ac_cv_type_u_int32_t
|
|
unset ac_cv_type_u_int64_t
|
|
AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],dnl
|
|
continue,[#include <$i>])
|
|
AC_CHECK_TYPE(uint64_t,[and64="(u_int64_t too)"],[and64=""],[#include<$i>])
|
|
AC_MSG_RESULT(... seen our u_int32_t in $i $and64)
|
|
break;
|
|
done
|
|
fi
|
|
fi
|
|
|
|
# ----------------- DONE inttypes.h checks MAYBE C basic types --------
|
|
|
|
if test "$ac_cv_header_stdint_x" = "no-file" ; then
|
|
AC_COMPILE_CHECK_SIZEOF(char)
|
|
AC_COMPILE_CHECK_SIZEOF(short)
|
|
AC_COMPILE_CHECK_SIZEOF(int)
|
|
AC_COMPILE_CHECK_SIZEOF(long)
|
|
AC_COMPILE_CHECK_SIZEOF(void*)
|
|
ac_cv_header_stdint_test="yes"
|
|
else
|
|
ac_cv_header_stdint_test="no"
|
|
fi
|
|
|
|
# ----------------- DONE inttypes.h checks START header -------------
|
|
_ac_stdint_h=AS_TR_CPP(_$ac_stdint_h)
|
|
AC_MSG_RESULT(creating $ac_stdint_h : $_ac_stdint_h)
|
|
echo "#ifndef" $_ac_stdint_h >$ac_stdint_h
|
|
echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
|
|
echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
|
|
echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
|
|
if test "$GCC" = "yes" ; then
|
|
echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
|
|
>>$ac_stdint_h
|
|
else
|
|
echo "/* generated using $CC */" >>$ac_stdint_h
|
|
fi
|
|
echo "" >>$ac_stdint_h
|
|
|
|
if test "$ac_cv_header_stdint_x" != "no-file" ; then
|
|
ac_cv_header_stdint="$ac_cv_header_stdint_x"
|
|
elif test "$ac_cv_header_stdint_o" != "no-file" ; then
|
|
ac_cv_header_stdint="$ac_cv_header_stdint_o"
|
|
elif test "$ac_cv_header_stdint_u" != "no-file" ; then
|
|
ac_cv_header_stdint="$ac_cv_header_stdint_u"
|
|
else
|
|
ac_cv_header_stdint="stddef.h"
|
|
fi
|
|
|
|
# ----------------- See if int_least and int_fast types are present
|
|
unset ac_cv_type_int_least32_t
|
|
unset ac_cv_type_int_fast32_t
|
|
AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>])
|
|
AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>])
|
|
|
|
if test "$ac_cv_header_stdint" != "stddef.h" ; then
|
|
if test "$ac_cv_header_stdint" != "stdint.h" ; then
|
|
AC_MSG_RESULT(..adding include stddef.h)
|
|
echo "#include <stddef.h>" >>$ac_stdint_h
|
|
fi ; fi
|
|
AC_MSG_RESULT(..adding include $ac_cv_header_stdint)
|
|
echo "#include <$ac_cv_header_stdint>" >>$ac_stdint_h
|
|
echo "" >>$ac_stdint_h
|
|
|
|
# ----------------- DONE header START basic int types -------------
|
|
if test "$ac_cv_header_stdint_x" = "no-file" ; then
|
|
AC_MSG_RESULT(... need to look at C basic types)
|
|
dnl ac_cv_header_stdint_test="yes" # moved up before creating the file
|
|
else
|
|
AC_MSG_RESULT(... seen good stdint.h inttypes)
|
|
dnl ac_cv_header_stdint_test="no" # moved up before creating the file
|
|
fi
|
|
|
|
if test "$ac_cv_header_stdint_u" != "no-file" ; then
|
|
AC_MSG_RESULT(... seen bsd/sysv typedefs)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
|
|
typedef u_int8_t uint8_t;
|
|
typedef u_int16_t uint16_t;
|
|
typedef u_int32_t uint32_t;
|
|
EOF
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* glibc compatibility */
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
#endif
|
|
EOF
|
|
fi
|
|
|
|
ac_cv_sizeof_x="$ac_cv_sizeof_char:$ac_cv_sizeof_short"
|
|
ac_cv_sizeof_X="$ac_cv_sizeof_x:$ac_cv_sizeof_int"
|
|
ac_cv_sizeof_X="$ac_cv_sizeof_X:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long"
|
|
if test "$ac_cv_header_stdint" = "stddef.h" ; then
|
|
# we must guess all the basic types. Apart from byte-adressable system,
|
|
# there a few 32-bit-only dsp-systems. nibble-addressable systems are way off.
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* ------------ BITSPECIFIC INTTYPES SECTION --------------- */
|
|
EOF
|
|
t="typedefs for a"
|
|
case "$ac_cv_sizeof_X" in
|
|
1:2:2:2:4) AC_MSG_RESULT(..adding $t normal 16-bit system)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* a normal 16-bit system */
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned long uint32_t;
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
typedef char int8_t;
|
|
typedef short int16_t;
|
|
typedef long int32_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:2:4:4) AC_MSG_RESULT(..adding $t 32-bit system derived from a 16-bit)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* a 32-bit system derived from a 16-bit */
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
typedef char int8_t;
|
|
typedef short int16_t;
|
|
typedef int int32_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:4:4:4) AC_MSG_RESULT(..adding $t normal 32-bit system)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* a normal 32-bit system */
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
typedef char int8_t;
|
|
typedef short int16_t;
|
|
typedef int int32_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:4:4:8) AC_MSG_RESULT(..adding $t 32-bit system prepared for 64-bit)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* a 32-bit system prepared for 64-bit */
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
typedef char int8_t;
|
|
typedef short int16_t;
|
|
typedef int int32_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:4:8:8) AC_MSG_RESULT(..adding $t normal 64-bit system)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* a normal 64-bit system */
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
typedef char int8_t;
|
|
typedef short int16_t;
|
|
typedef int int32_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:4:8:4) AC_MSG_RESULT(..adding $t 64-bit system derived from a 32-bit)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* a 64-bit system derived from a 32-bit system */
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
#ifndef __int8_t_defined
|
|
#define __int8_t_defined
|
|
typedef char int8_t;
|
|
typedef short int16_t;
|
|
typedef int int32_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([ $ac_cv_sizeof_X dnl
|
|
what is that a system? contact the author, quick! http://ac-archive.sf.net])
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# ------------- DONE basic int types START int64_t types ------------
|
|
if test "$ac_cv_type_uint64_t" = "yes"
|
|
then AC_MSG_RESULT(... seen good uint64_t)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* system headers have good uint64_t */
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
#endif
|
|
EOF
|
|
|
|
elif test "$ac_cv_type_u_int64_t" = "yes"
|
|
then AC_MSG_RESULT(..adding typedef u_int64_t uint64_t)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* system headers have an u_int64_t */
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef u_int64_t uint64_t;
|
|
#endif
|
|
EOF
|
|
else AC_MSG_RESULT(..adding generic uint64_t runtime checks)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* -------------------- 64 BIT GENERIC SECTION -------------------- */
|
|
/* here are some common heuristics using compiler runtime specifics */
|
|
#if defined __STDC_VERSION__ && defined __STDC_VERSION__ > 199901L
|
|
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef long long int64_t;
|
|
typedef unsigned long long uint64_t;
|
|
#endif
|
|
|
|
#elif !defined __STRICT_ANSI__
|
|
#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
|
|
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef __int64 int64_t;
|
|
typedef unsigned __int64 uint64_t;
|
|
#endif
|
|
|
|
#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
|
|
dnl /* note: all ELF-systems seem to have loff-support which needs 64-bit */
|
|
|
|
#if !defined _NO_LONGLONG
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef long long int64_t;
|
|
typedef unsigned long long uint64_t;
|
|
#endif
|
|
#endif
|
|
|
|
#elif defined __alpha || (defined __mips && defined _ABIN32)
|
|
|
|
#if !defined _NO_LONGLONG
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef long int64_t;
|
|
typedef unsigned long uint64_t;
|
|
#endif
|
|
#endif
|
|
/* compiler/cpu type ... or just ISO C99 */
|
|
#endif
|
|
#endif
|
|
EOF
|
|
|
|
# plus a default 64-bit for systems that are likely to be 64-bit ready
|
|
case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long" in
|
|
1:2:8:8) AC_MSG_RESULT(..adding uint64_t default, normal 64-bit system)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* DEFAULT: */
|
|
/* seen normal 64-bit system, CC has sizeof(long and void*) == 8 bytes */
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef long int64_t;
|
|
typedef unsigned long uint64_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:4:8) AC_MSG_RESULT(..adding uint64_t default, typedef to long)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* DEFAULT: */
|
|
/* seen 32-bit system prepared for 64-bit, CC has sizeof(long) == 8 bytes */
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef long int64_t;
|
|
typedef unsigned long uint64_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
1:2:8:4) AC_MSG_RESULT(..adding uint64_t default, typedef long long)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* DEFAULT: */
|
|
/* seen 64-bit derived from a 32-bit, CC has sizeof(long) == 4 bytes */
|
|
#ifndef _HAVE_UINT64_T
|
|
#define _HAVE_UINT64_T
|
|
typedef long long int64_t;
|
|
typedef unsigned long long uint64_t;
|
|
#endif
|
|
EOF
|
|
;;
|
|
*)
|
|
cat >>$ac_stdint_h <<EOF
|
|
/* NOTE: */
|
|
/* the configure-checks for the basic types did not make us believe */
|
|
/* that we could add a fallback to a 'long long' typedef to int64_t */
|
|
EOF
|
|
esac
|
|
fi
|
|
|
|
# ------------- DONE int64_t types START intptr types ------------
|
|
if test "$ac_cv_header_stdint_x" = "no-file" ; then
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* -------------------------- INPTR SECTION --------------------------- */
|
|
EOF
|
|
case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp" in
|
|
1:2:2)
|
|
a="int16_t" ; cat >>$ac_stdint_h <<EOF
|
|
/* we tested sizeof(void*) to be of 2 chars, hence we declare it 16-bit */
|
|
|
|
typedef uint16_t uintptr_t;
|
|
typedef int16_t intptr_t;
|
|
EOF
|
|
;;
|
|
1:2:4)
|
|
a="int32_t" ; cat >>$ac_stdint_h <<EOF
|
|
/* we tested sizeof(void*) to be of 4 chars, hence we declare it 32-bit */
|
|
|
|
typedef uint32_t uintptr_t;
|
|
typedef int32_t intptr_t;
|
|
EOF
|
|
;;
|
|
1:2:8)
|
|
a="int64_t" ; cat >>$ac_stdint_h <<EOF
|
|
/* we tested sizeof(void*) to be of 8 chars, hence we declare it 64-bit */
|
|
|
|
typedef uint64_t uintptr_t;
|
|
typedef int64_t intptr_t;
|
|
EOF
|
|
;;
|
|
*)
|
|
a="long" ; cat >>$ac_stdint_h <<EOF
|
|
/* we tested sizeof(void*) but got no guess, hence we declare it as if long */
|
|
|
|
typedef unsigned long uintptr_t;
|
|
typedef long intptr_t;
|
|
EOF
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT(..adding typedef $a intptr_t)
|
|
fi
|
|
|
|
# ------------- DONE intptr types START int_least types ------------
|
|
if test "$ac_cv_type_int_least32_t" = "no"; then
|
|
AC_MSG_RESULT(..adding generic int_least-types)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* --------------GENERIC INT_LEAST ------------------ */
|
|
|
|
typedef int8_t int_least8_t;
|
|
typedef int16_t int_least16_t;
|
|
typedef int32_t int_least32_t;
|
|
#ifdef _HAVE_INT64_T
|
|
typedef int64_t int_least64_t;
|
|
#endif
|
|
|
|
typedef uint8_t uint_least8_t;
|
|
typedef uint16_t uint_least16_t;
|
|
typedef uint32_t uint_least32_t;
|
|
#ifdef _HAVE_INT64_T
|
|
typedef uint64_t uint_least64_t;
|
|
#endif
|
|
EOF
|
|
fi
|
|
|
|
# ------------- DONE intptr types START int_least types ------------
|
|
if test "$ac_cv_type_int_fast32_t" = "no"; then
|
|
AC_MSG_RESULT(..adding generic int_fast-types)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* --------------GENERIC INT_FAST ------------------ */
|
|
|
|
typedef int8_t int_fast8_t;
|
|
typedef int32_t int_fast16_t;
|
|
typedef int32_t int_fast32_t;
|
|
#ifdef _HAVE_INT64_T
|
|
typedef int64_t int_fast64_t;
|
|
#endif
|
|
|
|
typedef uint8_t uint_fast8_t;
|
|
typedef uint32_t uint_fast16_t;
|
|
typedef uint32_t uint_fast32_t;
|
|
#ifdef _HAVE_INT64_T
|
|
typedef uint64_t uint_fast64_t;
|
|
#endif
|
|
EOF
|
|
fi
|
|
|
|
if test "$ac_cv_header_stdint_x" = "no-file" ; then
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
#ifdef _HAVE_INT64_T
|
|
typedef int64_t intmax_t;
|
|
typedef uint64_t uintmax_t;
|
|
#else
|
|
typedef long int intmax_t;
|
|
typedef unsigned long uintmax_t;
|
|
#endif
|
|
EOF
|
|
fi
|
|
|
|
AC_MSG_RESULT(... DONE $ac_stdint_h)
|
|
cat >>$ac_stdint_h <<EOF
|
|
|
|
/* once */
|
|
#endif
|
|
#endif
|
|
EOF
|
|
])
|
|
|
|
dnl quote from SunOS-5.8 sys/inttypes.h:
|
|
dnl Use at your own risk. As of February 1996, the committee is squarely
|
|
dnl behind the fixed sized types; the "least" and "fast" types are still being
|
|
dnl discussed. The probability that the "fast" types may be removed before
|
|
dnl the standard is finalized is high enough that they are not currently
|
|
dnl implemented.
|
|
|
|
dnl Available from the GNU Autoconf Macro Archive at:
|
|
dnl http://www.gnu.org/software/ac-archive/htmldoc/ax_prefix_config_h.html
|
|
dnl
|
|
AC_DEFUN([AX_PREFIX_CONFIG_H],[AC_REQUIRE([AC_CONFIG_HEADER])
|
|
AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl
|
|
AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl
|
|
AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl
|
|
AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl
|
|
AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl
|
|
AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl
|
|
AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl
|
|
m4_pushdef([_script],[conftest.prefix])dnl
|
|
m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl
|
|
_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)`
|
|
_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"`
|
|
_PKG=`echo ifelse($2, , $PACKAGE, $2)`
|
|
_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"`
|
|
_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"`
|
|
_INP=`echo ifelse($3, , _, $3)`
|
|
if test "$ac_prefix_conf_INP" = "_"; then
|
|
for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
|
|
test -f "$ac_prefix_conf_INP" && continue
|
|
case $ac_file in
|
|
*.h) test -f $ac_file && _INP=$ac_file ;;
|
|
*)
|
|
esac
|
|
done
|
|
fi
|
|
if test "$_INP" = "_"; then
|
|
case "$_OUT" in
|
|
*/*) _INP=`basename "$_OUT"`
|
|
;;
|
|
*-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"`
|
|
;;
|
|
*) _INP=config.h
|
|
;;
|
|
esac
|
|
fi
|
|
if test -z "$_PKG" ; then
|
|
AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H])
|
|
else
|
|
if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then
|
|
_INP="$srcdir/$_INP"
|
|
fi fi
|
|
AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines)
|
|
if test -f $_INP ; then
|
|
echo "s/@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script
|
|
echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script
|
|
echo "s/@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script
|
|
echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script
|
|
echo "@%:@endif/" >>_script
|
|
echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script
|
|
echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script
|
|
echo "@%:@endif/" >> _script
|
|
# now executing _script on _DEF input to create _OUT output file
|
|
echo "@%:@ifndef $_DEF" >$tmp/pconfig.h
|
|
echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h
|
|
echo ' ' >>$tmp/pconfig.h
|
|
echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
|
|
|
|
sed -f _script $_INP >>$tmp/pconfig.h
|
|
echo ' ' >>$tmp/pconfig.h
|
|
echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h
|
|
echo "@%:@endif" >>$tmp/pconfig.h
|
|
if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then
|
|
AC_MSG_NOTICE([$_OUT is unchanged])
|
|
else
|
|
ac_dir=`AS_DIRNAME(["$_OUT"])`
|
|
AS_MKDIR_P(["$ac_dir"])
|
|
rm -f "$_OUT"
|
|
mv $tmp/pconfig.h "$_OUT"
|
|
fi
|
|
cp _script _configs.sed
|
|
else
|
|
AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT])
|
|
fi
|
|
rm -f conftest.*
|
|
fi
|
|
m4_popdef([_symbol])dnl
|
|
m4_popdef([_script])dnl
|
|
AS_VAR_POPDEF([_INP])dnl
|
|
AS_VAR_POPDEF([_UPP])dnl
|
|
AS_VAR_POPDEF([_LOW])dnl
|
|
AS_VAR_POPDEF([_PKG])dnl
|
|
AS_VAR_POPDEF([_DEF])dnl
|
|
AS_VAR_POPDEF([_OUT])dnl
|
|
],[PACKAGE="$PACKAGE"])])
|
|
|
|
|
|
|
|
# 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 5
|
|
|
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
|
# written in clear, in which case automake, when reading aclocal.m4,
|
|
# will think it sees a *use*, and therefore will trigger all it's
|
|
# C support machinery. Also note that it means that autoscan, seeing
|
|
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
|
|
|
|
|
# We require 2.13 because we rely on SHELL being computed by configure.
|
|
AC_PREREQ([2.13])
|
|
|
|
# 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],
|
|
[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])])
|
|
|
|
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
|
# the ones we care about.
|
|
ifdef([m4_pattern_allow],
|
|
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
|
|
|
|
# Autoconf 2.50 always computes EXEEXT. However we need to be
|
|
# compatible with 2.13, for now. So we always define EXEEXT, but we
|
|
# don't compute it.
|
|
AC_SUBST(EXEEXT)
|
|
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
|
|
# requests that it be used. This is a bit dumb.
|
|
: ${OBJEXT=o}
|
|
AC_SUBST(OBJEXT)
|
|
|
|
# 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_PROG_INSTALL_SH
|
|
AM_PROG_INSTALL_STRIP
|
|
# We need awk for the "check" target. The system "awk" is bad on
|
|
# some platforms.
|
|
AC_REQUIRE([AC_PROG_AWK])dnl
|
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
|
AC_REQUIRE([AM_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.
|
|
#
|
|
|
|
# serial 3
|
|
|
|
# AM_SANITY_CHECK
|
|
# ---------------
|
|
AC_DEFUN([AM_SANITY_CHECK],
|
|
[AC_MSG_CHECKING([whether build environment is sane])
|
|
# Just in case
|
|
sleep 1
|
|
echo timestamp > conftest.file
|
|
# 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 conftest.file 2> /dev/null`
|
|
if test "$[*]" = "X"; then
|
|
# -L didn't work.
|
|
set X `ls -t $srcdir/configure conftest.file`
|
|
fi
|
|
rm -f conftest.file
|
|
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
|
&& test "$[*]" != "X conftest.file $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]" = conftest.file
|
|
)
|
|
then
|
|
# Ok.
|
|
:
|
|
else
|
|
AC_MSG_ERROR([newly created file is older than distributed files!
|
|
Check your system clock])
|
|
fi
|
|
AC_MSG_RESULT(yes)])
|
|
|
|
|
|
# serial 2
|
|
|
|
# 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)])
|
|
|
|
|
|
# AM_MISSING_HAS_RUN
|
|
# ------------------
|
|
# Define MISSING if not defined so far and test if it supports --run.
|
|
# If it does, set am_missing_run to use it, otherwise, to nothing.
|
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
|
# Use eval to expand $SHELL
|
|
if eval "$MISSING --run true"; 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
|
|
])
|
|
|
|
# AM_AUX_DIR_EXPAND
|
|
|
|
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
|
|
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
|
|
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
|
|
#
|
|
# Of course, Automake must honor this variable whenever it calls a
|
|
# tool from the auxiliary directory. The problem is that $srcdir (and
|
|
# therefore $ac_aux_dir as well) can be either absolute or relative,
|
|
# depending on how configure is run. This is pretty annoying, since
|
|
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
|
|
# source directory, any form will work fine, but in subdirectories a
|
|
# relative path needs to be adjusted first.
|
|
#
|
|
# $ac_aux_dir/missing
|
|
# fails when called from a subdirectory if $ac_aux_dir is relative
|
|
# $top_srcdir/$ac_aux_dir/missing
|
|
# fails if $ac_aux_dir is absolute,
|
|
# fails when called from a subdirectory in a VPATH build with
|
|
# a relative $ac_aux_dir
|
|
#
|
|
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
|
|
# are both prefixed by $srcdir. In an in-source build this is usually
|
|
# harmless because $srcdir is `.', but things will broke when you
|
|
# start a VPATH build or use an absolute $srcdir.
|
|
#
|
|
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
|
|
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
|
|
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
|
|
# and then we would define $MISSING as
|
|
# MISSING="\${SHELL} $am_aux_dir/missing"
|
|
# This will work as long as MISSING is not called from configure, because
|
|
# unfortunately $(top_srcdir) has no meaning in configure.
|
|
# However there are other variables, like CC, which are often used in
|
|
# configure, and could therefore not use this "fixed" $ac_aux_dir.
|
|
#
|
|
# Another solution, used here, is to always expand $ac_aux_dir to an
|
|
# absolute PATH. The drawback is that using absolute paths prevent a
|
|
# configured tree to be moved without reconfiguration.
|
|
|
|
AC_DEFUN([AM_AUX_DIR_EXPAND], [
|
|
# expand $ac_aux_dir to an absolute path
|
|
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
|
|
])
|
|
|
|
# AM_PROG_INSTALL_SH
|
|
# ------------------
|
|
# Define $install_sh.
|
|
AC_DEFUN([AM_PROG_INSTALL_SH],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
install_sh=${install_sh-"$am_aux_dir/install-sh"}
|
|
AC_SUBST(install_sh)])
|
|
|
|
# One issue with vendor `install' (even GNU) is that you can't
|
|
# specify the program used to strip binaries. This is especially
|
|
# annoying in cross-compiling environments, where the build's strip
|
|
# is unlikely to handle the host's binaries.
|
|
# Fortunately install-sh will honor a STRIPPROG variable, so we
|
|
# always use install-sh in `make install-strip', and initialize
|
|
# STRIPPROG with the value of the STRIP variable (set by the user).
|
|
AC_DEFUN([AM_PROG_INSTALL_STRIP],
|
|
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
|
|
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
|
|
|
# serial 4 -*- Autoconf -*-
|
|
|
|
|
|
|
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
|
# written in clear, in which case automake, when reading aclocal.m4,
|
|
# will think it sees a *use*, and therefore will trigger all it's
|
|
# C support machinery. Also note that it means that autoscan, seeing
|
|
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
|
|
|
|
|
|
|
# _AM_DEPENDENCIES(NAME)
|
|
# ---------------------
|
|
# See how the compiler implements dependency checking.
|
|
# NAME is "CC", "CXX" or "OBJC".
|
|
# We try a few techniques and use that to set a single cache variable.
|
|
#
|
|
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
|
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
|
|
# dependency, and given that the user is not expected to run this macro,
|
|
# just rely on AC_PROG_CC.
|
|
AC_DEFUN([_AM_DEPENDENCIES],
|
|
[AC_REQUIRE([AM_SET_DEPDIR])dnl
|
|
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
|
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
|
AC_REQUIRE([AM_DEP_TRACK])dnl
|
|
|
|
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
|
[$1], CXX, [depcc="$CXX" am_compiler_list=],
|
|
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
|
|
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
|
[depcc="$$1" am_compiler_list=])
|
|
|
|
AC_CACHE_CHECK([dependency style of $depcc],
|
|
[am_cv_$1_dependencies_compiler_type],
|
|
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
|
# We make a subdir and do the tests there. Otherwise we can end up
|
|
# making bogus files that we don't know about and never remove. For
|
|
# instance it was reported that on HP-UX the gcc test will end up
|
|
# making a dummy file named `D' -- because `-MD' means `put the output
|
|
# in D'.
|
|
mkdir conftest.dir
|
|
# Copy depcomp to subdir because otherwise we won't find it if we're
|
|
# using a relative directory.
|
|
cp "$am_depcomp" conftest.dir
|
|
cd conftest.dir
|
|
|
|
am_cv_$1_dependencies_compiler_type=none
|
|
if test "$am_compiler_list" = ""; then
|
|
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
|
fi
|
|
for depmode in $am_compiler_list; do
|
|
# We need to recreate these files for each test, as the compiler may
|
|
# overwrite some of them when testing with obscure command lines.
|
|
# This happens at least with the AIX C compiler.
|
|
echo '#include "conftest.h"' > conftest.c
|
|
echo 'int i;' > conftest.h
|
|
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
|
|
|
|
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
|
|
# We check with `-c' and `-o' for the sake of the "dashmstdout"
|
|
# mode. It turns out that the SunPro C++ compiler does not properly
|
|
# handle `-M -o', and we need to detect this.
|
|
if depmode=$depmode \
|
|
source=conftest.c object=conftest.o \
|
|
depfile=conftest.Po tmpdepfile=conftest.TPo \
|
|
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
|
|
grep conftest.h conftest.Po > /dev/null 2>&1 &&
|
|
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
|
am_cv_$1_dependencies_compiler_type=$depmode
|
|
break
|
|
fi
|
|
done
|
|
|
|
cd ..
|
|
rm -rf conftest.dir
|
|
else
|
|
am_cv_$1_dependencies_compiler_type=none
|
|
fi
|
|
])
|
|
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
|
|
AC_SUBST([$1DEPMODE])
|
|
])
|
|
|
|
|
|
# AM_SET_DEPDIR
|
|
# -------------
|
|
# Choose a directory name for dependency files.
|
|
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
|
AC_DEFUN([AM_SET_DEPDIR],
|
|
[rm -f .deps 2>/dev/null
|
|
mkdir .deps 2>/dev/null
|
|
if test -d .deps; then
|
|
DEPDIR=.deps
|
|
else
|
|
# MS-DOS does not allow filenames that begin with a dot.
|
|
DEPDIR=_deps
|
|
fi
|
|
rmdir .deps 2>/dev/null
|
|
AC_SUBST(DEPDIR)
|
|
])
|
|
|
|
|
|
# AM_DEP_TRACK
|
|
# ------------
|
|
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
|
|
am_depcomp="$ac_aux_dir/depcomp"
|
|
AMDEPBACKSLASH='\'
|
|
fi
|
|
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
|
pushdef([subst], defn([AC_SUBST]))
|
|
subst(AMDEPBACKSLASH)
|
|
popdef([subst])
|
|
])
|
|
|
|
# Generate code to set up dependency tracking.
|
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
|
# Usage:
|
|
# AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
|
|
#
|
|
# This code is only required when automatic dependency tracking
|
|
# is enabled. FIXME. This creates each `.P' file that we will
|
|
# need in order to bootstrap the dependency handling code.
|
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
|
|
AC_OUTPUT_COMMANDS([
|
|
test x"$AMDEP_TRUE" != 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_TRUE="$AMDEP_TRUE"
|
|
ac_aux_dir="$ac_aux_dir"])])
|
|
|
|
# AM_MAKE_INCLUDE()
|
|
# -----------------
|
|
# Check to see how make treats includes.
|
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
|
[am_make=${MAKE-make}
|
|
cat > confinc << 'END'
|
|
doit:
|
|
@echo done
|
|
END
|
|
# If we don't find an include directive, just comment out the code.
|
|
AC_MSG_CHECKING([for style of include used by $am_make])
|
|
am__include='#'
|
|
am__quote=
|
|
_am_result=none
|
|
# First try GNU make style include.
|
|
echo "include confinc" > confmf
|
|
# We grep out `Entering directory' and `Leaving directory'
|
|
# messages which can occur if `w' ends up in MAKEFLAGS.
|
|
# In particular we don't look at `^make:' because GNU make might
|
|
# be invoked under some other name (usually "gmake"), in which
|
|
# case it prints its new name instead of `make'.
|
|
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
|
|
am__include=include
|
|
am__quote=
|
|
_am_result=GNU
|
|
fi
|
|
# Now try BSD make style include.
|
|
if test "$am__include" = "#"; then
|
|
echo '.include "confinc"' > confmf
|
|
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
|
|
am__include=.include
|
|
am__quote='"'
|
|
_am_result=BSD
|
|
fi
|
|
fi
|
|
AC_SUBST(am__include)
|
|
AC_SUBST(am__quote)
|
|
AC_MSG_RESULT($_am_result)
|
|
rm -f confinc confmf
|
|
])
|
|
|
|
# serial 3
|
|
|
|
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
|
# -------------------------------------
|
|
# Define a conditional.
|
|
#
|
|
# FIXME: Once using 2.50, use this:
|
|
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
|
|
AC_DEFUN([AM_CONDITIONAL],
|
|
[ifelse([$1], [TRUE],
|
|
[errprint(__file__:__line__: [$0: invalid condition: $1
|
|
])dnl
|
|
m4exit(1)])dnl
|
|
ifelse([$1], [FALSE],
|
|
[errprint(__file__:__line__: [$0: invalid condition: $1
|
|
])dnl
|
|
m4exit(1)])dnl
|
|
AC_SUBST([$1_TRUE])
|
|
AC_SUBST([$1_FALSE])
|
|
if $2; then
|
|
$1_TRUE=
|
|
$1_FALSE='#'
|
|
else
|
|
$1_TRUE='#'
|
|
$1_FALSE=
|
|
fi])
|
|
|
|
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
|
|
|
# serial 3
|
|
|
|
# When config.status generates a header, we must update the stamp-h file.
|
|
# This file resides in the same directory as the config header
|
|
# that is generated. We must strip everything past the first ":",
|
|
# and everything past the last "/".
|
|
|
|
AC_PREREQ([2.12])
|
|
|
|
AC_DEFUN([AM_CONFIG_HEADER],
|
|
[ifdef([AC_FOREACH],dnl
|
|
[dnl init our file count if it isn't already
|
|
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
|
|
dnl prepare to store our destination file list for use in config.status
|
|
AC_FOREACH([_AM_File], [$1],
|
|
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
|
|
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
|
|
dnl and add it to the list of files AC keeps track of, along
|
|
dnl with our hook
|
|
AC_CONFIG_HEADERS(_AM_File,
|
|
dnl COMMANDS, [, INIT-CMDS]
|
|
[# update the timestamp
|
|
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
|
|
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
|
|
m4_popdef([_AM_Dest])])],dnl
|
|
[AC_CONFIG_HEADER([$1])
|
|
AC_OUTPUT_COMMANDS(
|
|
ifelse(patsubst([$1], [[^ ]], []),
|
|
[],
|
|
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
|
|
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
|
|
[am_indx=1
|
|
for am_file in $1; do
|
|
case " \$CONFIG_HEADERS " in
|
|
*" \$am_file "*)
|
|
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
|
|
if test -n "\$am_dir"; then
|
|
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
|
|
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
|
|
am_tmpdir=\$am_tmpdir\$am_subdir/
|
|
if test ! -d \$am_tmpdir; then
|
|
mkdir \$am_tmpdir
|
|
fi
|
|
done
|
|
fi
|
|
echo timestamp > "\$am_dir"stamp-h\$am_indx
|
|
;;
|
|
esac
|
|
am_indx=\`expr \$am_indx + 1\`
|
|
done])
|
|
])]) # AM_CONFIG_HEADER
|
|
|
|
# _AM_DIRNAME(PATH)
|
|
# -----------------
|
|
# Like AS_DIRNAME, only do it during macro expansion
|
|
AC_DEFUN([_AM_DIRNAME],
|
|
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
|
|
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
|
|
m4_if(m4_regexp([$1], [^/.*]), -1,
|
|
[.],
|
|
m4_patsubst([$1], [^\(/\).*], [\1])),
|
|
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
|
|
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
|
]) # _AM_DIRNAME
|
|
|