Add C++ Standard detection to configure and fix a new C++20 compile issue

* The autoconf-archive package contains macros useful for detecting C++
  standard and testing other C++ capabilities but that package was never
  included in the install_prereq script so many existing build environments
  won't have it.  Even if it is installed, older versions won't newer C++
  standards and will actually cause an error if you try to test for that
  version. To make it available for those environments, the
  ax_cxx_compile_stdcxx.m4 macro has copied from the latest release of
  autoconf-archive into the autoconf directory.

* A convenience wrapper(ast_cxx_check_std) around ax_cxx_compile_stdcxx was
  also added so checking the standard version and setting the
  asterisk-specific PBX_ variables becomes a one-liner:
  `AST_CXX_CHECK_STD([std], [force_latest_std])`.
  Calling that with a version of `17` for instance, will set PBX_CXX17
  to 0 or 1 depending on whether the current c++ compiler supports stdc++17.
  HAVE_CXX17 will also be 'defined" or not depending on the result.

* C++ compilers hardly ever default to the latest standard they support.  g++
  version 14 for instance supports up to C++23 but only uses C++17 by default.
  If you want to use C++23, you have to add `-std=gnu++=23` to the g++
  command line.  If you set the second argument of AST_CXX_CHECK_STD to "yes",
  the macro will automatically keep the highest `-std=gnu++` value that
  worked and pass that to the Makefiles.

* The autoconf-archive package was added to install_prereq for future use.

* Updated configure.ac to use AST_CXX_CHECK_STD() to check for C++
  versions 11, 14, 17, 20 and 23.

* Updated configure.ac to accept the `--enable-latest-cxx-std` option which
  will set the second option to AST_CXX_CHECK_STD() to "yes".  The default
  is "no".

* ast_copy_string() in strings.h declares the 'sz' variable as volatile and
  does an `sz--` on it later.  C++20 no longer allows the `++` and `--`
  increment and decrement operators to be used on variables declared as
  volatile however so that was changed to `sz -= 1`.
pull/1038/head
George Joseph 4 months ago committed by asterisk-org-access-app[bot]
parent 5ed7f4d152
commit 62ec48cf1c

@ -0,0 +1,23 @@
# AST_CXX_CHECK_STD([standard], [force latest std?])
# Check if the C++ compiler supprts a specific standard.
# If the second argument is "yes", forse the compiler to
# use the latest standard it supports by keeping the last
# -std=gnu++=XX option that worked.
AC_DEFUN([AST_CXX_CHECK_STD],
[
PBX_CXX$1=0
if test "$2" != "yes" ; then
ast_cxx_check_std_save_CXX="${CXX}"
ast_cxx_check_std_save_CXXCPP="${CXXCPP}"
fi
AX_CXX_COMPILE_STDCXX($1, , optional)
if test "$HAVE_CXX$1" = "1";
then
PBX_CXX$1=1
fi
AC_SUBST(PBX_CXX$1)
if test "$2" != "yes" ; then
CXX="${ast_cxx_check_std_save_CXX}"
CXXCPP="${ast_cxx_check_std_save_CXXCPP}"
fi
])

File diff suppressed because it is too large Load Diff

@ -75,3 +75,8 @@ HAVE_LEAK_SANITIZER=@AST_LEAK_SANITIZER@
HAVE_THREAD_SANITIZER=@AST_THREAD_SANITIZER@
HAVE_UNDEFINED_SANITIZER=@AST_UNDEFINED_SANITIZER@
NO_BINARY_MODULES=@PBX_NO_BINARY_MODULES@
CXX11=@PBX_CXX11@
CXX14=@PBX_CXX14@
CXX17=@PBX_CXX17@
CXX20=@PBX_CXX20@
CXX23=@PBX_CXX23@

18498
configure vendored

File diff suppressed because it is too large Load Diff

@ -240,6 +240,25 @@ fi
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_CXXCPP
# Do we want to force the C++ compiler to use the latest standard it supports?
AC_ARG_ENABLE([latest-cxx-std],
[AS_HELP_STRING([--enable-latest-cxx-std],
[Force C++ compiler to use the latest standard it supports])],
[case "${enableval}" in
y|ye|yes) ENABLE_LATEST_CXX_STD=yes ;;
n|no) ENABLE_LATEST_CXX_STD=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-latest-cxx-std) ;;
esac], [ENABLE_LATEST_CXX_STD=no])
# Check to see if the C++ compiler supports STDC++11,14,17,20,23
# These MUST be in ascending order.
AST_CXX_CHECK_STD([11], [${ENABLE_LATEST_CXX_STD}])
AST_CXX_CHECK_STD([14], [${ENABLE_LATEST_CXX_STD}])
AST_CXX_CHECK_STD([17], [${ENABLE_LATEST_CXX_STD}])
AST_CXX_CHECK_STD([20], [${ENABLE_LATEST_CXX_STD}])
AST_CXX_CHECK_STD([23], [${ENABLE_LATEST_CXX_STD}])
# This macro is just copied into our local acinclude.m4 from libtool.m4 so that
# the developers regenerating the configure script don't have to install libtool.
AST_PROG_LD # note, does not work on FreeBSD
@ -844,7 +863,7 @@ AC_FUNC_CLOSEDIR_VOID
AC_FUNC_ERROR_AT_LINE
AST_FUNC_FORK
AC_FUNC_FSEEKO
AC_PROG_GCC_TRADITIONAL
# AC_PROG_GCC_TRADITIONAL Obsolete
# XXX: these are commented out until we determine whether it matters if our malloc()
# acts exactly like glibc's or not
# AC_FUNC_MALLOC

