dahdi-tools/menuselect/configure.ac

147 lines
3.5 KiB
Plaintext

# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
m4_define([MENUSELECT_VERSION],
m4_bpatsubst(m4_esyscmd([./make_version .]),
[\([0-9.]*\)\(\w\|\W\)*],
[\1]))
AC_INIT(menuselect, MENUSELECT_VERSION, www.asterisk.org)
# check existence of the package
AC_CONFIG_SRCDIR([menuselect.c])
# specify output header file
AC_CONFIG_HEADER(autoconfig.h)
AC_COPYRIGHT("Menuselect")
AC_REVISION($Revision: 40837 $)
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
HOST_OS=${host_os}
AC_SUBST(HOST_OS)
PBX_WINARCH=0
case "${host_os}" in
freebsd*)
OSARCH=FreeBSD
;;
netbsd*)
OSARCH=NetBSD
;;
openbsd*)
OSARCH=OpenBSD
;;
solaris*)
OSARCH=SunOS
;;
mingw32)
OSARCH=mingw32
PBX_WINARCH=1
;;
cygwin)
OSARCH=cygwin
PBX_WINARCH=1
;;
linux-gnueabi)
OSARCH=linux-gnu
;;
*)
OSARCH=${host_os}
;;
esac
AH_TOP(
#ifndef MENUSELECT_AUTOCONFIG_H
#define MENUSELECT_AUTOCONFIG_H
#ifndef _REENTRANT
#define _REENTRANT
#endif
)
AH_BOTTOM(
#endif
)
# Checks for programs.
AC_PROG_CC
AST_CHECK_GNU_MAKE
AC_LANG(C)
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [Turn on debug mode])],
[case "${enableval}" in
y|ye|yes) MENUSELECT_DEBUG=yes ;;
n|no) MENUSELECT_DEBUG=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac])
AC_SUBST(MENUSELECT_DEBUG)
# Support weak symbols on a platform specific basis. The Mac OS X
# (Darwin) support must be isolated from the other platforms because
# it has caused other platforms to fail.
#
case "${OSARCH}" in
darwin*)
# Allow weak symbol support on Darwin platforms only because there
# is active community support for it.
# However, Darwin seems to break weak symbols for each new version.
#
AST_GCC_ATTRIBUTE(weak_import, [], [], PBX_WEAKREF)
# Several other platforms including Linux have GCC versions that
# define the weak attribute. However, this attribute is only
# setup for use in the code by Darwin.
AST_GCC_ATTRIBUTE(weak, [], [], PBX_WEAKREF)
;;
linux-gnu)
# Primarily support weak symbols on Linux platforms.
#
AST_GCC_ATTRIBUTE(weakref, [weakref("foo")], static, PBX_WEAKREF)
;;
*)
# Allow weak symbols on other platforms. However, any problems
# with this feature on other platforms must be fixed by the
# community.
#
AST_GCC_ATTRIBUTE(weakref, [weakref("foo")], static, PBX_WEAKREF)
;;
esac
AC_FUNC_ALLOCA
AC_CHECK_FUNCS([asprintf getloadavg setenv strcasestr strndup strnlen strsep unsetenv vasprintf])
# The frontend can use curses, ncurses, newt or GTK2 so check for all of them
AST_EXT_LIB_SETUP([NEWT], [newt], [newt])
AST_EXT_LIB_SETUP([CURSES], [curses], [curses])
AST_EXT_LIB_SETUP([NCURSES], [ncurses], [ncurses])
AST_EXT_LIB_CHECK([NEWT], [newt], [newtBell], [newt.h])
AST_EXT_LIB_CHECK([CURSES], [curses], [initscr], [curses.h])
AST_EXT_LIB_CHECK([NCURSES], [ncurses], [initscr], [curses.h])
PBX_GTK2=0
AC_CHECK_TOOL(PKGCONFIG, pkg-config, No)
if test ! "x${PKGCONFIG}" = xNo; then
GTK2_INCLUDE=$(${PKGCONFIG} gtk+-2.0 --cflags 2>/dev/null)
GTK2_LIB=$(${PKGCONFIG} gtk+-2.0 --libs)
PBX_GTK2=1
AC_DEFINE([HAVE_GTK2], 1, [Define if your system has the GTK2 libraries.])
fi
AC_SUBST(PBX_GTK2)
AC_SUBST(GTK2_INCLUDE)
AC_SUBST(GTK2_LIB)
test "$silent"=yes && ac_sub_configure_args="${ac_sub_configure_args} --silent"
AC_CONFIG_FILES([makeopts])
AC_CONFIG_SUBDIRS([mxml])
AC_OUTPUT
AC_MSG_NOTICE(Menuselect build configuration successfully completed)