Created autoconf/ast_check_raii.m4: contains AST_CHECK_RAII which checks compiler requirements for RAII: gcc: -fnested-functions support clang: -fblocks (and if required -lBlocksRuntime) The original check was implemented in configure.ac and now has it's own file. This function also sets C_COMPILER_FAMILY to either gcc or clang for use by makefile Created autoconf/ast_check_strsep_array_bounds.m4 (contains AST_CHECK_STRSEP_ARRAY_BOUNDS): which checks if clang is able to handle the optimized strsep & strcmp functions (linux). If not, the standard libc implementation should be used instead. Clang + the optimized macro's work with: strsep(char *, char []), but not with strsepo(char *, char *). Instead of replacing all the occurences throughout the source code, not using the optimized macro version seemed easier See 'define __strcmp_gc(s1, s2, l2) in bits/string2.h': llvm-comment: Normally, this array-bounds warning are suppressed for macros, so that unused paths like the one that accesses __s1[3] are not warned about. But if you preprocess manually, and feed the result to another instance of clang, it will warn about all the possible forks of this particular if statement. Instead of switching of this optimization, another solution would be to run the preproces- sing step with -frewrite-includes, which should preserve enough information so that clang should still be able to suppress the diag- nostic at the compile step later on. See also "https://llvm.org/bugs/show_bug.cgi?id=20144" See also "https://llvm.org/bugs/show_bug.cgi?id=11536" Makefile.rules: If C_COMPILER_FAMILY=clang then add two warning suppressions: -Wno-unused-value -Wno-parentheses-equality In an earlier review (reviewboard: 4550 and 4554), they were deemed a nuisace and less than benefitial. configure.ac: Added AST_CHECK_RAII() see earlier Added AST_CHECK_STRSEP_ARRAY_BOUNDS() see earlier Removed moved content ASTERISK-24917 Change-Id: I12ea29d3bda2254ad3908e279b7effbbac6a97cb
356 lines
7.1 KiB
Text
356 lines
7.1 KiB
Text
# NOTE: Names of _INCLUDE and _LIB entries in this file must be
|
|
# the exact uppercase equivalents of the names used for
|
|
# dependencies in menuselect for the same package.
|
|
|
|
CC=@PTHREAD_CC@
|
|
HOST_CC=cc
|
|
BUILD_CC=cc
|
|
CXX=@CXX@
|
|
|
|
INSTALL=@INSTALL@
|
|
AWK=@AWK@
|
|
BISON=@BISON@
|
|
FLEX=@FLEX@
|
|
GREP=@GREP@
|
|
PYTHON=@PYTHON@
|
|
MAKE=@GNU_MAKE@
|
|
AR=@AR@
|
|
RANLIB=@RANLIB@
|
|
FIND=@FIND@
|
|
COMPRESS=@COMPRESS@
|
|
BASENAME=@BASENAME@
|
|
SHELL=@SHELL@
|
|
LN=@LN@
|
|
DOXYGEN=@DOXYGEN@
|
|
DOT=@DOT@
|
|
STRIP=@STRIP@
|
|
WGET=@WGET@
|
|
FETCH=@FETCH@
|
|
DOWNLOAD=@DOWNLOAD@
|
|
SOUNDS_CACHE_DIR=@SOUNDS_CACHE_DIR@
|
|
RUBBER=@RUBBER@
|
|
CATDVI=@CATDVI@
|
|
KPATHSEA=@KPATHSEA@
|
|
XMLLINT=@XMLLINT@
|
|
XMLSTARLET=@XMLSTARLET@
|
|
MD5=@MD5@
|
|
SHA1SUM=@SHA1SUM@
|
|
OPENSSL=@OPENSSL@
|
|
LDCONFIG=@LDCONFIG@
|
|
GIT=@GIT@
|
|
|
|
BUILD_PLATFORM=@BUILD_PLATFORM@
|
|
BUILD_CPU=@BUILD_CPU@
|
|
BUILD_VENDOR=@BUILD_VENDOR@
|
|
BUILD_OS=@BUILD_OS@
|
|
|
|
HOST_PLATFORM=@HOST_PLATFORM@
|
|
HOST_CPU=@HOST_CPU@
|
|
HOST_VENDOR=@HOST_VENDOR@
|
|
HOST_OS=@HOST_OS@
|
|
|
|
OSARCH=@OSARCH@
|
|
OSREV=@PBX_OSREV@
|
|
|
|
GC_CFLAGS=@GC_CFLAGS@
|
|
GC_LDFLAGS=@GC_LDFLAGS@
|
|
|
|
PTHREAD_CFLAGS=@PTHREAD_CFLAGS@
|
|
PTHREAD_LIBS=@PTHREAD_LIBS@
|
|
|
|
CONFIG_CFLAGS=@CONFIG_CFLAGS@
|
|
CONFIG_LDFLAGS=@CONFIG_LDFLAGS@
|
|
CONFIG_SIGNED_CHAR=@CONFIG_SIGNED_CHAR@
|
|
|
|
GNU_LD=@GNU_LD@
|
|
WEAKREF=@PBX_WEAKREF@
|
|
HAVE_DYNAMIC_LIST=@PBX_DYNAMIC_LIST@
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
includedir = @includedir@
|
|
infodir = @infodir@
|
|
libdir = @libdir@
|
|
libexecdir = @libexecdir@
|
|
localstatedir = @localstatedir@
|
|
mandir = @mandir@
|
|
sbindir = @sbindir@
|
|
sharedstatedir = @sharedstatedir@
|
|
sysconfdir = @sysconfdir@
|
|
|
|
ASTSBINDIR = @astsbindir@
|
|
ASTETCDIR = @astetcdir@
|
|
ASTHEADERDIR = @astheaderdir@
|
|
ASTLIBDIR = @astlibdir@
|
|
ASTMODDIR = @astmoddir@
|
|
ASTMANDIR = @astmandir@
|
|
astvarlibdir = @astvarlibdir@
|
|
ASTVARLIBDIR = @astvarlibdir@
|
|
ASTDATADIR = @astdatadir@
|
|
ASTDBDIR = @astdbdir@
|
|
ASTKEYDIR = @astkeydir@
|
|
ASTSPOOLDIR = @astspooldir@
|
|
ASTLOGDIR = @astlogdir@
|
|
ASTVARRUNDIR = @astvarrundir@
|
|
|
|
AST_DEVMODE=@AST_DEVMODE@
|
|
AST_DEVMODE_STRICT=@AST_DEVMODE_STRICT@
|
|
NOISY_BUILD=@NOISY_BUILD@
|
|
|
|
AST_CODE_COVERAGE=@AST_CODE_COVERAGE@
|
|
|
|
AST_ASTERISKSSL=@AST_ASTERISKSSL@
|
|
|
|
AST_DECLARATION_AFTER_STATEMENT=@AST_DECLARATION_AFTER_STATEMENT@
|
|
AST_TRAMPOLINES=@AST_TRAMPOLINES@
|
|
AST_NO_STRICT_OVERFLOW=@AST_NO_STRICT_OVERFLOW@
|
|
AST_SHADOW_WARNINGS=@AST_SHADOW_WARNINGS@
|
|
AST_NESTED_FUNCTIONS=@AST_NESTED_FUNCTIONS@
|
|
AST_CLANG_BLOCKS=@AST_CLANG_BLOCKS@
|
|
AST_CLANG_BLOCKS_LIBS=@AST_CLANG_BLOCKS_LIBS@
|
|
C_COMPILER_FAMILY=@AST_C_COMPILER_FAMILY@
|
|
AST_RPATH=@AST_RPATH@
|
|
AST_FORTIFY_SOURCE=@AST_FORTIFY_SOURCE@
|
|
AST_MARCH_NATIVE=@AST_MARCH_NATIVE@
|
|
|
|
ALSA_INCLUDE=@ALSA_INCLUDE@
|
|
ALSA_LIB=@ALSA_LIB@
|
|
|
|
BFD_INCLUDE=@BFD_INCLUDE@
|
|
BFD_LIB=@BFD_LIB@
|
|
|
|
BLUETOOTH_INCLUDE=@BLUETOOTH_INCLUDE@
|
|
BLUETOOTH_LIB=@BLUETOOTH_LIB@
|
|
|
|
CURL_INCLUDE=@CURL_INCLUDE@
|
|
CURL_LIB=@CURL_LIB@
|
|
|
|
CURSES_INCLUDE=@CURSES_INCLUDE@
|
|
CURSES_LIB=@CURSES_LIB@
|
|
CURSES_DIR=@CURSES_DIR@
|
|
|
|
EDITLINE_LIB=@EDITLINE_LIB@
|
|
|
|
FREETDS_INCLUDE=@FREETDS_INCLUDE@
|
|
FREETDS_LIB=@FREETDS_LIB@
|
|
|
|
GENERIC_ODBC_INCLUDE=@GENERIC_ODBC_INCLUDE@
|
|
GENERIC_ODBC_LIB=@GENERIC_ODBC_LIB@
|
|
|
|
GMIME_INCLUDE=@GMIME_INCLUDE@
|
|
GMIME_LIB=@GMIME_LIB@
|
|
|
|
HOARD_LIB=@HOARD_LIB@
|
|
|
|
GSM_INTERNAL=@GSM_INTERNAL@
|
|
GSM_INCLUDE=@GSM_INCLUDE@
|
|
GSM_LIB=@GSM_LIB@
|
|
|
|
ILBC_INTERNAL=@ILBC_INTERNAL@
|
|
ILBC_INCLUDE=@ILBC_INCLUDE@
|
|
ILBC_LIB=@ILBC_LIB@
|
|
|
|
GTK2_INCLUDE=@GTK2_INCLUDE@
|
|
GTK2_LIB=@GTK2_LIB@
|
|
|
|
ICAL_INCLUDE=@ICAL_INCLUDE@
|
|
ICAL_LIB=@ICAL_LIB@
|
|
|
|
ICONV_INCLUDE=@ICONV_INCLUDE@
|
|
ICONV_LIB=@ICONV_LIB@
|
|
|
|
IKSEMEL_INCLUDE=@IKSEMEL_INCLUDE@
|
|
IKSEMEL_LIB=@IKSEMEL_LIB@
|
|
|
|
IMAP_TK_INCLUDE=@IMAP_TK_INCLUDE@
|
|
IMAP_TK_LIB=@IMAP_TK_LIB@
|
|
|
|
IODBC_INCLUDE=@IODBC_INCLUDE@
|
|
IODBC_LIB=@IODBC_LIB@
|
|
|
|
JACK_INCLUDE=@JACK_INCLUDE@
|
|
JACK_LIB=@JACK_LIB@
|
|
|
|
JANSSON_INCLUDE=@JANSSON_INCLUDE@
|
|
JANSSON_LIB=@JANSSON_LIB@
|
|
|
|
URIPARSER_INCLUDE=@URIPARSER_INCLUDE@
|
|
URIPARSER_LIB=@URIPARSER_LIB@
|
|
|
|
LDAP_INCLUDE=@LDAP_INCLUDE@
|
|
LDAP_LIB=@LDAP_LIB@
|
|
|
|
LIBEDIT_INTERNAL=@LIBEDIT_INTERNAL@
|
|
LIBEDIT_INCLUDE=@LIBEDIT_INCLUDE@
|
|
LIBEDIT_LIB=@LIBEDIT_LIB@
|
|
|
|
LUA_INCLUDE=@LUA_INCLUDE@
|
|
LUA_LIB=@LUA_LIB@
|
|
|
|
MYSQLCLIENT_INCLUDE=@MYSQLCLIENT_INCLUDE@
|
|
MYSQLCLIENT_LIB=@MYSQLCLIENT_LIB@
|
|
|
|
NBS_INCLUDE=@NBS_INCLUDE@
|
|
NBS_LIB=@NBS_LIB@
|
|
|
|
NCURSES_INCLUDE=@NCURSES_INCLUDE@
|
|
NCURSES_LIB=@NCURSES_LIB@
|
|
NCURSES_DIR=@NCURSES_DIR@
|
|
|
|
NEON_INCLUDE=@NEON_INCLUDE@
|
|
NEON_LIB=@NEON_LIB@
|
|
NEON29_INCLUDE=@NEON_INCLUDE@
|
|
NEON29_LIB=@NEON_LIB@
|
|
|
|
NETSNMP_INCLUDE=@NETSNMP_INCLUDE@
|
|
NETSNMP_LIB=@NETSNMP_LIB@
|
|
|
|
NEWT_INCLUDE=@NEWT_INCLUDE@
|
|
NEWT_LIB=@NEWT_LIB@
|
|
|
|
OGG_INCLUDE=@OGG_INCLUDE@
|
|
OGG_LIB=@OGG_LIB@
|
|
|
|
OPUS_INCLUDE=@OPUS_INCLUDE@
|
|
OPUS_LIB=@OPUS_LIB@
|
|
|
|
OSPTK_INCLUDE=@OSPTK_INCLUDE@
|
|
OSPTK_LIB=@OSPTK_LIB@
|
|
|
|
# ossaudio can optionally use ffmpeg, x11, sdl and sdl_image.
|
|
# Because sdl_image in turn depends on sdl, we don't duplicate the include
|
|
OSS_INCLUDE=@OSS_INCLUDE@ @FFMPEG_INCLUDE@ @SDL_INCLUDE@ @X11_INCLUDE@
|
|
OSS_LIB=@OSS_LIB@ @FFMPEG_LIB@ @SDL_LIB@ @SDL_IMAGE_LIB@ @X11_LIB@
|
|
|
|
PGSQL_INCLUDE=@PGSQL_INCLUDE@
|
|
PGSQL_LIB=@PGSQL_LIB@
|
|
|
|
PJPROJECT_INCLUDE=@PJPROJECT_INCLUDE@
|
|
PJPROJECT_LIB=@PJPROJECT_LIB@
|
|
|
|
POPT_INCLUDE=@POPT_INCLUDE@
|
|
POPT_LIB=@POPT_LIB@
|
|
|
|
PORTAUDIO_INCLUDE=@PORTAUDIO_INCLUDE@
|
|
PORTAUDIO_LIB=@PORTAUDIO_LIB@
|
|
|
|
PRI_INCLUDE=@PRI_INCLUDE@
|
|
PRI_LIB=@PRI_LIB@
|
|
|
|
RESAMPLE_INCLUDE=@RESAMPLE_INCLUDE@
|
|
RESAMPLE_LIB=@RESAMPLE_LIB@
|
|
|
|
SS7_INCLUDE=@SS7_INCLUDE@
|
|
SS7_LIB=@SS7_LIB@
|
|
|
|
OPENR2_INCLUDE=@OPENR2_INCLUDE@
|
|
OPENR2_LIB=@OPENR2_LIB@
|
|
|
|
PWLIB_INCLUDE=@PWLIB_INCLUDE@
|
|
PWLIB_LIB=@PWLIB_LIB@
|
|
|
|
COROSYNC_INCLUDE=@COROSYNC_INCLUDE@
|
|
COROSYNC_LIB=@COROSYNC_LIB@
|
|
|
|
RADIUS_INCLUDE=@RADIUS_INCLUDE@
|
|
RADIUS_LIB=@RADIUS_LIB@
|
|
|
|
FFMPEG_INCLUDE=@FFMPEG_INCLUDE@
|
|
FFMPEG_LIB=@FFMPEG_LIB@
|
|
|
|
X11_INCLUDE=@X11_INCLUDE@
|
|
X11_LIB=@X11_LIB@
|
|
|
|
SDL_INCLUDE=@SDL_INCLUDE@
|
|
SDL_LIB=@SDL_LIB@
|
|
|
|
SDL_IMAGE_INCLUDE=@SDL_IMAGE_INCLUDE@
|
|
SDL_IMAGE_LIB=@SDL_IMAGE_LIB@
|
|
|
|
SPANDSP_INCLUDE=@SPANDSP_INCLUDE@
|
|
SPANDSP_LIB=@SPANDSP_LIB@
|
|
|
|
SPEEX_INCLUDE=@SPEEX_INCLUDE@
|
|
SPEEX_LIB=@SPEEX_LIB@
|
|
|
|
SPEEXDSP_INCLUDE=@SPEEXDSP_INCLUDE@
|
|
SPEEXDSP_LIB=@SPEEXDSP_LIB@
|
|
|
|
SQLITE_INCLUDE=@SQLITE_INCLUDE@
|
|
SQLITE_LIB=@SQLITE_LIB@
|
|
|
|
SQLITE3_INCLUDE=@SQLITE3_INCLUDE@
|
|
SQLITE3_LIB=@SQLITE3_LIB@
|
|
|
|
SRTP_LIB=@SRTP_LIB@
|
|
SRTP_INCLUDE=@SRTP_INCLUDE@
|
|
|
|
OPENSSL_INCLUDE=@OPENSSL_INCLUDE@
|
|
OPENSSL_LIB=@OPENSSL_LIB@
|
|
|
|
CRYPT_INCLUDE=@CRYPT_INCLUDE@
|
|
CRYPT_LIB=@CRYPT_LIB@
|
|
|
|
CRYPTO_INCLUDE=@CRYPTO_INCLUDE@
|
|
CRYPTO_LIB=@CRYPTO_LIB@
|
|
|
|
TONEZONE_INCLUDE=@TONEZONE_INCLUDE@
|
|
TONEZONE_LIB=@TONEZONE_LIB@
|
|
|
|
UNBOUND_INCLUDE=@UNBOUND_INCLUDE@
|
|
UNBOUND_LIB=@UNBOUND_LIB@
|
|
|
|
UNIXODBC_INCLUDE=@UNIXODBC_INCLUDE@
|
|
UNIXODBC_LIB=@UNIXODBC_LIB@
|
|
|
|
UUID_INCLUDE=@UUID_INCLUDE@
|
|
UUID_LIB=@UUID_LIB@
|
|
|
|
VORBIS_INCLUDE=@VORBIS_INCLUDE@
|
|
VORBIS_LIB=@VORBIS_LIB@
|
|
|
|
VPB_INCLUDE=@VPB_INCLUDE@
|
|
VPB_LIB=@VPB_LIB@
|
|
|
|
HAVE_DAHDI=@PBX_DAHDI@
|
|
DAHDI_INCLUDE=@DAHDI_INCLUDE@
|
|
|
|
ZLIB_INCLUDE=@ZLIB_INCLUDE@
|
|
ZLIB_LIB=@ZLIB_LIB@
|
|
|
|
ISDNNET_INCLUDE=@ISDNNET_INCLUDE@
|
|
ISDNNET_LIB=@ISDNNET_LIB@
|
|
|
|
MISDN_INCLUDE=@MISDN_INCLUDE@
|
|
MISDN_LIB=@MISDN_LIB@
|
|
|
|
SUPPSERV_INCLUDE=@SUPPSERV_INCLUDE@
|
|
SUPPSERV_LIB=@SUPPSERV_LIB@
|
|
|
|
CAP_LIB=@CAP_LIB@
|
|
CAP_INCLUDE=@CAP_INCLUDE@
|
|
|
|
BKTR_INCLUDE=@BKTR_INCLUDE@
|
|
BKTR_LIB=@BKTR_LIB@
|
|
|
|
TERMCAP_INCLUDE=@TERMCAP_INCLUDE@
|
|
TERMCAP_LIB=@TERMCAP_LIB@
|
|
TERMCAP_DIR=@TERMCAP_DIR@
|
|
|
|
LIBXML2_INCLUDE=@LIBXML2_INCLUDE@
|
|
LIBXML2_LIB=@LIBXML2_LIB@
|
|
|
|
LIBXSLT_INCLUDE=@LIBXSLT_INCLUDE@
|
|
LIBXSLT_LIB=@LIBXSLT_LIB@
|
|
|
|
TINFO_INCLUDE=@TINFO_INCLUDE@
|
|
TINFO_LIB=@TINFO_LIB@
|
|
TINFO_DIR=@TINFO_DIR@
|
|
|
|
# if poll is not present, let the makefile know.
|
|
POLL_AVAILABLE=@HAS_POLL@
|
|
TIMERFD_INCLUDE=@TIMERFD_INCLUDE@
|