a885b2c253
Menuselect was originally included in the DAHDI-Tools repository with an svn external. Since git does not handle externals so well, menuselect is being brought into the tree directly. This allows menuselect to be present for all the commits on the 2.4, 2.5, and 2.6 releases. The command is: $ svn export http://svn.asterisk.org/svn/menuselect/trunk menuselect Signed-off-by: Shaun Ruffell <sruffell@digium.com>
200 lines
5.8 KiB
Plaintext
200 lines
5.8 KiB
Plaintext
# Helper function to check for gcc attributes.
|
|
# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope], [makeopts flag])
|
|
|
|
AC_DEFUN([AST_GCC_ATTRIBUTE],
|
|
[
|
|
AC_MSG_CHECKING(checking for compiler 'attribute $1' support)
|
|
saved_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
|
|
m4_ifval([$4],$4=0)
|
|
|
|
if test "x$2" = "x"
|
|
then
|
|
AC_COMPILE_IFELSE(
|
|
AC_LANG_PROGRAM([$3 void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
|
|
[]),
|
|
AC_MSG_RESULT(yes)
|
|
m4_ifval([$4],$4=1)
|
|
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
else
|
|
AC_COMPILE_IFELSE(
|
|
AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
|
|
[]),
|
|
AC_MSG_RESULT(yes)
|
|
m4_ifval([$4],$4=1)
|
|
AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
fi
|
|
|
|
m4_ifval([$4],[AC_SUBST($4)])
|
|
CFLAGS="$saved_CFLAGS"
|
|
])
|
|
|
|
# AST_EXT_LIB_SETUP([package symbol name], [package friendly name], [package option name], [additional help text])
|
|
|
|
AC_DEFUN([AST_EXT_LIB_SETUP],
|
|
[
|
|
$1_DESCRIP="$2"
|
|
$1_OPTION="$3"
|
|
AC_ARG_WITH([$3], AC_HELP_STRING([--with-$3=PATH],[use $2 files in PATH $4]),[
|
|
case ${withval} in
|
|
n|no)
|
|
USE_$1=no
|
|
;;
|
|
y|ye|yes)
|
|
$1_MANDATORY="yes"
|
|
;;
|
|
*)
|
|
$1_DIR="${withval}"
|
|
$1_MANDATORY="yes"
|
|
;;
|
|
esac
|
|
])
|
|
PBX_$1=0
|
|
AC_SUBST([$1_LIB])
|
|
AC_SUBST([$1_INCLUDE])
|
|
AC_SUBST([PBX_$1])
|
|
])
|
|
|
|
# AST_EXT_LIB_CHECK([package symbol name], [package library name], [function to check], [package header], [additional LIB data])
|
|
|
|
AC_DEFUN([AST_EXT_LIB_CHECK],
|
|
[
|
|
if test "${USE_$1}" != "no"; then
|
|
pbxlibdir=""
|
|
if test "x${$1_DIR}" != "x"; then
|
|
if test -d ${$1_DIR}/lib; then
|
|
pbxlibdir="-L${$1_DIR}/lib"
|
|
else
|
|
pbxlibdir="-L${$1_DIR}"
|
|
fi
|
|
fi
|
|
AC_CHECK_LIB([$2], [$3], [AST_$1_FOUND=yes], [AST_$1_FOUND=no], ${pbxlibdir} $5)
|
|
|
|
if test "${AST_$1_FOUND}" = "yes"; then
|
|
$1_LIB="-l$2 $5"
|
|
$1_HEADER_FOUND="1"
|
|
if test "x${$1_DIR}" != "x"; then
|
|
$1_LIB="${pbxlibdir} ${$1_LIB}"
|
|
$1_INCLUDE="-I${$1_DIR}/include"
|
|
if test "x$4" != "x" ; then
|
|
AC_CHECK_HEADER([${$1_DIR}/include/$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0] )
|
|
fi
|
|
else
|
|
if test "x$4" != "x" ; then
|
|
AC_CHECK_HEADER([$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0] )
|
|
fi
|
|
fi
|
|
if test "x${$1_HEADER_FOUND}" = "x0" ; then
|
|
if test ! -z "${$1_MANDATORY}" ;
|
|
then
|
|
AC_MSG_NOTICE( ***)
|
|
AC_MSG_NOTICE( *** It appears that you do not have the $2 development package installed.)
|
|
AC_MSG_NOTICE( *** Please install it to include ${$1_DESCRIP} support, or re-run configure)
|
|
AC_MSG_NOTICE( *** without explicitly specifying --with-${$1_OPTION})
|
|
exit 1
|
|
fi
|
|
$1_LIB=""
|
|
$1_INCLUDE=""
|
|
PBX_$1=0
|
|
else
|
|
PBX_$1=1
|
|
AC_DEFINE_UNQUOTED([HAVE_$1], 1, [Define to indicate the ${$1_DESCRIP} library])
|
|
fi
|
|
elif test ! -z "${$1_MANDATORY}";
|
|
then
|
|
AC_MSG_NOTICE(***)
|
|
AC_MSG_NOTICE(*** The ${$1_DESCRIP} installation on this system appears to be broken.)
|
|
AC_MSG_NOTICE(*** Either correct the installation, or run configure)
|
|
AC_MSG_NOTICE(*** without explicitly specifying --with-${$1_OPTION})
|
|
exit 1
|
|
fi
|
|
fi
|
|
])
|
|
|
|
|
|
AC_DEFUN(
|
|
[AST_CHECK_GNU_MAKE], [AC_CACHE_CHECK([for GNU make], [ac_cv_GNU_MAKE],
|
|
ac_cv_GNU_MAKE='Not Found' ;
|
|
ac_cv_GNU_MAKE_VERSION_MAJOR=0 ;
|
|
ac_cv_GNU_MAKE_VERSION_MINOR=0 ;
|
|
for a in make gmake gnumake ; do
|
|
if test -z "$a" ; then continue ; fi ;
|
|
if ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) ; then
|
|
ac_cv_GNU_MAKE=$a ;
|
|
ac_cv_GNU_MAKE_VERSION_MAJOR=`$ac_cv_GNU_MAKE --version | grep "GNU Make" | cut -f3 -d' ' | cut -f1 -d'.'`
|
|
ac_cv_GNU_MAKE_VERSION_MINOR=`$ac_cv_GNU_MAKE --version | grep "GNU Make" | cut -f2 -d'.' | cut -c1-2`
|
|
break;
|
|
fi
|
|
done ;
|
|
) ;
|
|
if test "x$ac_cv_GNU_MAKE" = "xNot Found" ; then
|
|
AC_MSG_ERROR( *** Please install GNU make. It is required to build Asterisk!)
|
|
exit 1
|
|
fi
|
|
AC_SUBST([GNU_MAKE], [$ac_cv_GNU_MAKE])
|
|
])
|
|
|
|
# AST_FUNC_FORK
|
|
# -------------
|
|
AN_FUNCTION([fork], [AST_FUNC_FORK])
|
|
AN_FUNCTION([vfork], [AST_FUNC_FORK])
|
|
AC_DEFUN([AST_FUNC_FORK],
|
|
[AC_REQUIRE([AC_TYPE_PID_T])dnl
|
|
AC_CHECK_HEADERS(vfork.h)
|
|
AC_CHECK_FUNCS(fork vfork)
|
|
if test "x$ac_cv_func_fork" = xyes; then
|
|
_AST_FUNC_FORK
|
|
else
|
|
ac_cv_func_fork_works=$ac_cv_func_fork
|
|
fi
|
|
if test "x$ac_cv_func_fork_works" = xcross; then
|
|
case $host in
|
|
*-*-amigaos* | *-*-msdosdjgpp* | *-*-uclinux* | *-*-linux-uclibc* )
|
|
# Override, as these systems have only a dummy fork() stub
|
|
ac_cv_func_fork_works=no
|
|
;;
|
|
*)
|
|
ac_cv_func_fork_works=yes
|
|
;;
|
|
esac
|
|
AC_MSG_WARN([result $ac_cv_func_fork_works guessed because of cross compilation])
|
|
fi
|
|
ac_cv_func_vfork_works=$ac_cv_func_vfork
|
|
if test "x$ac_cv_func_vfork" = xyes; then
|
|
_AC_FUNC_VFORK
|
|
fi;
|
|
if test "x$ac_cv_func_fork_works" = xcross; then
|
|
ac_cv_func_vfork_works=$ac_cv_func_vfork
|
|
AC_MSG_WARN([result $ac_cv_func_vfork_works guessed because of cross compilation])
|
|
fi
|
|
|
|
if test "x$ac_cv_func_vfork_works" = xyes; then
|
|
AC_DEFINE(HAVE_WORKING_VFORK, 1, [Define to 1 if `vfork' works.])
|
|
else
|
|
AC_DEFINE(vfork, fork, [Define as `fork' if `vfork' does not work.])
|
|
fi
|
|
if test "x$ac_cv_func_fork_works" = xyes; then
|
|
AC_DEFINE(HAVE_WORKING_FORK, 1, [Define to 1 if `fork' works.])
|
|
fi
|
|
])# AST_FUNC_FORK
|
|
|
|
|
|
# _AST_FUNC_FORK
|
|
# -------------
|
|
AC_DEFUN([_AST_FUNC_FORK],
|
|
[AC_CACHE_CHECK(for working fork, ac_cv_func_fork_works,
|
|
[AC_RUN_IFELSE(
|
|
[AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
|
|
[
|
|
/* By Ruediger Kuhlmann. */
|
|
return fork () < 0;
|
|
])],
|
|
[ac_cv_func_fork_works=yes],
|
|
[ac_cv_func_fork_works=no],
|
|
[ac_cv_func_fork_works=cross])])]
|
|
)# _AST_FUNC_FORK
|