|
|
|
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
|
|
|
|
# no! these are things like socklen_t, const, vfork
|
|
|
|
# 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
|
|
|
|
# no! these are things like socklen_t, const, vfork
|
|
|
|
# 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"])])
|
|
|
|
|
|
|
|
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
|
|
|
## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
|
|
|
|
## Free Software Foundation, Inc.
|
|
|
|
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
|
|
|
##
|
|
|
|
## This file is free software; the Free Software Foundation gives
|
|
|
|
## unlimited permission to copy and/or distribute it, with or without
|
|
|
|
## modifications, as long as this notice is preserved.
|
|
|
|
|
|
|
|
# serial 48 AC_PROG_LIBTOOL
|
|
|
|
|
|
|
|
|
|
|
|
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
# If this macro is not defined by Autoconf, define it here.
|
|
|
|
m4_ifdef([AC_PROVIDE_IFELSE],
|
|
|
|
[],
|
|
|
|
[m4_define([AC_PROVIDE_IFELSE],
|
|
|
|
[m4_ifdef([AC_PROVIDE_$1],
|
|
|
|
[$2], [$3])])])
|
|
|
|
|
|
|
|
|
|
|
|
# AC_PROG_LIBTOOL
|
|
|
|
# ---------------
|
|
|
|
AC_DEFUN([AC_PROG_LIBTOOL],
|
|
|
|
[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
|
|
|
|
dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
|
|
|
|
dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
|
|
|
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
|
|
|
[AC_LIBTOOL_CXX],
|
|
|
|
[define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
|
|
|
|
])])
|
|
|
|
dnl And a similar setup for Fortran 77 support
|
|
|
|
AC_PROVIDE_IFELSE([AC_PROG_F77],
|
|
|
|
[AC_LIBTOOL_F77],
|
|
|
|
[define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
|
|
|
|
])])
|
|
|
|
|
|
|
|
dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
|
|
|
|
dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
|
|
|
|
dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
|
|
|
|
AC_PROVIDE_IFELSE([AC_PROG_GCJ],
|
|
|
|
[AC_LIBTOOL_GCJ],
|
|
|
|
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
|
|
|
|
[AC_LIBTOOL_GCJ],
|
|
|
|
[AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
|
|
|
|
[AC_LIBTOOL_GCJ],
|
|
|
|
[ifdef([AC_PROG_GCJ],
|
|
|
|
[define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
|
|
|
|
ifdef([A][M_PROG_GCJ],
|
|
|
|
[define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
|
|
|
|
ifdef([LT_AC_PROG_GCJ],
|
|
|
|
[define([LT_AC_PROG_GCJ],
|
|
|
|
defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
|
|
|
|
])])# AC_PROG_LIBTOOL
|
|
|
|
|
|
|
|
|
|
|
|
# _AC_PROG_LIBTOOL
|
|
|
|
# ----------------
|
|
|
|
AC_DEFUN([_AC_PROG_LIBTOOL],
|
|
|
|
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
|
|
|
AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
|
|
|
|
AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
|
|
|
|
AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
|
|
|
|
|
|
|
|
# This can be used to rebuild libtool when needed
|
|
|
|
LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
|
|
|
|
|
|
|
|
# Always use our own libtool.
|
|
|
|
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
|
|
|
AC_SUBST(LIBTOOL)dnl
|
|
|
|
|
|
|
|
# Prevent multiple expansion
|
|
|
|
define([AC_PROG_LIBTOOL], [])
|
|
|
|
])# _AC_PROG_LIBTOOL
|
|
|
|
|
|
|
|
|
|
|
|
# AC_LIBTOOL_SETUP
|
|
|
|
# ----------------
|
|
|
|
AC_DEFUN([AC_LIBTOOL_SETUP],
|
|
|
|
[AC_PREREQ(2.50)dnl
|
|
|
|
AC_REQUIRE([AC_ENABLE_SHARED])dnl
|
|
|
|
AC_REQUIRE([AC_ENABLE_STATIC])dnl
|
|
|
|
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
|
|
|
|
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
|
|
|
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
|
|
|
AC_REQUIRE([AC_PROG_CC])dnl
|
|
|
|
AC_REQUIRE([AC_PROG_LD])dnl
|
|
|
|
AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
|
|
|
|
AC_REQUIRE([AC_PROG_NM])dnl
|
|
|
|
|
|
|
|
AC_REQUIRE([AC_PROG_LN_S])dnl
|
|
|
|
AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
|
|
|
|
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
|
|
|
|
AC_REQUIRE([AC_OBJEXT])dnl
|
|
|
|
AC_REQUIRE([AC_EXEEXT])dnl
|
|
|
|
dnl
|
|
|
|
|
|
|
|
AC_LIBTOOL_SYS_MAX_CMD_LEN
|
|
|
|
AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
|
|
|
|
AC_LIBTOOL_OBJDIR
|
|
|
|
|
|
|
|
AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
|
|
|
|
_LT_AC_PROG_ECHO_BACKSLASH
|
|
|
|
|
|
|
|
case $host_os in
|
|
|
|
aix3*)
|
|
|
|
# AIX sometimes has problems with the GCC collect2 program. For some
|
|
|
|
# reason, if we set the COLLECT_NAMES environment variable, the problems
|
|
|
|
# vanish in a puff of smoke.
|
|
|
|
if test "X${COLLECT_NAMES+set}" != Xset; then
|
|
|
|
COLLECT_NAMES=
|
|
|
|
export COLLECT_NAMES
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
# Sed substitution that helps us do robust quoting. It backslashifies
|
|
|
|
# metacharacters that are still active within double-quoted strings.
|
|
|
|
Xsed='sed -e 1s/^X//'
|
|
|
|
[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
|
|
|
|
|
|
|
|
# Same as above, but do not quote variable references.
|
|
|
|
[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
|
|
|
|
|
|
|
|
# Sed substitution to delay expansion of an escaped shell variable in a
|
|
|
|
# double_quote_subst'ed string.
|
|
|
|
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
|
|
|
|
|
|
|
|
# Sed substitution to avoid accidental globbing in evaled expressions
|
|
|
|
no_glob_subst='s/\*/\\\*/g'
|
|
|
|
|
|
|
|
# Constants:
|
|
|
|
rm="rm -f"
|
|
|
|
|
|
|
|
# Global variables:
|
|
|
|
default_ofile=libtool
|
|
|
|
can_build_shared=yes
|
|
|
|
|
|
|
|
# All known linkers require a `.a' archive for static linking (except MSVC,
|
|
|
|
# which needs '.lib').
|
|
|
|
libext=a
|
|
|
|
ltmain="$ac_aux_dir/ltmain.sh"
|
|
|
|
ofile="$default_ofile"
|
|
|
|
with_gnu_ld="$lt_cv_prog_gnu_ld"
|
|
|
|
|
|
|
|
AC_CHECK_TOOL(AR, ar, false)
|
|
|
|
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
|
|
|
AC_CHECK_TOOL(STRIP, strip, :)
|
|
|
|
|
|
|
|
old_CC="$CC"
|
|
|
|
old_CFLAGS="$CFLAGS"
|
|
|
|
|
|
|
|
# Set sane defaults for various variables
|
|
|
|
test -z "$AR" && AR=ar
|
|
|
|
test -z "$AR_FLAGS" && AR_FLAGS=cru
|
|
|
|
test -z "$AS" && AS=as
|
|
|
|
test -z "$CC" && CC=cc
|
|
|
|
test -z "$LTCC" && LTCC=$CC
|
|
|
|
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
|
|
|
|
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
|
|
|
test -z "$LD" && LD=ld
|
|
|
|
test -z "$LN_S" && LN_S="ln -s"
|
|
|
|
test -z "$MAGIC_CMD" && MAGIC_CMD=file
|
|
|
|
test -z "$NM" && NM=nm
|
|
|
|
test -z "$SED" && SED=sed
|
|
|
|
test -z "$OBJDUMP" && OBJDUMP=objdump
|
|
|
|
test -z "$RANLIB" && RANLIB=:
|
|
|
|
test -z "$STRIP" && STRIP=:
|
|
|
|
test -z "$ac_objext" && ac_objext=o
|
|
|
|
|
|
|
|
# Determine commands to create old-style static archives.
|
|
|
|
old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
|
|
|
|
old_postinstall_cmds='chmod 644 $oldlib'
|
|
|
|
old_postuninstall_cmds=
|
|
|
|
|
|
|
|
if test -n "$RANLIB"; then
|
|
|
|
case $host_os in
|
|
|
|
openbsd*)
|
|
|
|
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
|
|
|
|
fi
|
|
|
|
|
|
|
|
_LT_CC_BASENAME([$compiler])
|
|
|
|
|
|
|
|
# Only perform the check for file, if the check method requires it
|
|
|
|
case $deplibs_check_method in
|
|
|
|
file_magic*)
|
|
|
|
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
|
|
|
|
AC_PATH_MAGIC
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
|
|
|
|
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
|
|
|
|
enable_win32_dll=yes, enable_win32_dll=no)
|
|
|
|
|
|
|
|
AC_ARG_ENABLE([libtool-lock],
|
|
|
|
[AC_HELP_STRING([--disable-libtool-lock],
|
|
|
|
[avoid locking (might break parallel builds)])])
|
|
|
|
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
|
|
|
|
|
|
|
|
AC_ARG_WITH([pic],
|
|
|
|
[AC_HELP_STRING([--with-pic],
|
|
|
|
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
|
|
|
[pic_mode="$withval"],
|
|
|
|
[pic_mode=default])
|
|
|
|
test -z "$pic_mode" && pic_mode=default
|
|
|
|
|
|
|
|
# Use C for the default configuration in the libtool script
|
|
|
|
tagname=
|
|
|
|
AC_LIBTOOL_LANG_C_CONFIG
|
|
|
|
_LT_AC_TAGCONFIG
|
|
|
|
])# AC_LIBTOOL_SETUP
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_AC_SYS_COMPILER
|
|
|
|
# -------------------
|
|
|
|
AC_DEFUN([_LT_AC_SYS_COMPILER],
|
|
|
|
[AC_REQUIRE([AC_PROG_CC])dnl
|
|
|
|
|
|
|
|
# If no C compiler was specified, use CC.
|
|
|
|
LTCC=${LTCC-"$CC"}
|
|
|
|
|
|
|
|
# If no C compiler flags were specified, use CFLAGS.
|
|
|
|
LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
|
|
|
|
|
|
|
|
# Allow CC to be a program name with arguments.
|
|
|
|
compiler=$CC
|
|
|
|
])# _LT_AC_SYS_COMPILER
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_CC_BASENAME(CC)
|
|
|
|
# -------------------
|
|
|
|
# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
|
|
|
|
AC_DEFUN([_LT_CC_BASENAME],
|
|
|
|
[for cc_temp in $1""; do
|
|
|
|
case $cc_temp in
|
|
|
|
compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
|
|
|
|
distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
|
|
|
|
\-*) ;;
|
|
|
|
*) break;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_COMPILER_BOILERPLATE
|
|
|
|
# ------------------------
|
|
|
|
# Check for compiler boilerplate output or warnings with
|
|
|
|
# the simple compiler test code.
|
|
|
|
AC_DEFUN([_LT_COMPILER_BOILERPLATE],
|
|
|
|
[ac_outfile=conftest.$ac_objext
|
|
|
|
printf "$lt_simple_compile_test_code" >conftest.$ac_ext
|
|
|
|
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
|
|
|
|
_lt_compiler_boilerplate=`cat conftest.err`
|
|
|
|
$rm conftest*
|
|
|
|
])# _LT_COMPILER_BOILERPLATE
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_LINKER_BOILERPLATE
|
|
|
|
# ----------------------
|
|
|
|
# Check for linker boilerplate output or warnings with
|
|
|
|
# the simple link test code.
|
|
|
|
AC_DEFUN([_LT_LINKER_BOILERPLATE],
|
|
|
|
[ac_outfile=conftest.$ac_objext
|
|
|
|
printf "$lt_simple_link_test_code" >conftest.$ac_ext
|
|
|
|
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
|
|
|
|
_lt_linker_boilerplate=`cat conftest.err`
|
|
|
|
$rm conftest*
|
|
|
|
])# _LT_LINKER_BOILERPLATE
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_AC_SYS_LIBPATH_AIX
|
|
|
|
# ----------------------
|
|
|
|
# Links a minimal program and checks the executable
|
|
|
|
# for the system default hardcoded library path. In most cases,
|
|
|
|
# this is /usr/lib:/lib, but when the MPI compilers are used
|
|
|
|
# the location of the communication and MPI libs are included too.
|
|
|
|
# If we don't find anything, use the default library path according
|
|
|
|
# to the aix ld manual.
|
|
|
|
AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
|
|
|
|
[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
|
|
|
|
aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
|
|
|
}'`
|
|
|
|
# Check for a 64-bit object if we didn't find anything.
|
|
|
|
if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
|
|
|
}'`; fi],[])
|
|
|
|
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
|
|
|
|
])# _LT_AC_SYS_LIBPATH_AIX
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_AC_SHELL_INIT(ARG)
|
|
|
|
# ----------------------
|
|
|
|
AC_DEFUN([_LT_AC_SHELL_INIT],
|
|
|
|
[ifdef([AC_DIVERSION_NOTICE],
|
|
|
|
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
|
|
|
|
[AC_DIVERT_PUSH(NOTICE)])
|
|
|
|
$1
|
|
|
|
AC_DIVERT_POP
|
|
|
|
])# _LT_AC_SHELL_INIT
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_AC_PROG_ECHO_BACKSLASH
|
|
|
|
# --------------------------
|
|
|
|
# Add some code to the start of the generated configure script which
|
|
|
|
# will find an echo command which doesn't interpret backslashes.
|
|
|
|
AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
|
|
|
|
[_LT_AC_SHELL_INIT([
|
|
|
|
# Check that we are running under the correct shell.
|
|
|
|
SHELL=${CONFIG_SHELL-/bin/sh}
|
|
|
|
|
|
|
|
case X$ECHO in
|
|
|
|
X*--fallback-echo)
|
|
|
|
# Remove one level of quotation (which was required for Make).
|
|
|
|
ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
echo=${ECHO-echo}
|
|
|
|
if test "X[$]1" = X--no-reexec; then
|
|
|
|
# Discard the --no-reexec flag, and continue.
|
|
|
|
shift
|
|
|
|
elif test "X[$]1" = X--fallback-echo; then
|
|
|
|
# Avoid inline document here, it may be left over
|
|
|
|
:
|
|
|
|
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
|
|
|
|
# Yippee, $echo works!
|
|
|
|
:
|
|
|
|
else
|
|
|
|
# Restart under the correct shell.
|
|
|
|
exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "X[$]1" = X--fallback-echo; then
|
|
|
|
# used as fallback echo
|
|
|
|
shift
|
|
|
|
cat <<EOF
|
|
|
|
[$]*
|
|
|
|
EOF
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
|
|
|
# if CDPATH is set.
|
|
|
|
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
|
|
|
|
|
|
|
if test -z "$ECHO"; then
|
|
|
|
if test "X${echo_test_string+set}" != Xset; then
|
|
|
|
# find a string as large as possible, as long as the shell can cope with it
|
|
|
|
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
|
|
|
|
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
|
|
|
|
if (echo_test_string=`eval $cmd`) 2>/dev/null &&
|
|
|
|
echo_test_string=`eval $cmd` &&
|
|
|
|
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
|
|
|
|
then
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
|
|
echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = "X$echo_test_string"; then
|
|
|
|
:
|
|
|
|
else
|
|
|
|
# The Solaris, AIX, and Digital Unix default echo programs unquote
|
|
|
|
# backslashes. This makes it impossible to quote backslashes using
|
|
|
|
# echo "$something" | sed 's/\\/\\\\/g'
|
|
|
|
#
|
|
|
|
# So, first we look for a working echo in the user's PATH.
|
|
|
|
|
|
|
|
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
|
|
|
|
for dir in $PATH /usr/ucb; do
|
|
|
|
IFS="$lt_save_ifs"
|
|
|
|
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
|
|
|
|
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
|
|
echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = "X$echo_test_string"; then
|
|
|
|
echo="$dir/echo"
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
IFS="$lt_save_ifs"
|
|
|
|
|
|
|
|
if test "X$echo" = Xecho; then
|
|
|
|
# We didn't find a better echo, so look for alternatives.
|
|
|
|
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
|
|
|
|
echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = "X$echo_test_string"; then
|
|
|
|
# This shell has a builtin print -r that does the trick.
|
|
|
|
echo='print -r'
|
|
|
|
elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
|
|
|
|
test "X$CONFIG_SHELL" != X/bin/ksh; then
|
|
|
|
# If we have ksh, try running configure again with it.
|
|
|
|
ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
|
|
|
|
export ORIGINAL_CONFIG_SHELL
|
|
|
|
CONFIG_SHELL=/bin/ksh
|
|
|
|
export CONFIG_SHELL
|
|
|
|
exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
|
|
|
|
else
|
|
|
|
# Try using printf.
|
|
|
|
echo='printf %s\n'
|
|
|
|
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
|
|
|
|
echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = "X$echo_test_string"; then
|
|
|
|
# Cool, printf works
|
|
|
|
:
|
|
|
|
elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = 'X\t' &&
|
|
|
|
echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = "X$echo_test_string"; then
|
|
|
|
CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
|
|
|
|
export CONFIG_SHELL
|
|
|
|
SHELL="$CONFIG_SHELL"
|
|
|
|
export SHELL
|
|
|
|
echo="$CONFIG_SHELL [$]0 --fallback-echo"
|
|
|
|
elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = 'X\t' &&
|
|
|
|
echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
|
|
|
|
test "X$echo_testing_string" = "X$echo_test_string"; then
|
|
|
|
echo="$CONFIG_SHELL [$]0 --fallback-echo"
|
|
|
|
else
|
|
|
|
# maybe with a smaller string...
|
|
|
|
prev=:
|
|
|
|
|
|
|
|
for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
|
|
|
|
if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
|
|
|
|
then
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
prev="$cmd"
|
|
|
|
done
|
|
|
|
|
|
|
|
if test "$prev" != 'sed 50q "[$]0"'; then
|
|
|
|
echo_test_string=`eval $prev`
|
|
|
|
export echo_test_string
|
|
|
|
exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
|
|
|
|
else
|
|
|
|
# Oops. We lost completely, so just stick with echo.
|
|
|
|
echo=echo
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Copy echo and quote the copy suitably for passing to libtool from
|
|
|
|
# the Makefile, instead of quoting the original, which is used later.
|
|
|
|
ECHO=$echo
|
|
|
|
if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
|
|
|
|
ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(ECHO)
|
|
|
|
])])# _LT_AC_PROG_ECHO_BACKSLASH
|
|
|
|
|
|
|
|
|
|
|
|
# _LT_AC_LOCK
|
|
|
|
# -----------
|
|
|
|
AC_DEFUN([_LT_AC_LOCK],
|
|
|
|
[AC_ARG_ENABLE([libtool-lock],
|
|
|
|
[AC_HELP_STRING([--disable-libtool-lock],
|
|
|
|
[avoid locking (might break parallel builds)])])
|
|
|
|
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
|
|
|
|
|
|
|
|
# Some flags need to be propagated to the compiler or linker for good
|
|
|
|
# libtool support.
|
|
|
|
case $host in
|
|
|
|
ia64-*-hpux*)
|
|
|
|
# Find out which ABI we are using.
|
|
|
|
echo 'int i;' > conftest.$ac_ext
|
|
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
|
|
case `/usr/bin/file conftest.$ac_objext` in
|
|
|
|
*ELF-32*)
|
|
|
|
HPUX_IA64_MODE="32"
|
|
|
|
;;
|
|
|
|
*ELF-64*)
|
|
|
|
HPUX_IA64_MODE="64"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
rm -rf conftest*
|
|
|
|
;;
|
|
|
|
*-*-irix6*)
|
|
|
|
# Find out which ABI we are using.
|
|
|
|
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
|
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
|
|
if test "$lt_cv_prog_gnu_ld" = yes; then
|
|
|
|
case `/usr/bin/file conftest.$ac_objext` in
|
|
|
|
*32-bit*)
|
|
|
|
LD="${LD-ld} -melf32bsmip"
|
|
|
|
;;
|
|
|
|
*N32*)
|
|
|
|
LD="${LD-ld} -melf32bmipn32"
|
|
|
|
;;
|
|
|
|
*64-bit*)
|
|
|
|
LD="${LD-ld} -melf64bmip"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
case `/usr/bin/file conftest.$ac_objext` in
|
|
|
|
*32-bit*)
|
|
|
|
LD="${LD-ld} -32"
|
|
|
|
;;
|
|
|
|
*N32*)
|
|
|
|
LD="${LD-ld} -n32"
|
|
|
|
;;
|
|
|
|
*64-bit*)
|
|
|
|
LD="${LD-ld} -64"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
rm -rf conftest*
|
|
|
|
;;
|
|
|
|
|
|
|
|
x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
|
|
|
|
# Find out which ABI we are using.
|
|
|
|
echo 'int i;' > conftest.$ac_ext
|
|
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
|
|
case `/usr/bin/file conftest.o` in
|
|
|
|
*32-bit*)
|
|
|
|
case $host in
|
|
|
|
x86_64-*linux*)
|
|
|
|
LD="${LD-ld} -m elf_i386"
|
|
|
|
;;
|
|
|
|
powerpc64le-*)
|
|
|
|
LD="${LD-ld} -m elf32lppclinux"
|
|
|
|
;;
|
|
|
|
powerpc64-*)
|
|
|
|
LD="${LD-ld} -m elf32ppclinux"
|
|
|
|
;;
|
|
|
|
s390x-*linux*)
|
|
|
|
LD="${LD-ld} -m elf_s390"
|
|
|
|
;;
|
|
|
|
sparc64-*linux*)
|
|
|
|
LD="${LD-ld} -m elf32_sparc"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
*64-bit*)
|
|
|
|
case $host in
|
|
|
|
x86_64-*linux*)
|
|
|
|
LD="${LD-ld} -m elf_x86_64"
|
|
|
|
;;
|
|
|
|
powerpcle-*)
|
|
|
|
LD="${LD-ld} -m elf64lppc"
|
|
|
|
;;
|
|
|
|
powerpc-*)
|
|
|
|
LD="${LD-ld} -m elf64ppc"
|
|
|
|
;;
|
|
|
|
s390*-*linux*)
|
|
|
|
LD="${LD-ld} -m elf64_s390"
|
|
|
|
;;
|
|
|
|
sparc*-*linux*)
|
|
|
|
LD="${LD-ld} -m elf64_sparc"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
rm -rf conftest*
|
|
|
|
;;
|
|
|
|
|
|
|
|
*-*-sco3.2v5*)
|
|
|
|
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
|
|
|
SAVE_CFLAGS="$CFLAGS"
|
|
|
|
CFLAGS="$CFLAGS -belf"
|
|
|
|
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
|
|
|
|
[AC_LANG_PUSH(C)
|
|
|
|
AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
|
|
|
|
AC_LANG_POP])
|
|
|
|
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
|
|
|
|
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
|
|
|
|
CFLAGS="$SAVE_CFLAGS"
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
sparc*-*solaris*)
|
|
|
|
# Find out which ABI we are using.
|
|
|
|
echo 'int i;' > conftest.$ac_ext
|
|
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
|
|
case `/usr/bin/file conftest.o` in
|
|
|
|
*64-bit*)
|
|
|
|
case $lt_cv_prog_gnu_ld in
|
|
|
|
yes*) LD="${LD-ld} -m elf64_sparc" ;;
|
|
|
|
*) LD="${LD-ld} -64" ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
rm -rf conftest*
|
|
|
|
;;
|
|
|
|
|
|
|
|
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
|
|
|
|
[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
|
|
|
|
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
|
|
|
AC_CHECK_TOOL(AS, as, false)
|
|
|
|
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
|
|
|
;;
|
|
|
|
])
|
|
|
|
esac
|
|
|
|
|
|
|
|
need_locks="$enable_libtool_lock"
|
|
|
|
|
|
|
|
])# _LT_AC_LOCK
|
|
|
|
|
|
|
|
|
|
|
|
# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
|
|
|
|
# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
|
|
|
|
# ----------------------------------------------------------------
|
|
|
|
# Check whether the given compiler option works
|
|
|
|
AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
|
|
|
|
[AC_REQUIRE([LT_AC_PROG_SED])
|
|
|
|
AC_CACHE_CHECK([$1], [$2],
|
|
|
|
[$2=no
|
|
|
|
ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
|
|
|
|
printf "$lt_simple_compile_test_code" > conftest.$ac_ext
|
|
|
|
lt_compiler_flag="$3"
|
|
|
|
# Insert the option either (1) after the last *FLAGS variable, or
|
|
|
|
# (2) before a word containing "conftest.", or (3) at the end.
|
|
|
|
# Note that $ac_compile itself does not contain backslashes and begins
|
|
|
|
# with a dollar sign (not a hyphen), so the echo should work correctly.
|
|
|
|
# The option is referenced via a variable to avoid confusing sed.
|
|
|
|
lt_compile=`echo "$ac_compile" | $SED \
|
|
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
|
|
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
|
|
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
|
|
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
|
|
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
|
|
ac_status=$?
|
|
|
|
cat conftest.err >&AS_MESSAGE_LOG_FD
|
|
|
|
echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
|
|
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
|
|
# So say no if there are warnings other than the usual output.
|
|
|
|
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
|
|
|
|
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
|
|
|
|
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
|
|
|
|
$2=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
$rm conftest*
|
|
|
|
])
|
|
|
|
|
|
|
|
if test x"[$]$2" = xyes; then
|
|
|
|
ifelse([$5], , :, [$5])
|
|
|
|
else
|
|
|
|
ifelse([$6], , :, [$6])
|
|
|
|
fi
|
|
|
|
])# AC_LIBTOOL_COMPILER_OPTION
|
|
|
|
|
|
|
|
|
|
|
|
# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
|
|
|
|
# [ACTION-SUCCESS], [ACTION-FAILURE])
|
|
|
|
# ------------------------------------------------------------
|
|
|
|
# Check whether the given compiler option works
|
|
|
|
AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
|
|
|
|
[AC_CACHE_CHECK([$1], [$2],
|
|
|
|
[$2=no
|
|
|
|
save_LDFLAGS="$LDFLAGS"
|
|
|
|
LDFLAGS="$LDFLAGS $3"
|
|
|
|
printf "$lt_simple_link_test_code" > conftest.$ac_ext
|
|
|
|
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
|
|
|
|
# The linker can only warn and ignore the option if not recognized
|
|
|
|
# So say no if there are warnings
|
|
|
|
if test -s conftest.err; then
|
|
|
|
# Append any errors to the config.log.
|
|
|
|
cat conftest.err 1>&AS_MESSAGE_LOG_FD
|
|
|
|
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
|
|
|
|
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
|
|
|
|
if diff conftest.exp conftest.er2 >/dev/null; then
|
|
|
|
$2=yes
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
$2=yes
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
$rm conftest*
|
|
|
|
LDFLAGS="$save_LDFLAGS"
|
|
|
|
])
|
|
|
|
|
|
|
|
if test x"[$]$2" = xyes; then
|
|
|
|
ifelse([$4], , :, [$4])
|
|
|
|
else
|
|
|
|
ifelse([$5], , :, [$5])
|
|
|
|
fi
|
|
|
|
])# AC_LIBTOOL_LINKER_OPTION
|
|
|
|
|
|
|
|
|
|
|
|
# AC_LIBTOOL_SYS_MAX_CMD_LEN
|
|
|
|
# --------------------------
|
|
|
|
AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
|
|
|
|
[# find the maximum length of command line arguments
|
|
|
|
AC_MSG_CHECKING([the maximum length of command line arguments])
|
|
|
|
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
|
|
|
i=0
|
|
|
|
teststring="ABCD"
|
|
|
|
|
|
|
|
case $build_os in
|
|
|
|
msdosdjgpp*)
|
|
|
|
# On DJGPP, this test can blow up pretty badly due to problems in libc
|
|
|
|
# (any single argument exceeding 2000 bytes causes a buffer overrun
|
|
|
|
# during glob expansion). Even if it were fixed, the result of this
|
|
|
|
# check would be larger than it should be.
|
|
|
|
lt_cv_sys_max_cmd_len=12288; # 12K is about right
|
|
|
|
;;
|
|
|
|
|
|
|
|
gnu*)
|
|
|
|
# Under GNU Hurd, this test is not required because there is
|
|
|
|
# no limit to the length of command line arguments.
|
|
|
|
# Libtool will interpret -1 as no limit whatsoever
|
|
|
|
lt_cv_sys_max_cmd_len=-1;
|
|
|
|
;;
|
|
|
|
|
|
|
|
cygwin* | mingw*)
|
|
|
|
# On Win9x/ME, this test blows up -- it succeeds, but takes
|
|
|
|
# about 5 minutes as the teststring grows exponentially.
|
|
|
|
# Worse, since 9x/ME are not pre-emptively multitasking,
|
|
|
|
# you end up with a "frozen" computer, even though |