Skip to content
Snippets Groups Projects
configure.ac 72.7 KiB
Newer Older
  • Learn to ignore specific revisions
  •     CFLAGS="${saved_cflags}"
    
    AST_EXT_TOOL_CHECK([GMIME], [gmime-config], [], [], [#include <gmime/gmime.h>], [gboolean q = g_mime_check_version(0,0,0);])
    
    if test "x${PBX_GMIME}" = "x0"; then
    	# Later versions of GMime use pkg-config
    	if test "x${PKGCONFIG}" = xNo; then :; else
    		GMIME_INCLUDE=$(${PKGCONFIG} gmime-2.0 --cflags 2>/dev/null)
    		GMIME_LIB=$(${PKGCONFIG} gmime-2.0 --libs)
    		if test "x${GMIME_INCLUDE}${GMIME_LIB}" = "x"; then 
    			GMIME_INCLUDE=$(${PKGCONFIG} gmime-2.2 --cflags 2>/dev/null)
    			GMIME_LIB=$(${PKGCONFIG} gmime-2.2 --libs)
    		fi
    		if test "x${GMIME_INCLUDE}${GMIME_LIB}" != "x"; then
    			PBX_GMIME=1
    			AC_DEFINE([HAVE_GMIME], 1, [Define if your system has the GMIME libraries.])
    		fi
    	fi
    fi
    
    AST_EXT_LIB_CHECK([HOARD], [hoard], [malloc], [])
    
    
    AST_EXT_LIB_CHECK([FREETDS], [sybdb], [dbinit], [sybdb.h])
    
    AST_EXT_LIB_CHECK([TERMCAP], [termcap], [tgetent], [])
    
    AST_EXT_LIB_CHECK([TINFO], [tinfo], [tgetent], [])
    
    
    AC_CHECK_LIB([tonezone], [tone_zone_find_by_num], tonezone_does_not_need_lm=yes, tonezone_does_not_need_lm=no)
    
    if test "${tonezone_does_not_need_lm}" = "no" ; then
    
    AST_EXT_LIB_CHECK([TONEZONE], [tonezone], [tone_zone_find], [dahdi/tonezone.h], [${tonezone_extra} ${DAHDI_INCLUDE}])
    
    AST_EXT_LIB_CHECK([USB], [usb], [usb_init], [usb.h], [])
    
    
    if test "${OSARCH}" = "OpenBSD";
    then
    	AST_EXT_LIB_CHECK([VORBIS], [vorbis], [vorbis_info_init], [vorbis/codec.h], [-lm -lvorbisenc -logg])
    else
    	AST_EXT_LIB_CHECK([VORBIS], [vorbis], [vorbis_info_init], [vorbis/codec.h], [-lm -lvorbisenc])
    fi
    
    AC_LANG_PUSH(C++)
    
    if test "${USE_VPB}" != "no"; then
       AC_MSG_CHECKING(for vpb_open in -lvpb)
       saved_libs="${LIBS}"
       saved_cppflags="${CPPFLAGS}"
       if test "x${VPB_DIR}" != "x"; then
          if test -d ${VPB_DIR}/lib; then
             vpblibdir=${VPB_DIR}/lib
          else
             vpblibdir=${VPB_DIR}
          fi
          LIBS="${LIBS} -L${vpblibdir}"
          CPPFLAGS="${CPPFLAGS} -I${VPB_DIR}/include"
       fi
    
       CPPFLAGS="${CPPFLAGS} ${PTHREAD_CFLAGS}"
    
       AC_LINK_IFELSE(
    	[
    	AC_LANG_PROGRAM(
    	[#include <vpbapi.h>],
    	[int q = vpb_open(0,0);])
    	],
    	[	AC_MSG_RESULT(yes) 
    		ac_cv_lib_vpb_vpb_open="yes" 
    	],
    	[	AC_MSG_RESULT(no) 
    		ac_cv_lib_vpb_vpb_open="no" 
    	]
    	)
       LIBS="${saved_libs}"
       CPPFLAGS="${saved_cppflags}"
       if test "${ac_cv_lib_vpb_vpb_open}" = "yes"; then
    	VPB_LIB="-lvpb"
    	if test "${VPB_DIR}" != ""; then
    	   VPB_LIB="-L${vpblibdir}  ${VPB_LIB}"
    	   VPB_INCLUDE="-I${VPB_DIR}/include"
    	fi
    	PBX_VPB=1
    	AC_DEFINE([HAVE_VPB], 1, [Define if your system has the VoiceTronix API libraries.])
       fi
    fi
    
    AC_LANG_POP
    
    
    AST_EXT_LIB_CHECK([ZLIB], [z], [compress], [zlib.h])
    
      EDITLINE_LIB="$TERMCAP_LIB"
    
      EDITLINE_LIB="$TINFO_LIB"
    
      EDITLINE_LIB="$CURSES_LIB"
    
      EDITLINE_LIB="$NCURSES_LIB"
    
      AC_MSG_ERROR([*** termcap support not found (on modern systems, this typically means the ncurses development package is missing)])
    
    AC_SUBST(EDITLINE_LIB)
    
    if test "x${PBX_UNIXODBC}" = "x1" -o "x${PBX_IODBC}" = "x1"; then
    	# Does ODBC support wide characters?
    	AC_MSG_CHECKING(whether ODBC has support for Unicode types)
    	AC_LINK_IFELSE(
    		AC_LANG_PROGRAM(
    			[#include <sql.h>
    #include <sqlext.h>],
    			[int foo = SQL_WCHAR]),
    		AC_MSG_RESULT(yes)
    			AC_DEFINE([HAVE_ODBC_WCHAR], [1], [Define to 1 if your ODBC library has wide (Unicode) types.]),
    		AC_MSG_RESULT(no)
    	)
    fi
    
    
    AC_CHECK_HEADER([h323.h], [PBX_H323=1], [PBX_H323=0])
    AC_SUBST(PBX_H323)
    
    
    AC_CHECK_HEADER([linux/compiler.h],
                    [AC_DEFINE_UNQUOTED([HAVE_LINUX_COMPILER_H], 1, [Define to 1 if your system has linux/compiler.h.])])
    
    
    AC_CHECK_HEADER([linux/ixjuser.h], [PBX_IXJUSER=1], [PBX_IXJUSER=0], [
    				   #include <linux/version.h>
    
    				   #ifdef HAVE_LINUX_COMPILER_H
    
    # Used in res/res_pktccops
    AST_C_DEFINE_CHECK([MSG_NOSIGNAL], [MSG_NOSIGNAL], [sys/socket.h])
    AST_C_DEFINE_CHECK([SO_NOSIGPIPE], [SO_NOSIGPIPE], [sys/socket.h])
    
    
    AST_EXT_TOOL_CHECK([SDL], [sdl-config])
    
    AST_EXT_LIB_CHECK([SDL_IMAGE], [SDL_image], [IMG_Load], [SDL_image.h], [${SDL_LIB}], [${SDL_INCLUDE}])
    
    AST_EXT_LIB_CHECK([FFMPEG], [avcodec], [sws_getContext], [ffmpeg/avcodec.h], [${PTHREAD_LIBS} -lz -lm], [${PTHREAD_CFLAGS}])
    
    Luigi Rizzo's avatar
    Luigi Rizzo committed
    # possible places for video4linux version 1
    AC_CHECK_HEADER([linux/videodev.h],
    	[AC_DEFINE_UNQUOTED([HAVE_VIDEODEV_H], 1, [Define to 1 if your system has linux/videodev.h.])])
    
    
    # possible places for X11
    AST_EXT_LIB_CHECK([X11], [X11], [XOpenDisplay], [X11/Xlib.h],,, [standard_path])
    AST_EXT_LIB_CHECK([X11], [X11], [XOpenDisplay], [X11/Xlib.h],, [-I/usr/X11R6/include], [X11R6])
    
    
    if test "${cross_compiling}" = "no";
    then
      AC_CHECK_FILE(/sbin/launchd, AC_DEFINE([HAVE_SBIN_LAUNCHD], 1, [Define to 1 if your system has /sbin/launchd.]))
    
    PBX_GTK2=0
    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)
    
    
    # build a GENERIC_ODBC result based on the presence of either UnixODBC (preferred)
    # or iODBC
    
    PBX_GENERIC_ODBC=0
    
    if test "${PBX_UNIXODBC}" = 1; then
       PBX_GENERIC_ODBC=1
       GENERIC_ODBC_LIB="${UNIXODBC_LIB}"
       GENERIC_ODBC_INCLUDE="${UNIXODBC_INCLUDE}"
    elif test "${PBX_IODBC}" = 1; then
       PBX_GENERIC_ODBC=1
       GENERIC_ODBC_LIB="${IODBC_LIB}"
       GENERIC_ODBC_INCLUDE="${IODBC_INCLUDE}"
    fi
    
    AC_SUBST([GENERIC_ODBC_LIB])
    AC_SUBST([GENERIC_ODBC_INCLUDE])
    AC_SUBST([PBX_GENERIC_ODBC])
    
    
    if test "${ac_cv_header_syslog_h}" = "yes"; then
       # syslog facilities
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_AUTH],     [LOG_AUTH],     [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_AUTHPRIV], [LOG_AUTHPRIV], [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_CRON],     [LOG_CRON],     [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_DAEMON],   [LOG_DAEMON],   [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_FTP],      [LOG_FTP],      [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_KERN],     [LOG_KERN],     [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_LPR],      [LOG_LPR],      [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_MAIL],     [LOG_MAIL],     [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_NEWS],     [LOG_NEWS],     [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_SYSLOG],   [LOG_SYSLOG],   [syslog.h])
       AST_C_DEFINE_CHECK([SYSLOG_FACILITY_LOG_UUCP],     [LOG_UUCP],     [syslog.h])
    
    if test -f makeopts; then
    
    	${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
    
    	touch makeopts.acbak
    
    AC_CONFIG_FILES([build_tools/menuselect-deps makeopts channels/h323/Makefile])
    
    if test -f build_tools/menuselect-deps; then
        # extract old values of all PBX_ variables from menuselect-deps
        # and preserve them so that menuselect can determine whether
        # any previously-met dependencies are no longer met and warn
        # the user appropriately
        while IFS="=:" read var val old_val; do
            eval "PBX_${var}=\${PBX_${var}}:${val}"
        done < build_tools/menuselect-deps
    fi
    
    
    ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
    
    if test "x${ac_cv_path_CMP}" = "x:"; then
    
    	( cd `pwd`/menuselect && ./configure )
    else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
    	( cd `pwd`/menuselect && ./configure )
    
    rm makeopts.acbak makeopts.acbak2
    
    if test "x${silent}" != "xyes" ; then
    
    echo
    echo "               .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=..      "
    echo "            .\$7\$7..          .7\$\$7:.    "
    echo "          .\$\$:.                 ,\$7.7   "
    echo "        .\$7.     7\$\$\$\$           .\$\$77  "
    echo "     ..\$\$.       \$\$\$\$\$            .\$\$\$7 "
    echo "    ..7\$   .?.   \$\$\$\$\$   .?.       7\$\$\$."
    echo "   \$.\$.   .\$\$\$7. \$\$\$\$7 .7\$\$\$.      .\$\$\$."
    echo " .777.   .\$\$\$\$\$\$77\$\$\$77\$\$\$\$\$7.      \$\$\$,"
    echo " \$\$\$~      .7\$\$\$\$\$\$\$\$\$\$\$\$\$7.       .\$\$\$."
    echo ".\$\$7          .7\$\$\$\$\$\$\$7:          ?\$\$\$."
    echo "\$\$\$          ?7\$\$\$\$\$\$\$\$\$\$I        .\$\$\$7 "
    echo "\$\$\$       .7\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$      :\$\$\$. "
    echo "\$\$\$       \$\$\$\$\$\$7\$\$\$\$\$\$\$\$\$\$\$\$    .\$\$\$.  "
    echo "\$\$\$        \$\$\$   7\$\$\$7  .\$\$\$    .\$\$\$.   "
    echo "\$\$\$\$             \$\$\$\$7         .\$\$\$.    "
    echo "7\$\$\$7            7\$\$\$\$        7\$\$\$      "
    echo " \$\$\$\$\$                        \$\$\$       "
    echo "  \$\$\$\$7.                       \$\$  (TM)     "
    echo "   \$\$\$\$\$\$\$.           .7\$\$\$\$\$\$  \$\$      "
    echo "     \$\$\$\$\$\$\$\$\$\$\$\$7\$\$\$\$\$\$\$\$\$.\$\$\$\$\$\$      "
    echo "       \$\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$.                "
    echo
    
    AC_MSG_NOTICE(Package configured for: )
    
    AC_MSG_NOTICE( OS type  : $host_os)
    
    AC_MSG_NOTICE( Host CPU : $host_cpu)
    
    AC_MSG_NOTICE( build-cpu:vendor:os: $build_cpu : $build_vendor : $build_os :) 
    AC_MSG_NOTICE( host-cpu:vendor:os: $host_cpu : $host_vendor : $host_os :) 
    
    if test "${cross_compiling}" = "yes"; then
    
       AC_MSG_NOTICE( Cross Compilation = YES)