@ -19,7 +19,7 @@ usage() {
}
# Basic build system:
PACKAGES_DEBIAN="build-essential pkg-config"
PACKAGES_DEBIAN="build-essential pkg-config autoconf-archive"
# Asterisk: basic requirements:
PACKAGES_DEBIAN="$PACKAGES_DEBIAN libedit-dev libjansson-dev libsqlite3-dev uuid-dev libxml2-dev"
# Asterisk: for addons:
@ -35,7 +35,7 @@ PACKAGES_DEBIAN="$PACKAGES_DEBIAN wget subversion"
PACKAGES_DEBIAN="$PACKAGES_DEBIAN bzip2 patch"
# Basic build system:
PACKAGES_RH="make gcc gcc-c++ pkgconfig"
PACKAGES_RH="make gcc gcc-c++ pkgconfig autoconf-archive"
# Asterisk: basic requirements:
PACKAGES_RH="$PACKAGES_RH libedit-devel jansson-devel libuuid-devel sqlite-devel libxml2-devel"
# Asterisk: for addons:
@ -51,7 +51,7 @@ PACKAGES_RH="$PACKAGES_RH wget subversion"
PACKAGES_RH="$PACKAGES_RH bzip2 patch"
# Basic build system:
PACKAGES_SUSE="make gcc gcc-c++ pkg-config"
PACKAGES_SUSE="make gcc gcc-c++ pkg-config autoconf-archive"
# Asterisk: basic requirements:
PACKAGES_SUSE="$PACKAGES_SUSE libedit-devel libjansson-devel libuuid-devel sqlite3-devel libxml2-devel"
# Asterisk: for addons:
@ -67,7 +67,7 @@ PACKAGES_SUSE="$PACKAGES_SUSE wget subversion"
PACKAGES_SUSE="$PACKAGES_SUSE bzip2 patch"
# Basic build system:
PACKAGES_ARCH="make gcc pkg-config"
PACKAGES_ARCH="make gcc pkg-config autoconf-archive"
# Asterisk: basic requirements:
PACKAGES_ARCH="$PACKAGES_ARCH libedit jansson libutil-linux libxml2 sqlite"
# Asterisk: for addons:
@ -131,7 +131,7 @@ PACKAGES_OBSD="$PACKAGES_OBSD wget subversion"
PACKAGES_OBSD="$PACKAGES_OBSD bzip2"
# Basic build system:
PACKAGES_FBSD="gmake pkgconf"
PACKAGES_FBSD="gmake pkgconf autoconf-archive"
# Asterisk: basic requirements:
PACKAGES_FBSD="$PACKAGES_FBSD libedit jansson e2fsprogs-libuuid sqlite3 libxml2"
# Asterisk: for addons:

