mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	* 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`.
		
			
				
	
	
		
			83 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| BLUETOOTH=@PBX_BLUETOOTH@
 | |
| BEANSTALK=@PBX_BEANSTALK@
 | |
| COROSYNC=@PBX_COROSYNC@
 | |
| CRYPTO=@PBX_CRYPTO@
 | |
| BFD=@PBX_BFD@
 | |
| BISON=@PBX_BISON@
 | |
| CODEC2=@PBX_CODEC2@
 | |
| CURL=@PBX_CURL@
 | |
| DAHDI=@PBX_DAHDI@
 | |
| DLADDR=@PBX_DLADDR@
 | |
| FLEX=@PBX_FLEX@
 | |
| FREETDS=@PBX_FREETDS@
 | |
| GENERIC_ODBC=@PBX_GENERIC_ODBC@
 | |
| GMIME=@PBX_GMIME@
 | |
| GNU_LD=@GNU_LD@
 | |
| GSM=@PBX_GSM@
 | |
| ILBC=@PBX_ILBC@
 | |
| GTK2=@PBX_GTK2@
 | |
| HOARD=@PBX_HOARD@
 | |
| ICAL=@PBX_ICAL@
 | |
| ICONV=@PBX_ICONV@
 | |
| IKSEMEL=@PBX_IKSEMEL@
 | |
| IMAP_TK=@PBX_IMAP_TK@
 | |
| IODBC=@PBX_IODBC@
 | |
| JACK=@PBX_JACK@
 | |
| JANSSON=@PBX_JANSSON@
 | |
| URIPARSER=@PBX_URIPARSER@
 | |
| KQUEUE=@PBX_KQUEUE@
 | |
| LDAP=@PBX_LDAP@
 | |
| LIBEDIT=@PBX_LIBEDIT@
 | |
| LIBJWT=@PBX_LIBJWT@
 | |
| LIBXML2=@PBX_LIBXML2@
 | |
| LIBXSLT=@PBX_LIBXSLT@
 | |
| XMLSTARLET=@PBX_XMLSTARLET@
 | |
| BASH=@PBX_BASH@
 | |
| LUA=@PBX_LUA@
 | |
| MYSQLCLIENT=@PBX_MYSQLCLIENT@
 | |
| NETSNMP=@PBX_NETSNMP@
 | |
| NEWT=@PBX_NEWT@
 | |
| NEON=@PBX_NEON@
 | |
| NEON29=@PBX_NEON29@
 | |
| OGG=@PBX_OGG@
 | |
| OPUS=@PBX_OPUS@
 | |
| OPUSFILE=@PBX_OPUSFILE@
 | |
| PGSQL=@PBX_PGSQL@
 | |
| PJPROJECT=@PBX_PJPROJECT@
 | |
| POPT=@PBX_POPT@
 | |
| PORTAUDIO=@PBX_PORTAUDIO@
 | |
| PRI=@PBX_PRI@
 | |
| OPENR2=@PBX_OPENR2@
 | |
| RESAMPLE=@PBX_RESAMPLE@
 | |
| FFTW3=@PBX_FFTW3@
 | |
| RADIUS=@PBX_RADIUS@
 | |
| LAUNCHD=@PBX_LAUNCHD@
 | |
| SNDFILE=@PBX_SNDFILE@
 | |
| SPANDSP=@PBX_SPANDSP@
 | |
| SPEEX=@PBX_SPEEX@
 | |
| SPEEXDSP=@PBX_SPEEXDSP@
 | |
| SPEEX_PREPROCESS=@PBX_SPEEX_PREPROCESS@
 | |
| SQLITE3=@PBX_SQLITE3@
 | |
| SRTP=@PBX_SRTP@
 | |
| SS7=@PBX_SS7@
 | |
| OPENSSL=@PBX_OPENSSL@
 | |
| SYSLOG=@PBX_SYSLOG@
 | |
| TONEZONE=@PBX_TONEZONE@
 | |
| UNBOUND=@PBX_UNBOUND@
 | |
| UNIXODBC=@PBX_UNIXODBC@
 | |
| VORBIS=@PBX_VORBIS@
 | |
| WINARCH=@PBX_WINARCH@
 | |
| ZLIB=@PBX_ZLIB@
 | |
| TIMERFD=@PBX_TIMERFD@
 | |
| NATIVE_ARCH=@AST_NATIVE_ARCH@
 | |
| HAVE_ADDRESS_SANITIZER=@AST_ADDRESS_SANITIZER@
 | |
| 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@
 |