Files
osip/configure.ac
Aymeric Moizard 103d28ad79 update to version 5.3.1 // release [CVE-2022-41550 fixed]
Signed-off-by: Aymeric Moizard <amoizard@gmail.com>
2022-10-12 19:39:05 +02:00

368 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

AC_PREREQ([2.69])
AC_INIT([libosip2],[5.3.1])
AC_CONFIG_SRCDIR([include/osip2/osip.h])
AC_MSG_NOTICE([libosip2 The GNU Open SIP library.])
AC_MSG_NOTICE([Copyright (C) 2001-2022 Aymeric MOIZARD - <amoizard@antisip.com>])
#current[:revision[:age]]. So, passing -version-info 3:12:1 sets current to 3, revision to 12, and age to 1
# 1/ increase revision for every source code change [release]
# 2/ increase current for every API/ABI change and revert revision to 0
# 3/ always set age to 0 (for public release)
AC_SUBST(LIBOSIP_SO_VERSION, 15:1:0)
AC_SUBST(OSIP_VERSION, $VERSION)
AC_MSG_RESULT([Configuring ${PACKAGE} ${VERSION}])
OS=`uname|sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
AC_MSG_RESULT([Building Package on ${OS}])
dnl *********************************************************************
dnl Initialize automake stuff
AC_CONFIG_AUX_DIR(scripts)
AC_CONFIG_HEADERS(osip-config.h)
AM_INIT_AUTOMAKE
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],)
AC_CONFIG_MACRO_DIR([scripts])
AC_CANONICAL_HOST
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
dnl Initialize libtool
AC_PROG_SED
LT_INIT
dnl declare --enable-* args and collect ac_help strings
AC_ARG_ENABLE(mpatrol,
[AS_HELP_STRING([--enable-mpatrol],
[turn on memory leak detection with patrol @<:@default=no@:>@])],
enable_mpatrol=$enableval,enable_mpatrol="no")
AC_ARG_ENABLE(gprof,
[AS_HELP_STRING([--enable-gprof],
[turn on profiling support @<:@default=no@:>@])],
enable_gprof=$enableval,enable_gprof="no")
AC_ARG_ENABLE(trace,
[AS_HELP_STRING([--enable-trace],
[turn on trace @<:@default=yes@:>@])],
enable_trace=$enableval,enable_trace="yes")
dnl minimize size of code.
AC_ARG_ENABLE(minisize,
[AS_HELP_STRING([--enable-minisize],
[only compile minimal voip related code @<:@default=no@:>@])],
enable_minisize=$enableval,enable_minisize="no")
dnl support for linux-thread or posix thread (pthread.h)
AC_ARG_ENABLE(pthread,
[AS_HELP_STRING([--enable-pthread=@<:@autodetect|force@:>@],
[autodetect POSIX threads or force -DHAVE_PTHREAD @<:@default=autodetect@:>@])],
enable_pthread=$enableval,enable_pthread="autodetect")
dnl support for semaphore.h (linux/sun...)
dnl support for sysV semaphore in sys/sem.h (BSD/linux...)
AC_ARG_ENABLE(semaphore,
[AS_HELP_STRING([--enable-semaphore=@<:@autodetect|semaphore|sysv@:>@],
[select your prefered semaphore @<:@default=autodetect@:>@.])],
enable_semaphore=$enableval,enable_semaphore="autodetect")
dnl support for gperf.
AC_ARG_ENABLE(gperf,
[AS_HELP_STRING([--enable-gperf],
[enable support for gperf (improve the parser speed) @<:@default=no@:>@])],
enable_gperf=$enableval,enable_gperf="no")
dnl libdict support.
AC_ARG_ENABLE(hashtable,
[AS_HELP_STRING([--enable-hashtable],
[compile with hashtable (libdict) support @<:@default=no@:>@])],
enable_hashtable=$enableval,enable_hashtable="no")
dnl build with multithreaded support (need semaphore).
AC_ARG_ENABLE(mt,
[AS_HELP_STRING([--enable-mt],
[compile with multi-thread support @<:@default=yes@:>@])],
enable_mt=$enableval,enable_mt="yes")
dnl support for test suite.
AC_ARG_ENABLE(test,
[AS_HELP_STRING([--enable-test],
[enable building test programs @<:@default=no@:>@])],
enable_test=$enableval,enable_test="no")
dnl compile with mt support
if test "x$enable_mt" = "xyes"; then
if test "x$enable_pthread" = "xforce"; then
AC_DEFINE(HAVE_PTHREAD)
else
AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthreads support -use --enable-mt=no to disable or --enable-pthread=force to define HAVE_PTHREAD])])
LIBS="$PTHREAD_LIBS $LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
CC="$PTHREAD_CC"
fi
else
SIP_FSM_FLAGS="-DOSIP_MONOTHREAD"
fi
AM_CONDITIONAL(BUILD_MT, test x$enable_mt = xyes)
if test "x$enable_gperf" = "xyes"; then
SIP_PARSER_FLAGS="$SIP_PARSER_FLAGS -DUSE_GPERF"
fi
AM_CONDITIONAL(COMPILE_TESTS, test "x$enable_test" != "xno")
if test "x$enable_semaphore" = "xsemaphore"; then
AC_DEFINE(HAVE_SEMAPHORE_H)
elif test "x$enable_semaphore" = "xsysv"; then
AC_DEFINE(HAVE_SYS_SEM_H)
else
AC_CHECK_HEADERS(semaphore.h)
AC_CHECK_HEADERS(sys/sem.h)
fi
if test "x$host_cpu" = "x$build_cpu"; then
case $OS in
linux*)
SIP_EXTRA_FLAGS="$SIP_EXTRA_FLAGS"
;;
irix*)
;;
hpux* | hp-ux*)
;;
aix*)
;;
osf*)
;;
sunos*)
;;
darwin*)
;;
*)
;;
esac
else
AC_MSG_NOTICE([Cross compiling osip.])
fi
case $host_cpu in
arc*)
;;
*)
;;
esac
if test "x$enable_hashtable" = "xyes"; then
AC_CHECK_HEADERS([dict/dict.h],
[AC_DEFINE([HAVE_DICT_DICT_H], [], [Define to 1 if you have <dict/dict.h> header file])],
[AC_MSG_ERROR([libdict library not installed. Please install or use --disable-hashtable])])
EXTRA_LIB="$EXTRA_LIB -ldict"
fi
if test "x$enable_trace" = "xyes"; then
SIP_EXTRA_FLAGS="$SIP_EXTRA_FLAGS -DENABLE_TRACE"
fi
if test "x$enable_mpatrol" = "xyes"; then
SIP_EXTRA_FLAGS="$SIP_EXTRA_FLAGS -DENABLE_MPATROL"
EXTRA_LIB="$EXTRA_LIB -lmpatrolmt -lelf -lpthread"
fi
if test "x$enable_gprof" = "xyes"; then
SIP_EXTRA_FLAGS="$SIP_EXTRA_FLAGS -pg"
EXTRA_LIB="$EXTRA_LIB -lc_p"
fi
if test "x$enable_minisize" = "xyes"; then
SIP_EXTRA_FLAGS="$SIP_EXTRA_FLAGS -DMINISIZE"
fi
AM_CONDITIONAL(BUILD_MAXSIZE, test x$enable_minisize = xno)
dnl Checks for libraries. (those one are needed for sun)
AC_CHECK_LIB(posix4,sem_open,[FSM_LIB="$FSM_LIB -lposix4 -mt"])
AC_CHECK_LIB(nsl,nis_add,[FSM_LIB="$FSM_LIB -lnsl"])
AC_CHECK_LIB(socket,sendto,[FSM_LIB="$FSM_LIB -lsocket"])
AC_CHECK_LIB(c, lrand48, AC_DEFINE([HAVE_LRAND48], [], [Defined if you have lrand48]))
AC_CHECK_LIB(rt,clock_gettime,[FSM_LIB="$FSM_LIB -lrt"])
AC_CHECK_FUNCS([localtime])
AC_CACHE_CHECK([whether -Wall works], Wall_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wall"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wall_cv_flag=yes],[Wall_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wall_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wall"
fi
AC_CACHE_CHECK([whether -Wcast-align works], Wcast_align_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wcast-align"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wcast_align_cv_flag=yes],[Wcast_align_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wcast_align_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wcast-align"
fi
AC_CACHE_CHECK([whether -Wchar-subscripts works], Wchar_subscripts_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wchar-subscripts"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wchar_subscripts_cv_flag=yes],[Wchar_subscripts_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wchar_subscripts_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wchar-subscripts"
fi
AC_CACHE_CHECK([whether -Wformat works], Wformat_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wformat"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wformat_cv_flag=yes],[Wformat_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wformat_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wformat"
fi
AC_CACHE_CHECK([whether -Winline works], Winline_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Winline"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Winline_cv_flag=yes],[Winline_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Winline_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Winline"
fi
AC_CACHE_CHECK([whether -Wmissing-declarations works], Wmissing_declarations_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wmissing-declarations"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wmissing_declarations_cv_flag=yes],[Wmissing_declarations_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wmissing_declarations_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wmissing-declarations"
fi
AC_CACHE_CHECK([whether -Wmissing-prototypes works], Wmissing_prototypes_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wmissing-prototypes"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wmissing_prototypes_cv_flag=yes],[Wmissing_prototypes_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wmissing_prototypes_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wmissing-prototypes"
fi
AC_CACHE_CHECK([whether -Wnested-externs works], Wnested_externs_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wnested-externs"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wnested_externs_cv_flag=yes],[Wnested_externs_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wnested_externs_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wnested-externs"
fi
AC_CACHE_CHECK([whether -Wpointer-arith works], Wpointer_arith_cv_flag, [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="-Wpointer-arith"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[Wpointer_arith_cv_flag=yes],[Wpointer_arith_cv_flag=no])
CPPFLAGS=$saved_CPPFLAGS
])
if test "x$Wpointer_arith_cv_flag" = xyes; then
CPPFLAGS="$CPPFLAGS -Wpointer-arith"
fi
dnl SIP_CFLAGS="$SIP_CFLAGS $CFLAGS"
AC_SUBST(SIP_CFLAGS)
AC_SUBST(SIP_EXTRA_FLAGS)
AC_SUBST(SIP_PARSER_FLAGS)
AC_SUBST(SIP_FSM_FLAGS)
AC_SUBST(EXTRA_LIB)
AC_SUBST(PARSER_LIB)
AC_SUBST(FSM_LIB)
dnl Checks for header files.
dnl This is to be removed for autoconf2.50
AC_HEADER_STDC
AC_CHECK_HEADERS(string.h)
AC_CHECK_HEADERS(strings.h)
AC_CHECK_HEADERS(stdlib.h)
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADERS(sys/types.h)
dnl !This is to be removed for autoconf2.50
AC_CHECK_HEADERS(sys/unistd.h)
AC_CHECK_HEADERS(syslog.h)
AC_CHECK_HEADERS(ctype.h)
AC_CHECK_HEADERS(stdio.h)
AC_CHECK_HEADERS(stdarg.h)
AC_CHECK_HEADERS(varargs.h)
AC_CHECK_HEADERS(fcntl.h)
AC_CHECK_HEADERS(time.h)
AC_CHECK_HEADERS(sys/time.h)
AC_CHECK_HEADERS(sys/select.h)
AC_CHECK_HEADERS(assert.h)
AC_CHECK_HEADERS(signal.h)
AC_CHECK_HEADERS(sys/signal.h)
AC_CHECK_HEADERS(malloc.h)
AC_CHECK_TYPES([struct timeval],,,[
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
])
AC_CONFIG_FILES([libosip2.pc
Makefile
scripts/Makefile
src/Makefile
src/osipparser2/Makefile
src/osip2/Makefile
src/test/Makefile
include/Makefile
include/osip2/Makefile
include/osipparser2/Makefile
include/osipparser2/headers/Makefile
help/Makefile
help/man/Makefile
help/doxygen/Makefile
platform/Makefile
platform/rpm/Makefile
platform/vsnet/Makefile
include/osip2/doxygen.dox])
AC_OUTPUT