@ -19,7 +19,7 @@
of a mutex to its initializer. */
#undef CAN_COMPARE_MUTEX_TO_INIT_VALUE
/* Define to 1 if the `closedir' function returns void instead of int. */
/* Define to 1 if the 'closedir' function returns void instead of int. */
#undef CLOSEDIR_VOID
/* Some configure tests will unexpectedly fail if configure is run by a
@ -32,10 +32,10 @@
/* Define to 1 if anonymous semaphores work. */
#undef HAS_WORKING_SEMAPHORE
/* Define to 1 if you have the `acos' function. */
/* Define to 1 if you have the 'acos' function. */
#undef HAVE_ACOS
/* Define to 1 if you have the `acosl' function. */
/* Define to 1 if you have the 'acosl' function. */
#undef HAVE_ACOSL
/* Define to 1 if you have 'alloca', as a function or macro. */
@ -50,31 +50,31 @@
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#undef HAVE_ARPA_NAMESER_H
/* Define to 1 if you have the `asin' function. */
/* Define to 1 if you have the 'asin' function. */
#undef HAVE_ASIN
/* Define to 1 if you have the `asinl' function. */
/* Define to 1 if you have the 'asinl' function. */
#undef HAVE_ASINL
/* Define to 1 if you have the `asprintf' function. */
/* Define to 1 if you have the 'asprintf' function. */
#undef HAVE_ASPRINTF
/* Define to 1 if you have the <assert.h> header file. */
#undef HAVE_ASSERT_H
/* Define to 1 if you have the `atan' function. */
/* Define to 1 if you have the 'atan' function. */
#undef HAVE_ATAN
/* Define to 1 if you have the `atan2' function. */
/* Define to 1 if you have the 'atan2' function. */
#undef HAVE_ATAN2
/* Define to 1 if you have the `atan2l' function. */
/* Define to 1 if you have the 'atan2l' function. */
#undef HAVE_ATAN2L
/* Define to 1 if you have the `atanl' function. */
/* Define to 1 if you have the 'atanl' function. */
#undef HAVE_ATANL
/* Define to 1 if you have the `atexit' function. */
/* Define to 1 if you have the 'atexit' function. */
#undef HAVE_ATEXIT
/* Define to 1 if your GCC C compiler supports the 'always_inline' attribute.
@ -127,7 +127,7 @@
/* Define to 1 if you have the Bluetooth library. */
#undef HAVE_BLUETOOTH
/* Define to 1 if you have the file `bridges/bridge_softmix/include/hrirs.h'.
/* Define to 1 if you have the file 'bridges/bridge_softmix/include/hrirs.h'.
*/
#undef HAVE_BRIDGES_BRIDGE_SOFTMIX_INCLUDE_HRIRS_H
@ -137,16 +137,16 @@
/* Define to 1 if you have the POSIX 1.e capabilities library. */
#undef HAVE_CAP
/* Define to 1 if you have the `ceil' function. */
/* Define to 1 if you have the 'ceil' function. */
#undef HAVE_CEIL
/* Define to 1 if you have the `ceill' function. */
/* Define to 1 if you have the 'ceill' function. */
#undef HAVE_CEILL
/* Define to 1 if your system has a working `chown' function. */
/* Define to 1 if your system has a working 'chown' function. */
#undef HAVE_CHOWN
/* Define to 1 if you have the `closefrom' function. */
/* Define to 1 if you have the 'closefrom' function. */
#undef HAVE_CLOSEFROM
/* Define to 1 if you have the Codec 2 Audio Decoder/Encoder library. */
@ -158,10 +158,10 @@
/* Define to 1 if COROSYNC has the A callback only in corosync 1.x feature. */
#undef HAVE_COROSYNC_CFG_STATE_TRACK
/* Define to 1 if you have the `cos' function. */
/* Define to 1 if you have the 'cos' function. */
#undef HAVE_COS
/* Define to 1 if you have the `cosl' function. */
/* Define to 1 if you have the 'cosl' function. */
#undef HAVE_COSL
/* Define to 1 if you have the 'crypt' function. */
@ -179,6 +179,21 @@
/* Define to 1 if you have a functional curl library. */
#undef HAVE_CURL
/* define if the compiler supports basic C++11 syntax */
#undef HAVE_CXX11
/* define if the compiler supports basic C++14 syntax */
#undef HAVE_CXX14
/* define if the compiler supports basic C++17 syntax */
#undef HAVE_CXX17
/* define if the compiler supports basic C++20 syntax */
#undef HAVE_CXX20
/* define if the compiler supports basic C++23 syntax */
#undef HAVE_CXX23
/* Define to 1 if your C compiler provides __atomic operations. */
#undef HAVE_C_ATOMICS
@ -197,11 +212,11 @@
/* Define DAHDI headers version */
#undef HAVE_DAHDI_VERSION
/* Define to 1 if you have the declaration of `gethostbyname_r', and to 0 if
/* Define to 1 if you have the declaration of 'gethostbyname_r', and to 0 if
you don't. */
#undef HAVE_DECL_GETHOSTBYNAME_R
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
/* Define to 1 if you have the <dirent.h> header file, and it defines 'DIR'.
*/
#undef HAVE_DIRENT_H
@ -211,44 +226,44 @@
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* Define to 1 if you don't have 'vprintf' but do have '_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the `dup2' function. */
/* Define to 1 if you have the 'dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the `eaccess' function. */
/* Define to 1 if you have the 'eaccess' function. */
#undef HAVE_EACCESS
/* Define to 1 if you have the `endpwent' function. */
/* Define to 1 if you have the 'endpwent' function. */
#undef HAVE_ENDPWENT
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the `euidaccess' function. */
/* Define to 1 if you have the 'euidaccess' function. */
#undef HAVE_EUIDACCESS
/* Define to 1 if your system supports eventfd and the EFD_NONBLOCK and
EFD_SEMAPHORE flags. */
#undef HAVE_EVENTFD
/* Define to 1 if you have the `exp' function. */
/* Define to 1 if you have the 'exp' function. */
#undef HAVE_EXP
/* Define to 1 if you have the `exp10' function. */
/* Define to 1 if you have the 'exp10' function. */
#undef HAVE_EXP10
/* Define to 1 if you have the `exp10l' function. */
/* Define to 1 if you have the 'exp10l' function. */
#undef HAVE_EXP10L
/* Define to 1 if you have the `exp2' function. */
/* Define to 1 if you have the 'exp2' function. */
#undef HAVE_EXP2
/* Define to 1 if you have the `exp2l' function. */
/* Define to 1 if you have the 'exp2l' function. */
#undef HAVE_EXP2L
/* Define to 1 if you have the `expl' function. */
/* Define to 1 if you have the 'expl' function. */
#undef HAVE_EXPL
/* Define to 1 if you have the <fcntl.h> header file. */
@ -257,7 +272,7 @@
/* Define to 1 if you have the Ffmpeg and avcodec library. */
#undef HAVE_FFMPEG
/* Define to 1 if you have the `ffsll' function. */
/* Define to 1 if you have the 'ffsll' function. */
#undef HAVE_FFSLL
/* Define to 1 if you have the LIBFFTW3 library. */
@ -266,37 +281,37 @@
/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
/* Define to 1 if you have the `floor' function. */
/* Define to 1 if you have the 'floor' function. */
#undef HAVE_FLOOR
/* Define to 1 if you have the `floorl' function. */
/* Define to 1 if you have the 'floorl' function. */
#undef HAVE_FLOORL
/* Define to 1 if you have the `fmod' function. */
/* Define to 1 if you have the 'fmod' function. */
#undef HAVE_FMOD
/* Define to 1 if you have the `fmodl' function. */
/* Define to 1 if you have the 'fmodl' function. */
#undef HAVE_FMODL
/* Define to 1 if you have the `fork' function. */
/* Define to 1 if you have the 'fork' function. */
#undef HAVE_FORK
/* Define to 1 if you have the FreeTDS library. */
#undef HAVE_FREETDS
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
/* Define to 1 if fseeko (and ftello) are declared in stdio.h. */
#undef HAVE_FSEEKO
/* Define to 1 if you have the `ftruncate' function. */
/* Define to 1 if you have the 'ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define to 1 if your GCC C compiler provides __sync atomic operations. */
#undef HAVE_GCC_ATOMICS
/* Define to 1 if you have the `getcwd' function. */
/* Define to 1 if you have the 'getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyname' function. */
/* Define to 1 if you have the 'gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME
/* Define to 1 if your system has gethostbyname_r with 5 arguments. */
@ -305,25 +320,25 @@
/* Define to 1 if your system has gethostbyname_r with 6 arguments. */
#undef HAVE_GETHOSTBYNAME_R_6
/* Define to 1 if you have the `gethostname' function. */
/* Define to 1 if you have the 'gethostname' function. */
#undef HAVE_GETHOSTNAME
/* Define if your system has the GETIFADDRS headers. */
#undef HAVE_GETIFADDRS
/* Define to 1 if you have the `getloadavg' function. */
/* Define to 1 if you have the 'getloadavg' function. */
#undef HAVE_GETLOADAVG
/* Define to 1 if you have the `getpagesize' function. */
/* Define to 1 if you have the 'getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `getpeereid' function. */
/* Define to 1 if you have the 'getpeereid' function. */
#undef HAVE_GETPEEREID
/* Define to 1 if you have the `gettimeofday' function. */
/* Define to 1 if you have the 'gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `glob' function. */
/* Define to 1 if you have the 'glob' function. */
#undef HAVE_GLOB
/* Define if your system has the GLOB_BRACE headers. */
@ -375,10 +390,10 @@
or greater. */
#undef HAVE_IMAP_TK2006
/* Define to 1 if you have the `inet_aton' function. */
/* Define to 1 if you have the 'inet_aton' function. */
#undef HAVE_INET_ATON
/* Define to 1 if you have the `inet_ntoa' function. */
/* Define to 1 if you have the 'inet_ntoa' function. */
#undef HAVE_INET_NTOA
/* Define to 1 if you have the inotify support library. */
@ -390,13 +405,13 @@
/* Define to 1 if you have the iODBC library. */
#undef HAVE_IODBC
/* Define to 1 if you have the `ioperm' function. */
/* Define to 1 if you have the 'ioperm' function. */
#undef HAVE_IOPERM
/* Define if your system has the IP_MTU_DISCOVER headers. */
#undef HAVE_IP_MTU_DISCOVER
/* Define to 1 if you have the `isascii' function. */
/* Define to 1 if you have the 'isascii' function. */
#undef HAVE_ISASCII
/* Define to 1 if you have the Jack Audio Connection Kit library. */
@ -408,7 +423,7 @@
/* Define if your system has JANSSON_BUNDLED */
#undef HAVE_JANSSON_BUNDLED
/* Define to 1 if you have the `kevent64' function. */
/* Define to 1 if you have the 'kevent64' function. */
#undef HAVE_KEVENT64
/* Define to 1 if you have the kqueue support library. */
@ -432,7 +447,7 @@
/* Define if your system has LIBJWT_BUNDLED */
#undef HAVE_LIBJWT_BUNDLED
/* Define to 1 if you have the `m' library (-lm). */
/* Define to 1 if you have the 'm' library (-lm). */
#undef HAVE_LIBM
/* Define if your system has the LIBXML2 libraries. */
@ -462,26 +477,26 @@
/* Define to 1 if your system defines the locale_t type in xlocale.h */
#undef HAVE_LOCALE_T_IN_XLOCALE_H
/* Define to 1 if you have the `log' function. */
/* Define to 1 if you have the 'log' function. */
#undef HAVE_LOG
/* Define to 1 if you have the `log10' function. */
/* Define to 1 if you have the 'log10' function. */
#undef HAVE_LOG10
/* Define to 1 if you have the `log10l' function. */
/* Define to 1 if you have the 'log10l' function. */
#undef HAVE_LOG10L
/* Define to 1 if you have the `log2' function. */
/* Define to 1 if you have the 'log2' function. */
#undef HAVE_LOG2
/* Define to 1 if you have the `log2l' function. */
/* Define to 1 if you have the 'log2l' function. */
#undef HAVE_LOG2L
/* Define to 1 if you have the `logl' function. */
/* Define to 1 if you have the 'logl' function. */
#undef HAVE_LOGL
/* Define to 1 if the type `long double' works and has more range or precision
than `double'. */
/* Define to 1 if the type 'long double' works and has more range or precision
than 'double'. */
#undef HAVE_LONG_DOUBLE_WIDER
/* Define to 1 if you have the Lua library. */
@ -490,34 +505,34 @@
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define to 1 if you have the `malloc_trim' function. */
/* Define to 1 if you have the 'malloc_trim' function. */
#undef HAVE_MALLOC_TRIM
/* Define to 1 if you have the <math.h> header file. */
#undef HAVE_MATH_H
/* Define to 1 if you have the `memchr' function. */
/* Define to 1 if you have the 'memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memmove' function. */
/* Define to 1 if you have the 'memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the `memset' function. */
/* Define to 1 if you have the 'memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the <minix/config.h> header file. */
#undef HAVE_MINIX_CONFIG_H
/* Define to 1 if you have the `mkdir' function. */
/* Define to 1 if you have the 'mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the `mkdtemp' function. */
/* Define to 1 if you have the 'mkdtemp' function. */
#undef HAVE_MKDTEMP
/* Define to 1 if you have a working `mmap' system call. */
/* Define to 1 if you have a working 'mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the `munmap' function. */
/* Define to 1 if you have the 'munmap' function. */
#undef HAVE_MUNMAP
/* Define if your system has the MYSQLCLIENT libraries. */
@ -529,7 +544,7 @@
/* Define to 1 if mysql/mysql.h has my_bool defined. */
#undef HAVE_MYSQLCLIENT_MY_BOOL
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* Define to 1 if you have the <ndir.h> header file, and it defines 'DIR'. */
#undef HAVE_NDIR_H
/* Define if your system has the NEON libraries. */
@ -547,7 +562,7 @@
/* Define if your system has the NETSNMP libraries. */
#undef HAVE_NETSNMP
/* Define to 1 if you have the `newlocale' function. */
/* Define to 1 if you have the 'newlocale' function. */
#undef HAVE_NEWLOCALE
/* Define to 1 if you have the newt library. */
@ -595,7 +610,7 @@
/* Define to indicate presence of the pg_encoding_to_char API. */
#undef HAVE_PGSQL_pg_encoding_to_char
/* Define to 1 if you have the `pipe2' function. */
/* Define to 1 if you have the 'pipe2' function. */
#undef HAVE_PIPE2
/* Define if your system has the PJPROJECT libraries. */
@ -685,13 +700,13 @@
/* Define if your system has the PORTAUDIO libraries. */
#undef HAVE_PORTAUDIO
/* Define to 1 if you have the `pow' function. */
/* Define to 1 if you have the 'pow' function. */
#undef HAVE_POW
/* Define to 1 if you have the `powl' function. */
/* Define to 1 if you have the 'powl' function. */
#undef HAVE_POWL
/* Define to 1 if you have the `ppoll' function. */
/* Define to 1 if you have the 'ppoll' function. */
#undef HAVE_PPOLL
/* Define to 1 if you have the ISDN PRI library. */
@ -796,10 +811,10 @@
/* Define to 1 if your system has pthread_spinlock_t in pthread.h */
#undef HAVE_PTHREAD_SPINLOCK
/* Define to 1 if the system has the type `ptrdiff_t'. */
/* Define to 1 if the system has the type 'ptrdiff_t'. */
#undef HAVE_PTRDIFF_T
/* Define to 1 if you have the `putenv' function. */
/* Define to 1 if you have the 'putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the <pwd.h> header file. */
@ -811,16 +826,16 @@
/* Define to 1 if you have the Radius Client library. */
#undef HAVE_RADIUS
/* Define to 1 if you have the `regcomp' function. */
/* Define to 1 if you have the 'regcomp' function. */
#undef HAVE_REGCOMP
/* Define to 1 if you have the <regex.h> header file. */
#undef HAVE_REGEX_H
/* Define to 1 if you have the `remainder' function. */
/* Define to 1 if you have the 'remainder' function. */
#undef HAVE_REMAINDER
/* Define to 1 if you have the `remainderl' function. */
/* Define to 1 if you have the 'remainderl' function. */
#undef HAVE_REMAINDERL
/* Define to 1 if you have the LIBRESAMPLE library. */
@ -838,22 +853,22 @@
/* Define to 1 if your system has the re-entrant resolver functions. */
#undef HAVE_RES_NINIT
/* Define to 1 if you have the `re_comp' function. */
/* Define to 1 if you have the 're_comp' function. */
#undef HAVE_RE_COMP
/* Define to 1 if you have the `rint' function. */
/* Define to 1 if you have the 'rint' function. */
#undef HAVE_RINT
/* Define to 1 if you have the `rintl' function. */
/* Define to 1 if you have the 'rintl' function. */
#undef HAVE_RINTL
/* Define to 1 if you have the `round' function. */
/* Define to 1 if you have the 'round' function. */
#undef HAVE_ROUND
/* Define to 1 if you have the `roundf' function. */
/* Define to 1 if you have the 'roundf' function. */
#undef HAVE_ROUNDF
/* Define to 1 if you have the `roundl' function. */
/* Define to 1 if you have the 'roundl' function. */
#undef HAVE_ROUNDL
/* Define to 1 if rt has the Realtime functions feature. */
@ -874,22 +889,22 @@
/* Define to 1 if you have the Sdl Image library. */
#undef HAVE_SDL_IMAGE
/* Define to 1 if you have the `select' function. */
/* Define to 1 if you have the 'select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setenv' function. */
/* Define to 1 if you have the 'setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `sin' function. */
/* Define to 1 if you have the 'sin' function. */
#undef HAVE_SIN
/* Define to 1 if you have the `sinl' function. */
/* Define to 1 if you have the 'sinl' function. */
#undef HAVE_SINL
/* Define to 1 if you have the libsndfile library. */
#undef HAVE_SNDFILE
/* Define to 1 if you have the `socket' function. */
/* Define to 1 if you have the 'socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if your socket() implementation can accept SOCK_NONBLOCK. */
@ -913,7 +928,7 @@
/* Define to 1 if you have the SQLite library. */
#undef HAVE_SQLITE3
/* Define to 1 if you have the `sqrtl' function. */
/* Define to 1 if you have the 'sqrtl' function. */
#undef HAVE_SQRTL
/* Define to 1 if you have the Secure RTP library. */
@ -941,7 +956,7 @@
/* Define to 1 if you have the ISDN SS7 library. */
#undef HAVE_SS7
/* Define to 1 if `stat' has the bug that it succeeds when given the
/* Define to 1 if 'stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
@ -963,29 +978,29 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
/* Define to 1 if you have the 'strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strcasestr' function. */
/* Define to 1 if you have the 'strcasestr' function. */
#undef HAVE_STRCASESTR
/* Define to 1 if you have the `strchr' function. */
/* Define to 1 if you have the 'strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strcoll' function and it is properly defined.
/* Define to 1 if you have the 'strcoll' function and it is properly defined.
*/
#undef HAVE_STRCOLL
/* Define to 1 if you have the `strcspn' function. */
/* Define to 1 if you have the 'strcspn' function. */
#undef HAVE_STRCSPN
/* Define to 1 if you have the `strdup' function. */
/* Define to 1 if you have the 'strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
/* Define to 1 if you have the 'strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strftime' function. */
/* Define to 1 if you have the 'strftime' function. */
#undef HAVE_STRFTIME
/* Define to 1 if you have the <strings.h> header file. */
@ -994,76 +1009,76 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strlcat' function. */
/* Define to 1 if you have the 'strlcat' function. */
#undef HAVE_STRLCAT
/* Define to 1 if you have the `strlcpy' function. */
/* Define to 1 if you have the 'strlcpy' function. */
#undef HAVE_STRLCPY
/* Define to 1 if you have the `strncasecmp' function. */
/* Define to 1 if you have the 'strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define to 1 if you have the `strndup' function. */
/* Define to 1 if you have the 'strndup' function. */
#undef HAVE_STRNDUP
/* Define to 1 if you have the `strnlen' function. */
/* Define to 1 if you have the 'strnlen' function. */
#undef HAVE_STRNLEN
/* Define to 1 if you have the `strrchr' function. */
/* Define to 1 if you have the 'strrchr' function. */
#undef HAVE_STRRCHR
/* Define to 1 if you have the `strsep' function. */
/* Define to 1 if you have the 'strsep' function. */
#undef HAVE_STRSEP
/* Define to 1 if you have the `strspn' function. */
/* Define to 1 if you have the 'strspn' function. */
#undef HAVE_STRSPN
/* Define to 1 if you have the `strstr' function. */
/* Define to 1 if you have the 'strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtod' function. */
/* Define to 1 if you have the 'strtod' function. */
#undef HAVE_STRTOD
/* Define to 1 if you have the `strtol' function. */
/* Define to 1 if you have the 'strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtold' function. */
/* Define to 1 if you have the 'strtold' function. */
#undef HAVE_STRTOLD
/* Define to 1 if you have the `strtoq' function. */
/* Define to 1 if you have the 'strtoq' function. */
#undef HAVE_STRTOQ
/* Define to 1 if `ifr_ifru.ifru_hwaddr' is a member of `struct ifreq'. */
/* Define to 1 if 'ifr_ifru.ifru_hwaddr' is a member of 'struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_IFRU_IFRU_HWADDR
/* Define to 1 if `uid' is a member of `struct sockpeercred'. */
/* Define to 1 if 'uid' is a member of 'struct sockpeercred'. */
#undef HAVE_STRUCT_SOCKPEERCRED_UID
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
/* Define to 1 if 'st_blksize' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
/* Define to 1 if `st_mtim' is a member of `struct stat'. */
/* Define to 1 if 'st_mtim' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIM
/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */
/* Define to 1 if 'st_mtimensec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIMENSEC
/* Define to 1 if `st_mtimespec' is a member of `struct stat'. */
/* Define to 1 if 'st_mtimespec' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_MTIMESPEC
/* Define to 1 if `cr_uid' is a member of `struct ucred'. */
/* Define to 1 if 'cr_uid' is a member of 'struct ucred'. */
#undef HAVE_STRUCT_UCRED_CR_UID
/* Define to 1 if `uid' is a member of `struct ucred'. */
/* Define to 1 if 'uid' is a member of 'struct ucred'. */
#undef HAVE_STRUCT_UCRED_UID
/* Define to 1 if `_u._ext.nsaddrs' is a member of `struct __res_state'. */
/* Define to 1 if '_u._ext.nsaddrs' is a member of 'struct __res_state'. */
#undef HAVE_STRUCT___RES_STATE__U__EXT_NSADDRS
/* Define to 1 if you have the `swapctl' function. */
/* Define to 1 if you have the 'swapctl' function. */
#undef HAVE_SWAPCTL
/* Define to 1 if you have the `sysctl' function. */
/* Define to 1 if you have the 'sysctl' function. */
#undef HAVE_SYSCTL
/* Define to 1 if your system has sysinfo support */
@ -1108,7 +1123,7 @@
/* Define if your system has the SYSTEMD libraries. */
#undef HAVE_SYSTEMD
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
/* Define to 1 if you have the <sys/dir.h> header file, and it defines 'DIR'.
*/
#undef HAVE_SYS_DIR_H
@ -1128,7 +1143,7 @@
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines 'DIR'.
*/
#undef HAVE_SYS_NDIR_H
@ -1162,10 +1177,10 @@
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `tan' function. */
/* Define to 1 if you have the 'tan' function. */
#undef HAVE_TAN
/* Define to 1 if you have the `tanl' function. */
/* Define to 1 if you have the 'tanl' function. */
#undef HAVE_TANL
/* Define to 1 if you have the <termios.h> header file. */
@ -1183,10 +1198,10 @@
/* Define to 1 if you have the tonezone library. */
#undef HAVE_TONEZONE
/* Define to 1 if you have the `trunc' function. */
/* Define to 1 if you have the 'trunc' function. */
#undef HAVE_TRUNC
/* Define to 1 if you have the `truncl' function. */
/* Define to 1 if you have the 'truncl' function. */
#undef HAVE_TRUNCL
/* Define to 1 if you have the unbound library. */
@ -1198,35 +1213,35 @@
/* Define to 1 if you have the unixODBC library. */
#undef HAVE_UNIXODBC
/* Define to 1 if you have the `unsetenv' function. */
/* Define to 1 if you have the 'unsetenv' function. */
#undef HAVE_UNSETENV
/* Define to 1 if you have the uriparser library library. */
#undef HAVE_URIPARSER
/* Define to 1 if you have the `uselocale' function. */
/* Define to 1 if you have the 'uselocale' function. */
#undef HAVE_USELOCALE
/* Define to 1 if you have the `utime' function. */
/* Define to 1 if you have the 'utime' function. */
#undef HAVE_UTIME
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
/* Define to 1 if 'utime(file, NULL)' sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL
/* Define to 1 if you have the `uuid_generate_random' function. */
/* Define to 1 if you have the 'uuid_generate_random' function. */
#undef HAVE_UUID_GENERATE_RANDOM
/* Define to 1 if your system can support larger than default select bitmasks.
*/
#undef HAVE_VARIABLE_FDSET
/* Define to 1 if you have the `vasprintf' function. */
/* Define to 1 if you have the 'vasprintf' function. */
#undef HAVE_VASPRINTF
/* Define to 1 if you have the `vfork' function. */
/* Define to 1 if you have the 'vfork' function. */
#undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */
@ -1241,7 +1256,7 @@
/* Define if your system has OV_CALLBACKS_NOCLOSE declared. */
#undef HAVE_VORBIS_OPEN_CALLBACKS
/* Define to 1 if you have the `vprintf' function. */
/* Define to 1 if you have the 'vprintf' function. */
#undef HAVE_VPRINTF
/* Define to 1 if you have the <wchar.h> header file. */
@ -1271,7 +1286,7 @@
/* Define to 1 if you have the zlib compression library. */
#undef HAVE_ZLIB
/* Define to 1 if the system has the type `_Bool'. */
/* Define to 1 if the system has the type '_Bool'. */
#undef HAVE__BOOL
/* Defined if libcurl supports AsynchDNS */
@ -1337,7 +1352,7 @@
/* Defined if libcurl supports TFTP */
#undef LIBCURL_PROTOCOL_TFTP
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
@ -1369,28 +1384,28 @@
/* Name of RADIUS library include header */
#undef RADIUS_HEADER_STR
/* Define to the type of arg 1 for `select'. */
/* Define to the type of arg 1 for 'select'. */
#undef SELECT_TYPE_ARG1
/* Define to the type of args 2, 3 and 4 for `select'. */
/* Define to the type of args 2, 3 and 4 for 'select'. */
#undef SELECT_TYPE_ARG234
/* Define to the type of arg 5 for `select'. */
/* Define to the type of arg 5 for 'select'. */
#undef SELECT_TYPE_ARG5
/* The size of `char *', as computed by sizeof. */
/* The size of 'char *', as computed by sizeof. */
#undef SIZEOF_CHAR_P
/* The size of `fd_set.fds_bits', as computed by sizeof. */
/* The size of 'fd_set.fds_bits', as computed by sizeof. */
#undef SIZEOF_FD_SET_FDS_BITS
/* The size of `int', as computed by sizeof. */
/* The size of 'int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of `long', as computed by sizeof. */
/* The size of 'long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `long long', as computed by sizeof. */
/* The size of 'long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* If using the C implementation of alloca, define if you know the
@ -1401,18 +1416,18 @@
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if all of the C90 standard headers exist (not just the ones
/* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* Define to 1 if your <sys/time.h> declares 'struct tm'. */
#undef TM_IN_SYS_TIME
/* Define to a type of the same size as fd_set.fds_bits[[0]] */
#undef TYPEOF_FD_SET_FDS_BITS
/* Enable extensions on AIX 3, Interix. */
/* Enable extensions on AIX, Interix, z/OS. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
@ -1473,11 +1488,15 @@
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# undef __STDC_WANT_IEC_60559_DFP_EXT__
#endif
/* Enable extensions specified by C23 Annex F. */
#ifndef __STDC_WANT_IEC_60559_EXT__
# undef __STDC_WANT_IEC_60559_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
#endif
@ -1514,47 +1533,53 @@
*/
#undef _HAVE_STRING_ARCH_strsep
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* Define to 1 if necessary to make fseeko visible. */
#undef _LARGEFILE_SOURCE
/* Define for large files, on AIX-style hosts. */
/* Define to 1 on platforms where this makes off_t a 64-bit type. */
#undef _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
/* Number of bits in time_t, on hosts where this is settable. */
#undef _TIME_BITS
/* Define to 1 on platforms where this makes time_t a 64-bit type. */
#undef __MINGW_USE_VC2005_COMPAT
/* Define to empty if 'const' does not conform to ANSI C. */
#undef const
/* Define curl_free() as free() if our version of curl lacks curl_free. */
#undef curl_free
/* Define to `int' if <sys/types.h> doesn't define. */
/* Define as 'int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
/* Define to '__inline__' or '__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `int' if <sys/types.h> does not define. */
/* Define to 'int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long int' if <sys/types.h> does not define. */
/* Define to 'long int' if <sys/types.h> does not define. */
#undef off_t
/* Define as a signed integer type capable of holding a process identifier. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* Define as 'unsigned int' if <stddef.h> doesn't define. */
#undef size_t
/* Define to `int' if <sys/types.h> doesn't define. */
/* Define as 'int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define as `fork' if `vfork' does not work. */
#undef vfork
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
/* Define to empty if the keyword 'volatile' does not work. Warning: valid
code using 'volatile' can become incorrect without. Disable with care. */
#undef volatile
#endif /* ASTERISK_AUTOCONFIG_H */

