📄 configure.in
字号:
dnldnl Historydnl -------dnl before time a lot happend before start of historydnl 8-Sep-2002 tries included more tests for used functionsdnl 17-Sep-2002 tries fail configure if needed libs not therednl 14-Nov-2002 tries support for *BSD systemsdnl 22-Mar-2003 tries check for sockaddr_t, hstrerror()dnl --enable-almost-static (for Fli4l use)dnl --enable-uclibc (uClibc building support)dnl 29-Mar-2003 tries added support for libosip2dnl 6-Apr-2003 tries redone the fli4l specific build optionsdnl now: --enable-fli4l-libc5, --enable-fli4l-uclibcdnl 7-Apr-2003 tries added siproxd.spec to autoconf processdnl 31-Jul-2003 tries changed to support OSIP2 onlydnl 1-Sep-2003 tries check for IPCHAINSdnl 5-Sep-2003 tries test for pthreads before libosip stuffdnl 19-Sep-2003 tries DMALLOC supportdnl 1-Nov-2003 tries check for NETFILTER (IPTABLES)dnl 18-Nov-2003 tries include sysconfdir to search for configdnl 19-Nov-2003 tries changes to support Solaris & BSD/OSdnl 22-Nov-2003 tries test for gethostbyname_r() & # of argsdnl 22-Jan-2004 tries add --enable-static optiondnldnldnldnldnl Process this file with autoconf to produce a configure script.AC_INIT(src/siproxd.c)dnl ******************************************************************dnldnl Release VersiondnlSPD_MAJOR_VERSION=0SPD_MINOR_VERSION=5SPD_MICRO_VERSION=3SPD_VERSION=$SPD_MAJOR_VERSION.$SPD_MINOR_VERSION.$SPD_MICRO_VERSIONdnl *********************************************************************dnldnl Initialize automake stuffdnlAC_CONFIG_AUX_DIR(scripts)AC_CANONICAL_SYSTEMAM_CONFIG_HEADER(config.h)AM_INIT_AUTOMAKE(siproxd, $SPD_VERSION)dnldnl Checks for needed programs.dnlAC_PROG_AWKAC_PROG_CCAC_PROG_CPPAC_PROG_INSTALLAC_PROG_LN_Sdnldnl adddnl --with-extra-includesdnl --with-extra-libsdnlAC_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";donefor each in $extra_libs; do LIBS="$LIBS -L$each";donednldnl adddnl --enable-static AC_MSG_CHECKING(build statically linked executable) AC_ARG_ENABLE(static, [ --enable-static build statically linked executable], LDFLAGS="$LDFLAGS -static"; AC_MSG_RESULT(yes), AC_MSG_RESULT(no))dnldnl adddnl --enable-dmalloc AC_MSG_CHECKING(building with DMALLOC support) AC_ARG_ENABLE(dmalloc, [ --enable-dmalloc build with DMALLOC support], CFLAGS="$CFLAGS -DDMALLOC ";LIBS="-ldmallocth $LIBS"; AC_MSG_RESULT(yes), AC_MSG_RESULT(no))dnldnl general stuffdnl _POSIX_THREAD_SAFE_FUNCTIONS needed by some platforms to makednl reentrant functions available (gethostbyname_r)CFLAGS="$CFLAGS -D_POSIX_THREAD_SAFE_FUNCTIONS"dnldnl system specific stuffdnlAC_MSG_CHECKING(target platform)case "$target" in *-*-linux*) AC_MSG_RESULT(Linux) AC_DEFINE(_LINUX,,[building on Linux platform]) AC_CHECK_HEADERS(linux/ip_masq.h) AC_CHECK_HEADERS(linux/netfilter.h) ;; *-*-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" ;; *-*-bsdi* | *-*-bsdos*) AC_MSG_RESULT(BSD/OS) AC_DEFINE(_BSD,,[building on BSD platform]) AC_DEFINE(_BSDOS,,[building on BSD/OS platform]) ;; *-*-solaris2*) # It's easier to do this here, rather than AC_CHECK_LIBS for all of the # things that are/might be in libsocket or libnsl... AC_MSG_RESULT(Solaris 2.x) AC_DEFINE(_SOLARIS2,,[building on Solaris2 platform]) LIBS="$LIBS -lsocket -lnsl" ;; *) ;;esacdnldnl Feature:dnl Fli4l uClibc support (only available on Linux, yet)dnlbuild_fli4l_uclibc="no"AC_MSG_CHECKING(whether build for FLI4L uClibc)case "$target" in *-*-linux*) AC_ARG_ENABLE(fli4l-uclibc, [ --enable-fli4l-uclibc FLI4L: build for uClibc], build_fli4l_uclibc=$enableval,) AC_MSG_RESULT($build_fli4l_uclibc) ;; *) AC_MSG_RESULT(fli4l-uclibc not available on this platform) ;;esacdnldnl Feature:dnl Fli4l libc5 support (only available on Linux, yet)dnlbuild_fli4l_libc5="no"AC_MSG_CHECKING(building for FLI4L libc5)case "$target" in *-*-linux*) AC_ARG_ENABLE(fli4l-libc5, [ --enable-fli4l-libc5 FLI4L: build for libc5], build_fli4l_libc5=$enableval,) AC_MSG_RESULT($build_fli4l_libc5) ;; *) AC_MSG_RESULT(fli4l-libc5 not available on this platform) ;;esacif test "x$build_fli4l_uclibc" = "xyes"; then dnl FLI4l uClibc: make only libosip static build_static_libosip="yes" build_static_pthread="no"elif test "x$build_fli4l_libc5" = "xyes"; then dnl FLI4l libc5: make libosip and libpthread static build_static_libosip="yes" build_static_pthread="yes"else dnl build all dynamically linked build_static_libosip="no" build_static_pthread="no"fidnldnl Check for pthreadsdnlACX_PTHREAD(, echo "*** ERROR: pthreads is required!"; exit 1;)if test "x$build_static_pthread" = "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 $extra_libs /lib /usr/lib /usr/local/lib \ -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"fidnldnl adddnl --with-libosip-prefix=DIRdnllibosip_prefix_dir=""AC_ARG_WITH(libosip-prefix, [ --with-libosip-prefix=DIR use libosip2 from DIR/include and DIR/lib], if test x$withval != x ; then libosip_prefix_dir="$withval"; fi, )AC_SUBST(libosip_prefix_dir)dnldnl Check for libosipdnlif test x$libosip_prefix_dir != x; then LIBS="-L$libosip_prefix_dir/lib $LIBS" CPPFLAGS="$CPPFLAGS -I$libosip_prefix_dir/include"fiif test "x$build_static_libosip" = "xno"; then dnl link dynamically (default) AC_CHECK_LIB(osip2, osip_init,, echo "*** ERROR: libosip2 is required! "\ "Maybe you need to use --with-libosip-prefix ?"; exit 1;, [-losipparser2]) AC_CHECK_LIB(osipparser2, parser_init,, echo "*** ERROR: libosipparser2 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 libosip2.a") libosip_static=`find $extra_libs /lib /usr/lib /usr/local/lib \ -name libosip2.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 AC_MSG_CHECKING("where I can find libosipparser2.a") libosip_static=`find $extra_libs /lib /usr/lib /usr/local/lib \ -name libosipparser2.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; fifidnldnl Checks for header files.dnlAC_HEADER_STDCAC_CHECK_HEADERS(sys/time.h unistd.h errno.h)AC_CHECK_HEADERS(stdarg.h varargs.h)AC_CHECK_HEADERS(pwd.h getopt.h)dnldnl Checks for typedefs, structures, and compiler characteristics.dnlAC_C_CONSTAC_TYPE_SIZE_TAC_HEADER_TIMEAC_STRUCT_TMdnl 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]))dnldnl Checks for library functions.dnlAC_FUNC_MEMCMPAC_FUNC_VPRINTFAC_CHECK_FUNCS(strerror)AC_CHECK_FUNCS(gethostbyname gethostbyname_r)ACX_WHICH_GETHOSTBYNAME_R()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 fcntl)AC_CHECK_FUNCS(strncpy strchr strstr sprintf vfprintf vsnprintf)AC_CHECK_FUNCS(fgets sscanf)AC_CHECK_FUNCS(hstrerror,,AC_CHECK_LIB(resolv,hstrerror,[ AC_DEFINE_UNQUOTED(HAVE_HSTRERROR) LIBS="$LIBS -lresolv"]))AC_CHECK_FUNCS(inet_pton inet_ntop inet_aton inet_ntoa)dnldnl sysconfdirdnlSIPROXDCONFPATH=""tmpset="$sysconfdir"while test "x$tmpset" != "x$SIPROXDCONFPATH"; do SIPROXDCONFPATH="$tmpset" eval tmpset="$tmpset"doneAC_DEFINE_UNQUOTED(SIPROXDCONFPATH,"$SIPROXDCONFPATH", [will search for config file here])AC_SUBST(CPPFLAGS)AC_SUBST(LIBS)dnldnl Generate output filesdnlAC_OUTPUT( \siproxd.spec \Makefile \src/Makefile \doc/Makefile \scripts/Makefile \)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -