dnl dnl History dnl ------- dnl before time a lot happend before start of history dnl 8-Sep-2002 tries included more tests for used functions dnl 17-Sep-2002 tries fail configure if needed libs not there dnl 14-Nov-2002 tries support for *BSD systems dnl 22-Mar-2003 tries check for sockaddr_t, hstrerror() dnl feature almost-static (for Fli4l use) dnl dnl dnl dnl dnl Process this file with autoconf to produce a configure script. AC_INIT(src/siproxd.c) dnl ****************************************************************** dnl dnl Release Version dnl SPD_MAJOR_VERSION=0 SPD_MINOR_VERSION=2 SPD_MICRO_VERSION=8 SPD_VERSION=$SPD_MAJOR_VERSION.$SPD_MINOR_VERSION.$SPD_MICRO_VERSION dnl ********************************************************************* dnl dnl Initialize automake stuff dnl AC_CONFIG_AUX_DIR(scripts) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(siproxd, $SPD_VERSION) dnl dnl Checks for needed programs. dnl AC_PROG_AWK AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S dnl dnl add dnl --with-extra-includes dnl --with-extra-libs dnl AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR adds non standard include paths], extra_includes="$withval" ) AC_SUBST(extra_includes) AC_MSG_CHECKING("extra includes") AC_MSG_RESULT($extra_includes) AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths], extra_libs="$withval" ) AC_SUBST(extra_libs) AC_MSG_CHECKING("extra libs") AC_MSG_RESULT($extra_libs) for each in $extra_includes; do CPPFLAGS="$CPPFLAGS -I$each"; done for each in $extra_libs; do LIBS="$LIBS -L$each"; done dnl dnl system specific stuff dnl AC_MSG_CHECKING("target platform") case "$target" in *-*-linux*) AC_MSG_RESULT("Linux") AC_DEFINE(_LINUX,,[building on Linux platform]) ;; *-*-freebsd*) AC_MSG_RESULT("FreeBSD") AC_DEFINE(_BSD,,[building on BSD platform]) AC_DEFINE(_FREEBSD,,[building on FreeBSD platform]) CPPFLAGS="$CPPFLAGS -I/usr/local/include/" LIBS="$LIBS -L/usr/local/lib/ -lgnugetopt" ;; *-*-openbsd*) AC_MSG_RESULT("OpenBSD") AC_DEFINE(_BSD,,[building on BSD platform]) AC_DEFINE(_OPENBSD,,[building on OpenBSD platform]) CPPFLAGS="$CPPFLAGS -I/usr/local/include/" LIBS="$LIBS -L/usr/local/lib/" ;; *-*-netbsd*) AC_MSG_RESULT("NetBSD") AC_DEFINE(_BSD,,[building on BSD platform]) AC_DEFINE(_NETBSD,,[building on NetBSD platform]) CPPFLAGS="$CPPFLAGS -I/usr/pkg/include" LIBS="$LIBS -L/usr/pkg/lib" ;; *) ;; esac dnl dnl Features: dnl almost-static (only available on Linux, yet) dnl case "$target" in *-*-linux*) AC_MSG_CHECKING("build almost static") AC_ARG_ENABLE(almost-static, [ --enable-almost-static only link dynamically to libc, rest static], build_almost_static=$enableval, build_almost_static="no") AC_MSG_RESULT($build_almost_static) ;; *) AC_MSG_RESULT("FEATURE almost-static not available on this platform") ;; esac dnl dnl Check for libosip dnl if test "x$build_almost_static" = "xno"; then dnl link dynamically (default) AC_CHECK_LIB(osip, parser_init,, echo "*** ERROR: libosip is required!";exit 1;) else dnl link statically to this lib dnl (this probably only will work on linux yet...) AC_MSG_CHECKING("where I can find libosip.a") libosip_static=`find /lib /usr/lib /usr/local/lib $extra_libs \ -name libosip.a 2>/dev/null|head -1` if test "x$libosip_static" != "x"; then LIBS="$libosip_static $LIBS" AC_MSG_RESULT($libosip_static) else echo "*** ERROR: a static libosip library is required!";exit 1; fi fi dnl dnl Check for pthreads dnl ACX_PTHREAD(, echo "*** ERROR: pthreads is required!"; exit 1;) if test "x$build_almost_static" = "xno"; then dnl link dynamically (default) LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" CC="$PTHREAD_CC" else dnl link statically to this lib dnl (this probably only will work on linux yet...) AC_MSG_CHECKING("where I can find static threads library") libpthreads_static=`find /lib /usr/lib /usr/local/lib $extra_libs \ -name 'lib*thread*.a' 2>/dev/null| \ egrep 'lib[p]?thread[s]?.a' |head -1` if test "x$libpthreads_static" != "x"; then LIBS="$libpthreads_static $LIBS" AC_MSG_RESULT($libpthreads_static) else echo "*** ERROR: a static threads library is required!";exit 1; fi CC="$PTHREAD_CC" fi dnl dnl Checks for header files. dnl AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h unistd.h errno.h) AC_CHECK_HEADERS(stdarg.h varargs.h) AC_CHECK_HEADERS(pwd.h) dnl dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_C_CONST AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM dnl check for typedef socklen (not available on SUSE 5.3 for example) AC_MSG_CHECKING("typedef socklen_t") AC_EGREP_HEADER([typedef.*socklen_t], sys/socket.h, AC_MSG_RESULT("available"), AC_MSG_RESULT("not available - create DEFINE to uint") AC_DEFINE(socklen_t, [unsigned int],[typedef socklen_t available]) ) dnl dnl Checks for library functions. dnl AC_FUNC_MEMCMP AC_FUNC_VPRINTF AC_CHECK_FUNCS(strerror) AC_CHECK_FUNCS(gethostbyname) AC_CHECK_FUNCS(getopt_long daemon syslog) AC_CHECK_FUNCS(getuid setuid getgid setgid getpwnam chroot) AC_CHECK_FUNCS(socket bind select read send sendto) AC_CHECK_FUNCS(strncpy strchr strstr sprintf vfprintf vsnprintf) AC_CHECK_FUNCS(fgets sscanf hstrerror) AC_SUBST(CPPFLAGS) AC_SUBST(LIBS) dnl dnl Generate output files dnl AC_OUTPUT(Makefile \ src/Makefile \ doc/Makefile \ scripts/Makefile \ )