@ -416,7 +416,7 @@ void ast_copy_string(char *dst, const char *src, size_t size),
volatile char *sp = (char *)src;
while (*sp && sz) {
*dst++ = *sp++;
sz--;
sz -= 1;
}
if (__builtin_expect(!sz, 0))
dst--;

@ -13,13 +13,13 @@
/* Define to 1 if <alloca.h> works. */
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the `asprintf' function. */
/* Define to 1 if you have the 'asprintf' function. */
#undef HAVE_ASPRINTF
/* Define to 1 if you have the curses library. */
#undef HAVE_CURSES
/* Define to 1 if you have the `getloadavg' function. */
/* Define to 1 if you have the 'getloadavg' function. */
#undef HAVE_GETLOADAVG
/* Define if your system has the GTK2 libraries. */
@ -37,7 +37,7 @@
/* Define to 1 if you have the newt library. */
#undef HAVE_NEWT
/* Define to 1 if you have the `setenv' function. */
/* Define to 1 if you have the 'setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the <stdint.h> header file. */
@ -49,7 +49,7 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasestr' function. */
/* Define to 1 if you have the 'strcasestr' function. */
#undef HAVE_STRCASESTR
/* Define to 1 if you have the <strings.h> header file. */
@ -58,13 +58,13 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strndup' function. */
/* Define to 1 if you have the 'strndup' function. */
#undef HAVE_STRNDUP
/* Define to 1 if you have the `strnlen' function. */
/* Define to 1 if you have the 'strnlen' function. */
#undef HAVE_STRNLEN
/* Define to 1 if you have the `strsep' function. */
/* Define to 1 if you have the 'strsep' function. */
#undef HAVE_STRSEP
/* Define to 1 if you have the <sys/stat.h> header file. */
@ -79,10 +79,10 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `unsetenv' function. */
/* Define to 1 if you have the 'unsetenv' function. */
#undef HAVE_UNSETENV
/* Define to 1 if you have the `vasprintf' function. */
/* Define to 1 if you have the 'vasprintf' function. */
#undef HAVE_VASPRINTF
/* Define to the address where bug reports for this package should be sent. */
@ -111,12 +111,12 @@
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if all of the C90 standard headers exist (not just the ones
/* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* Define as 'unsigned int' if <stddef.h> doesn't define. */
#undef size_t
#endif

908
menuselect/configure vendored

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save