Imported Upstream version 2.4.3
This commit is contained in:
commit
26fb71b504
446 changed files with 148951 additions and 0 deletions
725
m4/ax_create_stdint_h.m4
Normal file
725
m4/ax_create_stdint_h.m4
Normal file
|
|
@ -0,0 +1,725 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_create_stdint_h.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CREATE_STDINT_H [( HEADER-TO-GENERATE [, HEDERS-TO-CHECK])]
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the
|
||||
# existence of an include file <stdint.h> that defines a set of typedefs,
|
||||
# especially uint8_t,int32_t,uintptr_t. Many older installations will not
|
||||
# provide this file, but some will have the very same definitions in
|
||||
# <inttypes.h>. In other enviroments we can use the inet-types in
|
||||
# <sys/types.h> which would define the typedefs int8_t and u_int8_t
|
||||
# respectivly.
|
||||
#
|
||||
# This macros will create a local "_stdint.h" or the headerfile given as
|
||||
# an argument. In many cases that file will just "#include <stdint.h>" or
|
||||
# "#include <inttypes.h>", while in other environments it will provide the
|
||||
# set of basic 'stdint's definitions/typedefs:
|
||||
#
|
||||
# int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,intptr_t,uintptr_t
|
||||
# int_least32_t.. int_fast32_t.. intmax_t
|
||||
#
|
||||
# which may or may not rely on the definitions of other files, or using
|
||||
# the AC_CHECK_SIZEOF macro to determine the actual sizeof each type.
|
||||
#
|
||||
# if your header files require the stdint-types you will want to create an
|
||||
# installable file mylib-int.h that all your other installable header may
|
||||
# include. So if you have a library package named "mylib", just use
|
||||
#
|
||||
# AX_CREATE_STDINT_H(mylib-int.h)
|
||||
#
|
||||
# in configure.ac and go to install that very header file in Makefile.am
|
||||
# along with the other headers (mylib.h) - and the mylib-specific headers
|
||||
# can simply use "#include <mylib-int.h>" to obtain the stdint-types.
|
||||
#
|
||||
# Remember, if the system already had a valid <stdint.h>, the generated
|
||||
# file will include it directly. No need for fuzzy HAVE_STDINT_H things...
|
||||
# (oops, GCC 4.2.x has deliberatly disabled its stdint.h for non-c99
|
||||
# compilation and the c99-mode is not the default. Therefore this macro
|
||||
# will not use the compiler's stdint.h - please complain to the GCC
|
||||
# developers).
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
AC_DEFUN([AX_CHECK_DATA_MODEL],[
|
||||
AC_CHECK_SIZEOF(char)
|
||||
AC_CHECK_SIZEOF(short)
|
||||
AC_CHECK_SIZEOF(int)
|
||||
AC_CHECK_SIZEOF(long)
|
||||
AC_CHECK_SIZEOF(void*)
|
||||
ac_cv_char_data_model=""
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char"
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short"
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int"
|
||||
ac_cv_long_data_model=""
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int"
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long"
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp"
|
||||
AC_MSG_CHECKING([data model])
|
||||
case "$ac_cv_char_data_model/$ac_cv_long_data_model" in
|
||||
122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;;
|
||||
122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;;
|
||||
122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;;
|
||||
124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;;
|
||||
124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;;
|
||||
124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;;
|
||||
124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;;
|
||||
128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;;
|
||||
128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;;
|
||||
222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;;
|
||||
333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;;
|
||||
444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;;
|
||||
666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;;
|
||||
888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;;
|
||||
222/*|333/*|444/*|666/*|888/*) :
|
||||
ac_cv_data_model="iDSP" ; n="unusual dsptype" ;;
|
||||
*) ac_cv_data_model="none" ; n="very unusual model" ;;
|
||||
esac
|
||||
AC_MSG_RESULT([$ac_cv_data_model ($ac_cv_long_data_model, $n)])
|
||||
])
|
||||
|
||||
dnl AX_CHECK_HEADER_STDINT_X([HEADERLIST][,ACTION-IF])
|
||||
AC_DEFUN([AX_CHECK_HEADER_STDINT_X],[
|
||||
AC_CACHE_CHECK([for stdint uintptr_t], [ac_cv_header_stdint_x],[
|
||||
ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h)
|
||||
AC_MSG_RESULT([(..)])
|
||||
for i in m4_ifval([$1],[$1],[stdint.h inttypes.h sys/inttypes.h sys/types.h])
|
||||
do
|
||||
unset ac_cv_type_uintptr_t
|
||||
unset ac_cv_type_uint64_t
|
||||
AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>])
|
||||
AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>])
|
||||
m4_ifvaln([$2],[$2]) break
|
||||
done
|
||||
AC_MSG_CHECKING([for stdint uintptr_t])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CHECK_HEADER_STDINT_O],[
|
||||
AC_CACHE_CHECK([for stdint uint32_t], [ac_cv_header_stdint_o],[
|
||||
ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h)
|
||||
AC_MSG_RESULT([(..)])
|
||||
for i in m4_ifval([$1],[$1],[inttypes.h sys/inttypes.h sys/types.h stdint.h])
|
||||
do
|
||||
unset ac_cv_type_uint32_t
|
||||
unset ac_cv_type_uint64_t
|
||||
AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>])
|
||||
AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>])
|
||||
m4_ifvaln([$2],[$2]) break
|
||||
break;
|
||||
done
|
||||
AC_MSG_CHECKING([for stdint uint32_t])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CHECK_HEADER_STDINT_U],[
|
||||
AC_CACHE_CHECK([for stdint u_int32_t], [ac_cv_header_stdint_u],[
|
||||
ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h)
|
||||
AC_MSG_RESULT([(..)])
|
||||
for i in m4_ifval([$1],[$1],[sys/types.h inttypes.h sys/inttypes.h]) ; 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],continue,[#include <$i>])
|
||||
AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>])
|
||||
m4_ifvaln([$2],[$2]) break
|
||||
break;
|
||||
done
|
||||
AC_MSG_CHECKING([for stdint u_int32_t])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CREATE_STDINT_H],
|
||||
[# ------ AX CREATE STDINT H -------------------------------------
|
||||
AC_MSG_CHECKING([for stdint types])
|
||||
ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)`
|
||||
# try to shortcircuit - if the default include path of the compiler
|
||||
# can find a "stdint.h" header then we assume that all compilers can.
|
||||
AC_CACHE_VAL([ac_cv_header_stdint_t],[
|
||||
old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS=""
|
||||
old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS=""
|
||||
old_CFLAGS="$CFLAGS" ; CFLAGS=""
|
||||
AC_TRY_COMPILE([#include <stdint.h>],[int_least32_t v = 0;],
|
||||
[ac_cv_stdint_result="(assuming C99 compatible system)"
|
||||
ac_cv_header_stdint_t="stdint.h"; ],
|
||||
[ac_cv_header_stdint_t=""])
|
||||
if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then
|
||||
CFLAGS="-std=c99"
|
||||
AC_TRY_COMPILE([#include <stdint.h>],[int_least32_t v = 0;],
|
||||
[AC_MSG_WARN(your GCC compiler has a defunct stdint.h for its default-mode)])
|
||||
fi
|
||||
CXXFLAGS="$old_CXXFLAGS"
|
||||
CPPFLAGS="$old_CPPFLAGS"
|
||||
CFLAGS="$old_CFLAGS" ])
|
||||
|
||||
v="... $ac_cv_header_stdint_h"
|
||||
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?)])
|
||||
elif test "_$ac_cv_header_stdint_t" = "_" ; then
|
||||
AC_MSG_RESULT([(putting them into $ac_stdint_h)$v])
|
||||
else
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_t"
|
||||
AC_MSG_RESULT([$ac_cv_header_stdint (shortcircuit)])
|
||||
fi
|
||||
|
||||
if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit..
|
||||
|
||||
dnl .....intro message done, now do a few system checks.....
|
||||
dnl btw, all old CHECK_TYPE macros do automatically "DEFINE" a type,
|
||||
dnl therefore we use the autoconf implementation detail CHECK_TYPE_NEW
|
||||
dnl instead that is triggered with 3 or more arguments (see types.m4)
|
||||
|
||||
inttype_headers=`echo $2 | sed -e 's/,/ /g'`
|
||||
|
||||
ac_cv_stdint_result="(no helpful system typedefs seen)"
|
||||
AX_CHECK_HEADER_STDINT_X(dnl
|
||||
stdint.h inttypes.h sys/inttypes.h $inttype_headers,
|
||||
ac_cv_stdint_result="(seen uintptr_t$and64 in $i)")
|
||||
|
||||
if test "_$ac_cv_header_stdint_x" = "_" ; then
|
||||
AX_CHECK_HEADER_STDINT_O(dnl,
|
||||
inttypes.h sys/inttypes.h stdint.h $inttype_headers,
|
||||
ac_cv_stdint_result="(seen uint32_t$and64 in $i)")
|
||||
fi
|
||||
|
||||
if test "_$ac_cv_header_stdint_x" = "_" ; then
|
||||
if test "_$ac_cv_header_stdint_o" = "_" ; then
|
||||
AX_CHECK_HEADER_STDINT_U(dnl,
|
||||
sys/types.h inttypes.h sys/inttypes.h $inttype_headers,
|
||||
ac_cv_stdint_result="(seen u_int32_t$and64 in $i)")
|
||||
fi fi
|
||||
|
||||
dnl if there was no good C99 header file, do some typedef checks...
|
||||
if test "_$ac_cv_header_stdint_x" = "_" ; then
|
||||
AC_MSG_CHECKING([for stdint datatype model])
|
||||
AC_MSG_RESULT([(..)])
|
||||
AX_CHECK_DATA_MODEL
|
||||
fi
|
||||
|
||||
if test "_$ac_cv_header_stdint_x" != "_" ; then
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_x"
|
||||
elif test "_$ac_cv_header_stdint_o" != "_" ; then
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_o"
|
||||
elif test "_$ac_cv_header_stdint_u" != "_" ; then
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_u"
|
||||
else
|
||||
ac_cv_header_stdint="stddef.h"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for extra inttypes in chosen header])
|
||||
AC_MSG_RESULT([($ac_cv_header_stdint)])
|
||||
dnl see if int_least and int_fast types are present in _this_ header.
|
||||
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>])
|
||||
AC_CHECK_TYPE(intmax_t,,,[#include <$ac_cv_header_stdint>])
|
||||
|
||||
fi # shortcircut to system "stdint.h"
|
||||
# ------------------ PREPARE VARIABLES ------------------------------
|
||||
if test "$GCC" = "yes" ; then
|
||||
ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1`
|
||||
else
|
||||
ac_cv_stdint_message="using $CC"
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT([make use of $ac_cv_header_stdint in $ac_stdint_h dnl
|
||||
$ac_cv_stdint_result])
|
||||
|
||||
dnl -----------------------------------------------------------------
|
||||
# ----------------- DONE inttypes.h checks START header -------------
|
||||
AC_CONFIG_COMMANDS([$ac_stdint_h],[
|
||||
AC_MSG_NOTICE(creating $ac_stdint_h : $_ac_stdint_h)
|
||||
ac_stdint=$tmp/_stdint.h
|
||||
|
||||
echo "#ifndef" $_ac_stdint_h >$ac_stdint
|
||||
echo "#define" $_ac_stdint_h "1" >>$ac_stdint
|
||||
echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint
|
||||
echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint
|
||||
echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_t" != "_" ; then
|
||||
echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint
|
||||
echo "#include <stdint.h>" >>$ac_stdint
|
||||
echo "#endif" >>$ac_stdint
|
||||
echo "#endif" >>$ac_stdint
|
||||
else
|
||||
|
||||
cat >>$ac_stdint <<STDINT_EOF
|
||||
|
||||
/* ................... shortcircuit part ........................... */
|
||||
|
||||
#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#include <stddef.h>
|
||||
|
||||
/* .................... configured part ............................ */
|
||||
|
||||
STDINT_EOF
|
||||
|
||||
echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_x" != "_" ; then
|
||||
ac_header="$ac_cv_header_stdint_x"
|
||||
echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint
|
||||
fi
|
||||
|
||||
echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_o" != "_" ; then
|
||||
ac_header="$ac_cv_header_stdint_o"
|
||||
echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint
|
||||
fi
|
||||
|
||||
echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_u" != "_" ; then
|
||||
ac_header="$ac_cv_header_stdint_u"
|
||||
echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint
|
||||
fi
|
||||
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then
|
||||
echo "#include <$ac_header>" >>$ac_stdint
|
||||
echo "" >>$ac_stdint
|
||||
fi fi
|
||||
|
||||
echo "/* which 64bit typedef has been found */" >>$ac_stdint
|
||||
if test "$ac_cv_type_uint64_t" = "yes" ; then
|
||||
echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint
|
||||
fi
|
||||
if test "$ac_cv_type_u_int64_t" = "yes" ; then
|
||||
echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
echo "/* which type model has been detected */" >>$ac_stdint
|
||||
if test "_$ac_cv_char_data_model" != "_" ; then
|
||||
echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint
|
||||
echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint
|
||||
echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint
|
||||
fi
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
echo "/* whether int_least types were detected */" >>$ac_stdint
|
||||
if test "$ac_cv_type_int_least32_t" = "yes"; then
|
||||
echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "/* whether int_fast types were detected */" >>$ac_stdint
|
||||
if test "$ac_cv_type_int_fast32_t" = "yes"; then
|
||||
echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "/* whether intmax_t type was detected */" >>$ac_stdint
|
||||
if test "$ac_cv_type_intmax_t" = "yes"; then
|
||||
echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
cat >>$ac_stdint <<STDINT_EOF
|
||||
/* .................... detections part ............................ */
|
||||
|
||||
/* whether we need to define bitspecific types from compiler base types */
|
||||
#ifndef _STDINT_HEADER_INTPTR
|
||||
#ifndef _STDINT_HEADER_UINT32
|
||||
#ifndef _STDINT_HEADER_U_INT32
|
||||
#define _STDINT_NEED_INT_MODEL_T
|
||||
#else
|
||||
#define _STDINT_HAVE_U_INT_TYPES
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_HAVE_U_INT_TYPES
|
||||
#undef _STDINT_NEED_INT_MODEL_T
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_CHAR_MODEL
|
||||
#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124
|
||||
#ifndef _STDINT_BYTE_MODEL
|
||||
#define _STDINT_BYTE_MODEL 12
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _STDINT_HAVE_INT_LEAST32_T
|
||||
#define _STDINT_NEED_INT_LEAST_T
|
||||
#endif
|
||||
|
||||
#ifndef _STDINT_HAVE_INT_FAST32_T
|
||||
#define _STDINT_NEED_INT_FAST_T
|
||||
#endif
|
||||
|
||||
#ifndef _STDINT_HEADER_INTPTR
|
||||
#define _STDINT_NEED_INTPTR_T
|
||||
#ifndef _STDINT_HAVE_INTMAX_T
|
||||
#define _STDINT_NEED_INTMAX_T
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* .................... definition part ............................ */
|
||||
|
||||
/* some system headers have good uint64_t */
|
||||
#ifndef _HAVE_UINT64_T
|
||||
#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
typedef u_int64_t uint64_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _HAVE_UINT64_T
|
||||
/* .. here are some common heuristics using compiler runtime specifics */
|
||||
#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L
|
||||
#define _HAVE_UINT64_T
|
||||
#define _HAVE_LONGLONG_UINT64_T
|
||||
typedef long long int64_t;
|
||||
typedef unsigned long long uint64_t;
|
||||
|
||||
#elif !defined __STRICT_ANSI__
|
||||
#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
|
||||
#define _HAVE_UINT64_T
|
||||
typedef __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
|
||||
#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
|
||||
/* note: all ELF-systems seem to have loff-support which needs 64-bit */
|
||||
#if !defined _NO_LONGLONG
|
||||
#define _HAVE_UINT64_T
|
||||
#define _HAVE_LONGLONG_UINT64_T
|
||||
typedef long long int64_t;
|
||||
typedef unsigned long long uint64_t;
|
||||
#endif
|
||||
|
||||
#elif defined __alpha || (defined __mips && defined _ABIN32)
|
||||
#if !defined _NO_LONGLONG
|
||||
typedef long int64_t;
|
||||
typedef unsigned long uint64_t;
|
||||
#endif
|
||||
/* compiler/cpu type to define int64_t */
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined _STDINT_HAVE_U_INT_TYPES
|
||||
/* 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;
|
||||
|
||||
/* glibc compatibility */
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_NEED_INT_MODEL_T
|
||||
/* we must guess all the basic types. Apart from byte-adressable system, */
|
||||
/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */
|
||||
/* (btw, those nibble-addressable systems are way off, or so we assume) */
|
||||
|
||||
dnl /* have a look at "64bit and data size neutrality" at */
|
||||
dnl /* http://unix.org/version2/whatsnew/login_64bit.html */
|
||||
dnl /* (the shorthand "ILP" types always have a "P" part) */
|
||||
|
||||
#if defined _STDINT_BYTE_MODEL
|
||||
#if _STDINT_LONG_MODEL+0 == 242
|
||||
/* 2:4:2 = IP16 = 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
|
||||
#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444
|
||||
/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */
|
||||
/* 4:4:4 = ILP32 = 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
|
||||
#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488
|
||||
/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */
|
||||
/* 4:8:8 = LP64 = 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
|
||||
/* this system has a "long" of 64bit */
|
||||
#ifndef _HAVE_UINT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
typedef unsigned long uint64_t;
|
||||
typedef long int64_t;
|
||||
#endif
|
||||
#elif _STDINT_LONG_MODEL+0 == 448
|
||||
/* LLP64 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
|
||||
/* assuming the system has a "long long" */
|
||||
#ifndef _HAVE_UINT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
#define _HAVE_LONGLONG_UINT64_T
|
||||
typedef unsigned long long uint64_t;
|
||||
typedef long long int64_t;
|
||||
#endif
|
||||
#else
|
||||
#define _STDINT_NO_INT32_T
|
||||
#endif
|
||||
#else
|
||||
#define _STDINT_NO_INT8_T
|
||||
#define _STDINT_NO_INT32_T
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* quote from SunOS-5.8 sys/inttypes.h:
|
||||
* Use at your own risk. As of February 1996, the committee is squarely
|
||||
* behind the fixed sized types; the "least" and "fast" types are still being
|
||||
* discussed. The probability that the "fast" types may be removed before
|
||||
* the standard is finalized is high enough that they are not currently
|
||||
* implemented.
|
||||
*/
|
||||
|
||||
#if defined _STDINT_NEED_INT_LEAST_T
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int32_t int_least32_t;
|
||||
#ifdef _HAVE_UINT64_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_UINT64_T
|
||||
typedef uint64_t uint_least64_t;
|
||||
#endif
|
||||
/* least types */
|
||||
#endif
|
||||
|
||||
#if defined _STDINT_NEED_INT_FAST_T
|
||||
typedef int8_t int_fast8_t;
|
||||
typedef int int_fast16_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef int64_t int_fast64_t;
|
||||
#endif
|
||||
|
||||
typedef uint8_t uint_fast8_t;
|
||||
typedef unsigned uint_fast16_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef uint64_t uint_fast64_t;
|
||||
#endif
|
||||
/* fast types */
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_NEED_INTMAX_T
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
#else
|
||||
typedef long intmax_t;
|
||||
typedef unsigned long uintmax_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_NEED_INTPTR_T
|
||||
#ifndef __intptr_t_defined
|
||||
#define __intptr_t_defined
|
||||
/* we encourage using "long" to store pointer values, never use "int" ! */
|
||||
#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484
|
||||
typedef unsigned int uintptr_t;
|
||||
typedef int intptr_t;
|
||||
#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444
|
||||
typedef unsigned long uintptr_t;
|
||||
typedef long intptr_t;
|
||||
#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T
|
||||
typedef uint64_t uintptr_t;
|
||||
typedef int64_t intptr_t;
|
||||
#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */
|
||||
typedef unsigned long uintptr_t;
|
||||
typedef long intptr_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* The ISO C99 standard specifies that in C++ implementations these
|
||||
should only be defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
|
||||
#ifndef UINT32_C
|
||||
|
||||
/* Signed. */
|
||||
# define INT8_C(c) c
|
||||
# define INT16_C(c) c
|
||||
# define INT32_C(c) c
|
||||
# ifdef _HAVE_LONGLONG_UINT64_T
|
||||
# define INT64_C(c) c ## L
|
||||
# else
|
||||
# define INT64_C(c) c ## LL
|
||||
# endif
|
||||
|
||||
/* Unsigned. */
|
||||
# define UINT8_C(c) c ## U
|
||||
# define UINT16_C(c) c ## U
|
||||
# define UINT32_C(c) c ## U
|
||||
# ifdef _HAVE_LONGLONG_UINT64_T
|
||||
# define UINT64_C(c) c ## UL
|
||||
# else
|
||||
# define UINT64_C(c) c ## ULL
|
||||
# endif
|
||||
|
||||
/* Maximal type. */
|
||||
# ifdef _HAVE_LONGLONG_UINT64_T
|
||||
# define INTMAX_C(c) c ## L
|
||||
# define UINTMAX_C(c) c ## UL
|
||||
# else
|
||||
# define INTMAX_C(c) c ## LL
|
||||
# define UINTMAX_C(c) c ## ULL
|
||||
# endif
|
||||
|
||||
/* literalnumbers */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* These limits are merily those of a two complement byte-oriented system */
|
||||
|
||||
/* Minimum of signed integral types. */
|
||||
# define INT8_MIN (-128)
|
||||
# define INT16_MIN (-32767-1)
|
||||
# define INT32_MIN (-2147483647-1)
|
||||
# define INT64_MIN (-__INT64_C(9223372036854775807)-1)
|
||||
/* Maximum of signed integral types. */
|
||||
# define INT8_MAX (127)
|
||||
# define INT16_MAX (32767)
|
||||
# define INT32_MAX (2147483647)
|
||||
# define INT64_MAX (__INT64_C(9223372036854775807))
|
||||
|
||||
/* Maximum of unsigned integral types. */
|
||||
# define UINT8_MAX (255)
|
||||
# define UINT16_MAX (65535)
|
||||
# define UINT32_MAX (4294967295U)
|
||||
# define UINT64_MAX (__UINT64_C(18446744073709551615))
|
||||
|
||||
/* Minimum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MIN INT8_MIN
|
||||
# define INT_LEAST16_MIN INT16_MIN
|
||||
# define INT_LEAST32_MIN INT32_MIN
|
||||
# define INT_LEAST64_MIN INT64_MIN
|
||||
/* Maximum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MAX INT8_MAX
|
||||
# define INT_LEAST16_MAX INT16_MAX
|
||||
# define INT_LEAST32_MAX INT32_MAX
|
||||
# define INT_LEAST64_MAX INT64_MAX
|
||||
|
||||
/* Maximum of unsigned integral types having a minimum size. */
|
||||
# define UINT_LEAST8_MAX UINT8_MAX
|
||||
# define UINT_LEAST16_MAX UINT16_MAX
|
||||
# define UINT_LEAST32_MAX UINT32_MAX
|
||||
# define UINT_LEAST64_MAX UINT64_MAX
|
||||
|
||||
/* shortcircuit*/
|
||||
#endif
|
||||
/* once */
|
||||
#endif
|
||||
#endif
|
||||
STDINT_EOF
|
||||
fi
|
||||
if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then
|
||||
AC_MSG_NOTICE([$ac_stdint_h is unchanged])
|
||||
else
|
||||
ac_dir=`AS_DIRNAME(["$ac_stdint_h"])`
|
||||
AS_MKDIR_P(["$ac_dir"])
|
||||
rm -f $ac_stdint_h
|
||||
mv $ac_stdint $ac_stdint_h
|
||||
fi
|
||||
],[# variables for create stdint.h replacement
|
||||
PACKAGE="$PACKAGE"
|
||||
VERSION="$VERSION"
|
||||
ac_stdint_h="$ac_stdint_h"
|
||||
_ac_stdint_h=AS_TR_CPP(_$PACKAGE-$ac_stdint_h)
|
||||
ac_cv_stdint_message="$ac_cv_stdint_message"
|
||||
ac_cv_header_stdint_t="$ac_cv_header_stdint_t"
|
||||
ac_cv_header_stdint_x="$ac_cv_header_stdint_x"
|
||||
ac_cv_header_stdint_o="$ac_cv_header_stdint_o"
|
||||
ac_cv_header_stdint_u="$ac_cv_header_stdint_u"
|
||||
ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
|
||||
ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model"
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model"
|
||||
ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
|
||||
ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
|
||||
ac_cv_type_intmax_t="$ac_cv_type_intmax_t"
|
||||
])
|
||||
])
|
||||
7376
m4/libtool.m4
vendored
Normal file
7376
m4/libtool.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
368
m4/ltoptions.m4
vendored
Normal file
368
m4/ltoptions.m4
vendored
Normal file
|
|
@ -0,0 +1,368 @@
|
|||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# 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 6 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [0], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the `shared' and
|
||||
# `disable-shared' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the `static' and
|
||||
# `disable-static' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the `fast-install'
|
||||
# and `disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_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=m4_default([$1], [default])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
||||
123
m4/ltsugar.m4
vendored
Normal file
123
m4/ltsugar.m4
vendored
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# 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 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
||||
23
m4/ltversion.m4
vendored
Normal file
23
m4/ltversion.m4
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Generated from ltversion.in.
|
||||
|
||||
# serial 3012 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.2.6])
|
||||
m4_define([LT_PACKAGE_REVISION], [1.3012])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.2.6'
|
||||
macro_revision='1.3012'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
92
m4/lt~obsolete.m4
vendored
Normal file
92
m4/lt~obsolete.m4
vendored
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# 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 4 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
9
m4/nut_arg_with.m4
Normal file
9
m4/nut_arg_with.m4
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
dnl simplified declaration of some feature options
|
||||
|
||||
AC_DEFUN([NUT_ARG_WITH],
|
||||
[ AC_ARG_WITH($1,
|
||||
AC_HELP_STRING([--with-$1], [$2 ($3)]),
|
||||
[nut_with_$1="${withval}"],
|
||||
[nut_with_$1="$3"]
|
||||
)
|
||||
])
|
||||
27
m4/nut_check_ipv6.m4
Normal file
27
m4/nut_check_ipv6.m4
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
dnl Check for various features required for IPv6 support. Define a
|
||||
dnl preprocessor symbol for each individual feature (HAVE_GETADDRINFO,
|
||||
dnl HAVE_FREEADDRINFO, HAVE_STRUCT_ADDRINFO, HAVE_SOCKADDR_STORAGE,
|
||||
dnl HAVE_SOCKADDR_IN6, HAVE_IN6_ADDR). Also set the shell variable nut_have_ipv6=yes
|
||||
dnl if all the required features are present. Set nut_have_ipv6=no otherwise.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_IPV6],
|
||||
[
|
||||
if test -z "${nut_check_ipv6_seen}"; then
|
||||
nut_check_ipv6_seen=yes
|
||||
|
||||
AC_CHECK_FUNCS([getaddrinfo freeaddrinfo], [nut_have_ipv6=yes], [nut_have_ipv6=no])
|
||||
|
||||
AC_CHECK_TYPES([struct addrinfo],
|
||||
[], [nut_have_ipv6=no], [#include <netdb.h>])
|
||||
|
||||
AC_CHECK_TYPES([struct sockaddr_storage],
|
||||
[], [nut_have_ipv6=no], [#include <sys/socket.h>])
|
||||
|
||||
AC_CHECK_TYPES([struct sockaddr_in6, struct in6_addr],
|
||||
[], [nut_have_ipv6=no], [#include <netinet/in.h>])
|
||||
|
||||
if test "${nut_have_ipv6}" = "yes"; then
|
||||
AC_DEFINE(HAVE_IPV6, 1, [Define to enable IPv6 support])
|
||||
fi
|
||||
fi
|
||||
])
|
||||
73
m4/nut_check_libgd.m4
Normal file
73
m4/nut_check_libgd.m4
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
dnl Check for LIBGD compiler flags. On success, set nut_have_libgd="yes"
|
||||
dnl and set LIBGD_CFLAGS and LIBGD_LDFLAGS. On failure, set
|
||||
dnl nut_have_libgd="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBGD],
|
||||
[
|
||||
if test -z "${nut_have_libgd_seen}"; then
|
||||
nut_have_libgd_seen=yes
|
||||
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
LIBS_ORIG="${LIBS}"
|
||||
|
||||
dnl Initial defaults. These are only used if gdlib-config is
|
||||
dnl unusable and the user fails to pass better values in --with
|
||||
dnl arguments
|
||||
CFLAGS=""
|
||||
LDFLAGS="-L/usr/X11R6/lib"
|
||||
LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11"
|
||||
|
||||
AC_MSG_CHECKING(for gd version via gdlib-config)
|
||||
GD_VERSION=`gdlib-config --version 2>/dev/null`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${GD_VERSION})
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
GD_VERSION="unknown"
|
||||
fi
|
||||
|
||||
case "${GD_VERSION}" in
|
||||
unknown)
|
||||
;;
|
||||
2.0.5 | 2.0.6 | 2.0.7)
|
||||
AC_MSG_WARN([[gd ${GD_VERSION} detected, unable to use gdlib-config script]])
|
||||
AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]])
|
||||
;;
|
||||
*)
|
||||
CFLAGS="`gdlib-config --includes`"
|
||||
LDFLAGS="`gdlib-config --ldflags`"
|
||||
LIBS="`gdlib-config --libs`"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Now allow overriding gd settings if the user knows best
|
||||
AC_MSG_CHECKING(for gd include flags)
|
||||
AC_ARG_WITH(gd-includes, [
|
||||
AC_HELP_STRING([--with-gd-includes=CFLAGS], [include flags for the gd library])
|
||||
], [CFLAGS="${withval}"], [])
|
||||
AC_MSG_RESULT([${CFLAGS}])
|
||||
|
||||
AC_MSG_CHECKING(for gd library flags)
|
||||
AC_ARG_WITH(gd-libs, [
|
||||
AC_HELP_STRING([--with-gd-libs=LDFLAGS], [linker flags for the gd library])
|
||||
], [LDFLAGS="${withval}" LIBS=""], [])
|
||||
AC_MSG_RESULT([${LDFLAGS} ${LIBS}])
|
||||
|
||||
dnl check if gd is usable
|
||||
AC_CHECK_HEADERS(gd.h gdfontmb.h, [nut_have_libgd=yes], [nut_have_libgd=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_SEARCH_LIBS(gdImagePng, gd, [], [nut_have_libgd=no])
|
||||
|
||||
if test "${nut_have_libgd}" = "yes"; then
|
||||
AC_DEFINE(HAVE_LIBGD, 1, [Define if you have Boutell's libgd installed])
|
||||
LIBGD_CFLAGS="${CFLAGS}"
|
||||
LIBGD_LDFLAGS="${LDFLAGS} ${LIBS}"
|
||||
fi
|
||||
|
||||
dnl put back the original versions
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
LIBS="${LIBS_ORIG}"
|
||||
fi
|
||||
])
|
||||
138
m4/nut_check_libhal.m4
Normal file
138
m4/nut_check_libhal.m4
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
dnl Check for LIBHAL compiler flags. On success, set nut_have_libhal="yes"
|
||||
dnl and set LIBHAL_CFLAGS and LIBHAL_LDFLAGS. On failure, set
|
||||
dnl nut_have_libhal="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
dnl NUT requires HAL version 0.5.8 at least
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBHAL],
|
||||
[
|
||||
if test -z "${nut_have_libhal_seen}"; then
|
||||
nut_have_libhal_seen=yes
|
||||
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
|
||||
AC_MSG_CHECKING(for libhal version via pkg-config (0.5.8 minimum required))
|
||||
HAL_VERSION=`pkg-config --silence-errors --modversion hal`
|
||||
if test "$?" = "0"; then
|
||||
if pkg-config --atleast-version=0.5.8 hal; then
|
||||
AC_MSG_RESULT(${HAL_VERSION} found)
|
||||
nut_have_libhal=yes
|
||||
|
||||
dnl also get cflags from glib-2.0 to workaround a bug in dbus-glib
|
||||
AC_MSG_CHECKING(for libhal cflags via pkg-config)
|
||||
CFLAGS=`pkg-config --silence-errors --cflags hal dbus-glib-1`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${CFLAGS})
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
nut_have_libhal=no
|
||||
fi
|
||||
|
||||
dnl also get libs from glib-2.0 to workaround a bug in dbus-glib
|
||||
AC_MSG_CHECKING(for libhal ldflags via pkg-config)
|
||||
LDFLAGS=`pkg-config --silence-errors --libs hal dbus-glib-1`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${LDFLAGS})
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
nut_have_libhal=no
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(${HAL_VERSION} is too old)
|
||||
nut_have_libhal=no
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
nut_have_libhal=check
|
||||
fi
|
||||
|
||||
dnl try again using defaults if pkg-config is not available
|
||||
if test "${nut_have_libhal}" = "check"; then
|
||||
CFLAGS="-DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include"
|
||||
LDFLAGS="-lhal -ldbus-1 -lpthread"
|
||||
|
||||
AC_CHECK_HEADERS(libhal.h, [nut_have_libhal=yes], [nut_have_libhal=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_CHECK_FUNCS(libhal_device_new_changeset, [], [nut_have_libhal=no])
|
||||
fi
|
||||
|
||||
if test "${nut_have_libhal}" = "yes"; then
|
||||
LIBHAL_CFLAGS="${CFLAGS}"
|
||||
LIBHAL_LDFLAGS="${LDFLAGS}"
|
||||
|
||||
dnl this will only work as of HAL 0.5.9
|
||||
AC_MSG_CHECKING(for libhal user via pkg-config)
|
||||
HAL_USER=`pkg-config --silence-errors --variable=haluser hal`
|
||||
if test -n "$HAL_USER"; then
|
||||
AC_MSG_RESULT(${HAL_USER})
|
||||
else
|
||||
HAL_USER="haldaemon"
|
||||
AC_MSG_RESULT(using default (${HAL_USER}))
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(HAL_USER, "${HAL_USER}", [HAL user])
|
||||
|
||||
dnl the device match key changed with HAL 0.5.11
|
||||
AC_MSG_CHECKING(for hal-${HAL_VERSION} device match key)
|
||||
HAL_DEVICE_MATCH_KEY=`pkg-config --silence-errors --atleast-version=0.5.11 hal`
|
||||
if test "$?" != "0"; then
|
||||
HAL_DEVICE_MATCH_KEY="info.bus"
|
||||
else
|
||||
HAL_DEVICE_MATCH_KEY="info.subsystem"
|
||||
fi
|
||||
AC_MSG_RESULT(${HAL_DEVICE_MATCH_KEY})
|
||||
AC_DEFINE_UNQUOTED(HAL_DEVICE_MATCH_KEY, "${HAL_DEVICE_MATCH_KEY}", [HAL device match key])
|
||||
|
||||
dnl Determine installation paths for callout and .fdi
|
||||
dnl As per HAL spec, §5 Callouts and §2 Device Information Files
|
||||
dnl - addon install path: $libdir/hal
|
||||
AC_MSG_CHECKING(for libhal Callouts path)
|
||||
HAL_CALLOUTS_PATH=`pkg-config --silence-errors --variable=libexecdir hal`
|
||||
if test -n "$HAL_CALLOUTS_PATH"; then
|
||||
AC_MSG_RESULT(${HAL_CALLOUTS_PATH})
|
||||
else
|
||||
# fallback to detecting the right path
|
||||
if (test -d "${libdir}/hal"); then
|
||||
# For Debian
|
||||
HAL_CALLOUTS_PATH="${libdir}/hal"
|
||||
AC_MSG_RESULT(${HAL_CALLOUTS_PATH})
|
||||
elif (test -d "/usr/libexec"); then
|
||||
# For RedHat
|
||||
HAL_CALLOUTS_PATH="${libexecdir}"
|
||||
AC_MSG_RESULT(${HAL_CALLOUTS_PATH})
|
||||
elif (test -d "/usr/lib/hal"); then
|
||||
# For OpenSUSE
|
||||
HAL_CALLOUTS_PATH="${libdir}/hal"
|
||||
AC_MSG_RESULT(${HAL_CALLOUTS_PATH})
|
||||
else
|
||||
# FIXME
|
||||
HAL_CALLOUTS_PATH="${libdir}/hal"
|
||||
AC_MSG_RESULT(using default (${HAL_CALLOUTS_PATH}))
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl - fdi install path: $datarootdir/hal/fdi/information/20thirdparty
|
||||
AC_MSG_CHECKING(for libhal Device Information path)
|
||||
HAL_FDI_PATH=`pkg-config --silence-errors --variable=hal_fdidir hal`
|
||||
if test -n "$HAL_FDI_PATH"; then
|
||||
HAL_FDI_PATH="${HAL_FDI_PATH}/information/20thirdparty"
|
||||
AC_MSG_RESULT(${HAL_FDI_PATH})
|
||||
else
|
||||
# seems supported everywhere
|
||||
HAL_FDI_PATH="${datarootdir}/hal/fdi/information/20thirdparty"
|
||||
AC_MSG_RESULT(${HAL_FDI_PATH})
|
||||
fi
|
||||
fi
|
||||
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
|
||||
dnl - test for g_timeout_add_seconds availability
|
||||
AC_MSG_CHECKING([if GLib is version 2.14.0 or newer])
|
||||
if pkg-config --silence-errors --atleast-version=2.14.0 glib-2.0; then
|
||||
AC_DEFINE(HAVE_GLIB_2_14, 1, [Define to 1 if GLib is version 2.14 or newer])
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
fi
|
||||
])
|
||||
51
m4/nut_check_libneon.m4
Normal file
51
m4/nut_check_libneon.m4
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
dnl Check for LIBNEON compiler flags. On success, set nut_have_neon="yes"
|
||||
dnl and set LIBNEON_CFLAGS and LIBNEON_LDFLAGS. On failure, set
|
||||
dnl nut_have_neon="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBNEON],
|
||||
[
|
||||
if test -z "${nut_have_neon_seen}"; then
|
||||
nut_have_neon_seen=yes
|
||||
|
||||
dnl save CFLAGS and LDFLAGS
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
|
||||
dnl See which version of the neon library (if any) is installed
|
||||
AC_MSG_CHECKING(for libneon version via pkg-config (0.25.0 minimum required))
|
||||
NEON_VERSION=`pkg-config --silence-errors --modversion neon`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${NEON_VERSION} found)
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for libneon cflags)
|
||||
AC_ARG_WITH(neon-includes, [
|
||||
AC_HELP_STRING([--with-neon-includes=CFLAGS], [include flags for the neon library])
|
||||
], [CFLAGS="${withval}"], [CFLAGS="`pkg-config --silence-errors --cflags neon`"])
|
||||
AC_MSG_RESULT([${CFLAGS}])
|
||||
|
||||
AC_MSG_CHECKING(for libneon ldflags)
|
||||
AC_ARG_WITH(neon-libs, [
|
||||
AC_HELP_STRING([--with-neon-libs=LDFLAGS], [linker flags for the neon library])
|
||||
], [LDFLAGS="${withval}"], [LDFLAGS="`pkg-config --silence-errors --libs neon`"])
|
||||
AC_MSG_RESULT([${LDFLAGS}])
|
||||
|
||||
dnl check if neon is usable
|
||||
AC_CHECK_HEADERS(ne_xmlreq.h, [nut_have_neon=yes], [nut_have_neon=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_CHECK_FUNCS(ne_xml_dispatch_request, [], [nut_have_neon=no])
|
||||
|
||||
if test "${nut_have_neon}" = "yes"; then
|
||||
dnl Check for connect timeout support in library (optional)
|
||||
AC_CHECK_FUNCS(ne_set_connect_timeout ne_sock_connect_timeout)
|
||||
LIBNEON_CFLAGS="${CFLAGS}"
|
||||
LIBNEON_LDFLAGS="${LDFLAGS}"
|
||||
fi
|
||||
|
||||
dnl restore original CFLAGS and LDFLAGS
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
fi
|
||||
])
|
||||
50
m4/nut_check_libnetsnmp.m4
Normal file
50
m4/nut_check_libnetsnmp.m4
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
dnl Check for LIBNETSNMP compiler flags. On success, set
|
||||
dnl nut_have_libnetsnmp="yes" and set LIBNETSNMP_CFLAGS and
|
||||
dnl LIBNETSNMP_LDFLAGS. On failure, set nut_have_libnetsnmp="no".
|
||||
dnl This macro can be run multiple times, but will do the checking only
|
||||
dnl once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBNETSNMP],
|
||||
[
|
||||
if test -z "${nut_have_libnetsnmp_seen}"; then
|
||||
nut_have_libnetsnmp_seen=yes
|
||||
|
||||
dnl save CFLAGS and LDFLAGS
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
|
||||
dnl See which version of the Net-SNMP library (if any) is installed
|
||||
AC_MSG_CHECKING(for Net-SNMP version via net-snmp-config)
|
||||
SNMP_VERSION=`net-snmp-config --version 2>/dev/null`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${SNMP_VERSION} found)
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for Net-SNMP cflags)
|
||||
AC_ARG_WITH(snmp-includes, [
|
||||
AC_HELP_STRING([--with-snmp-includes=CFLAGS], [include flags for the Net-SNMP library])
|
||||
], [CFLAGS="${withval}"], [CFLAGS="`net-snmp-config --cflags 2>/dev/null`"])
|
||||
AC_MSG_RESULT([${CFLAGS}])
|
||||
|
||||
AC_MSG_CHECKING(for Net-SNMP libs)
|
||||
AC_ARG_WITH(snmp-libs, [
|
||||
AC_HELP_STRING([--with-snmp-libs=LDFLAGS], [linker flags for the Net-SNMP library])
|
||||
], [LDFLAGS="${withval}"], [LDFLAGS="`net-snmp-config --libs 2>/dev/null`"])
|
||||
AC_MSG_RESULT([${LDFLAGS}])
|
||||
|
||||
dnl Check if the Net-SNMP library is usable
|
||||
AC_CHECK_HEADERS(net-snmp/net-snmp-config.h, [nut_have_libnetsnmp=yes], [nut_have_libnetsnmp=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_CHECK_FUNCS(init_snmp, [], [nut_have_libnetsnmp=no])
|
||||
|
||||
if test "${nut_have_libnetsnmp}" = "yes"; then
|
||||
LIBNETSNMP_CFLAGS="${CFLAGS}"
|
||||
LIBNETSNMP_LDFLAGS="${LDFLAGS}"
|
||||
fi
|
||||
|
||||
dnl restore original CFLAGS and LDFLAGS
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
fi
|
||||
])
|
||||
41
m4/nut_check_libpowerman.m4
Normal file
41
m4/nut_check_libpowerman.m4
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
dnl Check for LIBPOWERMAN compiler flags. On success, set nut_have_libpowerman="yes"
|
||||
dnl and set LIBPOWERMAN_CFLAGS and LIBPOWERMAN_LDFLAGS. On failure, set
|
||||
dnl nut_have_libpowerman="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBPOWERMAN],
|
||||
[
|
||||
if test -z "${nut_have_libpowerman_seen}"; then
|
||||
nut_have_libpowerman_seen=yes
|
||||
|
||||
dnl save CFLAGS and LDFLAGS
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
|
||||
AC_MSG_CHECKING(for libpowerman cflags)
|
||||
AC_ARG_WITH(powerman-includes, [
|
||||
AC_HELP_STRING([--with-powerman-includes=CFLAGS], [include flags for the libpowerman library])
|
||||
], [CFLAGS="${withval}"], [CFLAGS="`pkg-config --silence-errors --cflags libpowerman`"])
|
||||
AC_MSG_RESULT([${CFLAGS}])
|
||||
|
||||
AC_MSG_CHECKING(for libpowerman libs)
|
||||
AC_ARG_WITH(powerman-libs, [
|
||||
AC_HELP_STRING([--with-powerman-libs=LDFLAGS], [linker flags for the libpowerman library])
|
||||
], [LDFLAGS="${withval}"], [LDFLAGS="`pkg-config --silence-errors --libs libpowerman`"])
|
||||
AC_MSG_RESULT([${LDFLAGS}])
|
||||
|
||||
dnl check if libpowerman is usable
|
||||
AC_CHECK_HEADERS(libpowerman.h, [nut_have_libpowerman=yes], [nut_have_libpowerman=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_CHECK_FUNCS(pm_connect, [], [nut_have_libpowerman=no])
|
||||
|
||||
if test "${nut_have_libpowerman}" = "yes"; then
|
||||
LIBPOWERMAN_CFLAGS="${CFLAGS}"
|
||||
LIBPOWERMAN_LDFLAGS="${LDFLAGS}"
|
||||
fi
|
||||
|
||||
dnl restore original CFLAGS and LDFLAGS
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
|
||||
fi
|
||||
])
|
||||
54
m4/nut_check_libssl.m4
Normal file
54
m4/nut_check_libssl.m4
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
dnl Check for LIBSSL compiler flags. On success, set nut_have_libssl="yes"
|
||||
dnl and set LIBSSL_CFLAGS and LIBSSL_LDFLAGS. On failure, set
|
||||
dnl nut_have_libssl="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBSSL],
|
||||
[
|
||||
if test -z "${nut_have_libssl_seen}"; then
|
||||
nut_have_libssl_seen=yes
|
||||
|
||||
dnl save CFLAGS and LDFLAGS
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
|
||||
AC_MSG_CHECKING(for openssl version via pkg-config)
|
||||
OPENSSL_VERSION=`pkg-config --silence-errors --modversion openssl`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${OPENSSL_VERSION} found)
|
||||
CFLAGS="`pkg-config --silence-errors --cflags openssl`"
|
||||
LDFLAGS="`pkg-config --silence-errors --libs openssl`"
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
CFLAGS=""
|
||||
LDFLAGS="-lssl -lcrypto"
|
||||
fi
|
||||
|
||||
dnl allow overriding openssl settings if the user knows best
|
||||
AC_MSG_CHECKING(for openssl cflags)
|
||||
AC_ARG_WITH(ssl-includes, [
|
||||
AC_HELP_STRING([--with-ssl-includes=CFLAGS], [include flags for the OpenSSL library])
|
||||
], [CFLAGS="${withval}"], [])
|
||||
AC_MSG_RESULT([${CFLAGS}])
|
||||
|
||||
AC_MSG_CHECKING(for openssl ldflags)
|
||||
AC_ARG_WITH(ssl-libs, [
|
||||
AC_HELP_STRING([--with-ssl-libs=LDFLAGS], [linker flags for the OpenSSL library])
|
||||
], [LDFLAGS="${withval}"], [])
|
||||
AC_MSG_RESULT([${LDFLAGS}])
|
||||
|
||||
dnl check if openssl is usable
|
||||
AC_CHECK_HEADERS(openssl/ssl.h, [nut_have_libssl=yes], [nut_have_libssl=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_CHECK_FUNCS(SSL_library_init, [], [nut_have_libssl=no])
|
||||
|
||||
if test "${nut_have_libssl}" = "yes"; then
|
||||
AC_DEFINE(HAVE_SSL, 1, [Define to enable SSL development code])
|
||||
LIBSSL_CFLAGS="${CFLAGS}"
|
||||
LIBSSL_LDFLAGS="${LDFLAGS}"
|
||||
fi
|
||||
|
||||
dnl restore original CFLAGS and LDFLAGS
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
fi
|
||||
])
|
||||
62
m4/nut_check_libusb.m4
Normal file
62
m4/nut_check_libusb.m4
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
dnl Check for LIBUSB compiler flags. On success, set nut_have_libusb="yes"
|
||||
dnl and set LIBUSB_CFLAGS and LIBUSB_LDFLAGS. On failure, set
|
||||
dnl nut_have_libusb="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBUSB],
|
||||
[
|
||||
if test -z "${nut_have_libusb_seen}"; then
|
||||
nut_have_libusb_seen=yes
|
||||
|
||||
dnl save CFLAGS and LDFLAGS
|
||||
CFLAGS_ORIG="${CFLAGS}"
|
||||
LDFLAGS_ORIG="${LDFLAGS}"
|
||||
|
||||
AC_MSG_CHECKING(for libusb version via pkg-config)
|
||||
LIBUSB_VERSION=`pkg-config --silence-errors --modversion libusb`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${LIBUSB_VERSION} found)
|
||||
CFLAGS="`pkg-config --silence-errors --cflags libusb`"
|
||||
LDFLAGS="`pkg-config --silence-errors --libs libusb`"
|
||||
else
|
||||
AC_MSG_CHECKING(via libusb-config)
|
||||
LIBUSB_VERSION=`libusb-config --version 2>/dev/null`
|
||||
if test "$?" = "0"; then
|
||||
AC_MSG_RESULT(${LIBUSB_VERSION} found)
|
||||
CFLAGS="`libusb-config --cflags 2>/dev/null`"
|
||||
LDFLAGS="`libusb-config --libs 2>/dev/null`"
|
||||
else
|
||||
AC_MSG_RESULT(not found)
|
||||
CFLAGS=""
|
||||
LDFLAGS="-lusb"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for libusb cflags)
|
||||
AC_ARG_WITH(usb-includes, [
|
||||
AC_HELP_STRING([--with-usb-includes=CFLAGS], [include flags for the libusb library])
|
||||
], [CFLAGS="${withval}"], [])
|
||||
AC_MSG_RESULT([${CFLAGS}])
|
||||
|
||||
AC_MSG_CHECKING(for libusb ldflags)
|
||||
AC_ARG_WITH(usb-libs, [
|
||||
AC_HELP_STRING([--with-usb-libs=LDFLAGS], [linker flags for the libusb library])
|
||||
], [LDFLAGS="${withval}"], [])
|
||||
AC_MSG_RESULT([${LDFLAGS}])
|
||||
|
||||
dnl check if libusb is usable
|
||||
AC_CHECK_HEADERS(usb.h, [nut_have_libusb=yes], [nut_have_libusb=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_CHECK_FUNCS(usb_init, [], [nut_have_libusb=no])
|
||||
|
||||
if test "${nut_have_libusb}" = "yes"; then
|
||||
dnl Check for libusb "force driver unbind" availability
|
||||
AC_CHECK_FUNCS(usb_detach_kernel_driver_np)
|
||||
LIBUSB_CFLAGS="${CFLAGS}"
|
||||
LIBUSB_LDFLAGS="${LDFLAGS}"
|
||||
fi
|
||||
|
||||
dnl restore original CFLAGS and LDFLAGS
|
||||
CFLAGS="${CFLAGS_ORIG}"
|
||||
LDFLAGS="${LDFLAGS_ORIG}"
|
||||
fi
|
||||
])
|
||||
48
m4/nut_check_libwrap.m4
Normal file
48
m4/nut_check_libwrap.m4
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
dnl Check for LIBWRAP compiler flags. On success, set nut_have_libwrap="yes"
|
||||
dnl and set LIBWRAP_CFLAGS and LIBWRAP_LDFLAGS. On failure, set
|
||||
dnl nut_have_libwrap="no". This macro can be run multiple times, but will
|
||||
dnl do the checking only once.
|
||||
|
||||
AC_DEFUN([NUT_CHECK_LIBWRAP],
|
||||
[
|
||||
if test -z "${nut_have_libwrap_seen}"; then
|
||||
nut_have_libwrap_seen=yes
|
||||
|
||||
dnl save LIBS
|
||||
LIBS_ORIG="${LIBS}"
|
||||
LIBS=""
|
||||
|
||||
AC_CHECK_HEADERS(tcpd.h, [nut_have_libwrap=yes], [nut_have_libwrap=no], [AC_INCLUDES_DEFAULT])
|
||||
AC_SEARCH_LIBS(yp_get_default_domain, nsl, [], [nut_have_libwrap=no])
|
||||
|
||||
dnl The line below doesn't work on Solaris 10.
|
||||
dnl AC_SEARCH_LIBS(request_init, wrap, [], [nut_have_libwrap=no])
|
||||
AC_MSG_CHECKING(for library containing request_init)
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <tcpd.h>
|
||||
int allow_severity = 0, deny_severity = 0;
|
||||
]], [[ request_init(0); ]])], [
|
||||
AC_MSG_RESULT(none required)
|
||||
], [
|
||||
LIBS="${LIBS} -lwrap"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <tcpd.h>
|
||||
int allow_severity = 0, deny_severity = 0;
|
||||
]], [[ request_init(0); ]])], [
|
||||
AC_MSG_RESULT(-lwrap)
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
nut_have_libwrap=no
|
||||
])
|
||||
])
|
||||
|
||||
if test "${nut_have_libwrap}" = "yes"; then
|
||||
AC_DEFINE(HAVE_WRAP, 1, [Define to enable libwrap support])
|
||||
LIBWRAP_CFLAGS=""
|
||||
LIBWRAP_LDFLAGS="${LIBS}"
|
||||
fi
|
||||
|
||||
dnl restore original LIBS
|
||||
LIBS="${LIBS_ORIG}"
|
||||
fi
|
||||
])
|
||||
149
m4/nut_check_os.m4
Executable file
149
m4/nut_check_os.m4
Executable file
|
|
@ -0,0 +1,149 @@
|
|||
dnl Check for the exact system name and type. This is only used at the moment
|
||||
dnl to determine the packaging rule to be used through the OS_NAME variable.
|
||||
dnl Derived from dist.m4 - OpenSS7 (Ditributed under the GNU GPL v2)
|
||||
dnl Copyright (c) 2001-2006 OpenSS7 Corporation <http://www.openss7.com/>
|
||||
dnl Copyright (c) 1997-2000 Brian F. G. Bidulock <bidulock@openss7.org>
|
||||
|
||||
AC_DEFUN_ONCE([NUT_OS_FUNCTIONS],
|
||||
[
|
||||
os_get_name() {
|
||||
case "$[1]" in
|
||||
(*CentOS*|*CENTOS*) echo 'centos' ;;
|
||||
(*Lineox*|*LINEOX*) echo 'lineox' ;;
|
||||
(*White?Box*|*WHITE?BOX*) echo 'whitebox' ;;
|
||||
(*Fedora*|*FEDORA*) echo 'fedora' ;;
|
||||
(*Mandrake*|*Mandriva*|*MANDRAKE*|*MANDRIVA*) echo 'mandriva' ;;
|
||||
(*Red?Hat*|*RED?HAT*) echo 'redhat' ;;
|
||||
(*SuSE*|*SUSE*|*Novell*|*NOVELL*) echo 'suse' ;;
|
||||
(*Debian*|*DEBIAN*) echo 'debian' ;;
|
||||
(*Ubuntu*|*UBUNTU*) echo 'ubuntu' ;;
|
||||
(*Gentoo*|*gentoo*) echo 'gentoo' ;;
|
||||
# FIXME: *BSD, Solaris, HPUX, Aix, ...
|
||||
(*) # fallback for other systems
|
||||
case "${host_cpu}-${host_os}" in
|
||||
*-aix*) echo 'aix' ;;
|
||||
*-freebsd*) echo 'freebsd' ;;
|
||||
*-darwin*) echo 'darwin' ;;
|
||||
*solaris*) echo 'solaris' ;;
|
||||
*-hpux*) echo 'hpux' ;;
|
||||
esac
|
||||
esac
|
||||
}
|
||||
# only list special cases.
|
||||
os_get_target() {
|
||||
case "$[1]" in
|
||||
# some may fall under generic-rpm
|
||||
(centos|lineox|whitebox|fedora|redhat) echo 'redhat' ;;
|
||||
(suse) echo 'opensuse' ;;
|
||||
(ubuntu) echo 'debian' ;;
|
||||
(*) echo '$[1]' ;;
|
||||
# FIXME: *BSD, Solaris, HPUX, Aix, ...
|
||||
esac
|
||||
}
|
||||
])# _OS_FUNCTIONS
|
||||
|
||||
AC_DEFUN([NUT_CHECK_OS],
|
||||
[
|
||||
# Look for all possible source of OS name resolution
|
||||
# 1) we look for a LSB release info file
|
||||
eval "dist_search_path=\"
|
||||
/etc/lsb-release\""
|
||||
dist_search_path=$(echo "$dist_search_path" | sed -e 's|\<NONE\>||g;s|//|/|g')
|
||||
for dist_file in $dist_search_path
|
||||
do
|
||||
if test -f "$dist_file"
|
||||
then
|
||||
dist_cv_build_lsb_file="$dist_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$dist_cv_build_lsb_file" ; then
|
||||
dist_cv_build_lsb_file='no'
|
||||
fi
|
||||
# 2) we look at specific release info file
|
||||
eval "dist_search_path=\"
|
||||
/etc/gentoo-release
|
||||
/etc/centos-release
|
||||
/etc/lineox-release
|
||||
/etc/whitebox-release
|
||||
/etc/fedora-release
|
||||
/etc/mandrake-release
|
||||
/etc/mandriva-release
|
||||
/etc/redhat-release
|
||||
/etc/SuSE-release
|
||||
/etc/debian_version\""
|
||||
dist_search_path=$(echo "$dist_search_path" | sed -e 's|\<NONE\>||g;s|//|/|g')
|
||||
for dist_file in $dist_search_path
|
||||
do
|
||||
if test -f "$dist_file"
|
||||
then
|
||||
dist_cv_build_rel_file="$dist_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$dist_cv_build_rel_file" ; then
|
||||
dist_cv_build_rel_file='no'
|
||||
fi
|
||||
# 3) we try the generic issue info file
|
||||
eval "dist_search_path=\"
|
||||
/etc/issue
|
||||
/etc/issue.net\""
|
||||
dist_search_path=$(echo "$dist_search_path" | sed -e 's|\<NONE\>||g;s|//|/|g')
|
||||
for dist_file in $dist_search_path
|
||||
do
|
||||
if test -f "$dist_file"
|
||||
then
|
||||
dist_cv_build_issue_file="$dist_file"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$dist_cv_build_issue_file" ; then
|
||||
dist_cv_build_issue_file='no'
|
||||
fi
|
||||
|
||||
# Now we parse these content to search for the OS name
|
||||
AC_REQUIRE([NUT_OS_FUNCTIONS])
|
||||
AC_CACHE_CHECK([for host system name], [dist_cv_build_flavor], [dnl
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_rel_file:-no}" != :no ; then
|
||||
if test `echo "$dist_cv_build_rel_file" | sed -e 's|.*/||'` != 'debian_version' ; then
|
||||
dist_cv_build_flavor=$(os_get_name "$(cat $dist_cv_build_rel_file)")
|
||||
fi
|
||||
fi
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_lsb_file:-no}" != :no ; then
|
||||
. "$dist_cv_build_lsb_file"
|
||||
dist_cv_build_flavor=$(os_get_name "${DISTRIB_DESCRIPTION:-unknown}")
|
||||
if test -z "$dist_cv_build_flavor" ; then
|
||||
dist_cv_build_flavor=$(echo "$DISTRIB_ID" | tr [[:upper:]] [[:lower:]] | sed -e 's|[[[:space:]]]*||g;s|linux||g')
|
||||
fi
|
||||
fi
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_issue_file:-no}" != :no ; then
|
||||
dist_cv_build_flavor=$(os_get_name "$(cat $dist_cv_build_issue_file | grep 'Linux\|Fedora\|Ubuntu' | head -1)")
|
||||
fi
|
||||
# do debian after lsb and issue for Ubuntu
|
||||
if test -z "$dist_cv_build_flavor" -a ":${dist_cv_build_rel_file:-no}" != :no ; then
|
||||
if test `echo "$dist_cv_build_rel_file" | sed -e 's|.*/||'` = 'debian_version' ; then
|
||||
dist_cv_build_flavor='debian'
|
||||
fi
|
||||
fi
|
||||
# FIXME
|
||||
if test -z "$dist_cv_build_flavor" ; then
|
||||
dist_cv_build_flavor=$(os_get_name "$(${CC-cc} $CFLAGS -v 2>&1 | grep 'gcc version')")
|
||||
fi
|
||||
|
||||
# save the result
|
||||
if test -n "$dist_cv_build_flavor" ; then
|
||||
OS_NAME=$dist_cv_build_flavor
|
||||
PKG_TARGET=$(os_get_target "$dist_cv_build_flavor")
|
||||
fi
|
||||
])
|
||||
])# NUT_CHECK_OS
|
||||
|
||||
|
||||
dnl checking for OS information file {/etc/lsb-release, /etc/xxx_version, /etc/issue, ...)
|
||||
dnl Checking for host system name
|
||||
|
||||
dnl get the base type (linux, ...) from uname,
|
||||
dnl then check the exact linux type?!
|
||||
dnl FIXME: consider cross pf target
|
||||
|
||||
dnl detect build env (pbuilder, .rpm, ...)
|
||||
23
m4/nut_report_feature.m4
Normal file
23
m4/nut_report_feature.m4
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
dnl automated feature report at the end of configure script
|
||||
|
||||
AC_DEFUN([NUT_REPORT],
|
||||
[ if test -z "${nut_report_feature_flag}"; then
|
||||
nut_report_feature_flag="1"
|
||||
ac_clean_files="${ac_clean_files} conf_nut_report_feature"
|
||||
echo > conf_nut_report_feature
|
||||
echo "Configuration summary:" >> conf_nut_report_feature
|
||||
fi
|
||||
echo "$1: $2" >> conf_nut_report_feature
|
||||
])
|
||||
|
||||
AC_DEFUN([NUT_REPORT_FEATURE],
|
||||
[
|
||||
AC_MSG_CHECKING([whether to $1])
|
||||
AC_MSG_RESULT([$2])
|
||||
NUT_REPORT([$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([NUT_PRINT_FEATURE_REPORT],
|
||||
[
|
||||
cat conf_nut_report_feature
|
||||
])
|
||||
43
m4/nut_type_socklen_t.m4
Normal file
43
m4/nut_type_socklen_t.m4
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
dnl Check for socklen_t: historically on BSD it is an int, and in
|
||||
dnl POSIX 1g it is a type of its own, but some platforms use different
|
||||
dnl types for the argument to getsockopt, getpeername, etc. So we
|
||||
dnl have to test to find something that will work.
|
||||
|
||||
dnl This code gets around. This instance came from rsync 2.5.6.
|
||||
|
||||
AC_DEFUN([NUT_TYPE_SOCKLEN_T],
|
||||
[
|
||||
AC_CHECK_TYPE([socklen_t], ,[
|
||||
AC_MSG_CHECKING([for socklen_t equivalent])
|
||||
AC_CACHE_VAL([nut_cv_socklen_t_equiv],
|
||||
[
|
||||
# Systems have either "struct sockaddr *" or
|
||||
# "void *" as the second argument to getpeername
|
||||
nut_cv_socklen_t_equiv=
|
||||
for arg2 in "struct sockaddr" void; do
|
||||
for t in int size_t unsigned long "unsigned long"; do
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
int getpeername (int, $arg2 *, $t *);
|
||||
],[
|
||||
$t len;
|
||||
getpeername(0,0,&len);
|
||||
],[
|
||||
nut_cv_socklen_t_equiv="$t"
|
||||
break
|
||||
])
|
||||
done
|
||||
done
|
||||
|
||||
if test "x$nut_cv_socklen_t_equiv" = x; then
|
||||
AC_MSG_ERROR([Cannot find a type to use in place of socklen_t])
|
||||
fi
|
||||
])
|
||||
AC_MSG_RESULT($nut_cv_socklen_t_equiv)
|
||||
AC_DEFINE_UNQUOTED(socklen_t, $nut_cv_socklen_t_equiv,
|
||||
[type to use in place of socklen_t if not defined])],
|
||||
[#include <sys/types.h>
|
||||
#include <sys/socket.h>])
|
||||
])
|
||||
Loading…
Add table
Add a link
Reference in a new issue