With modern PHP it only works with the CLI version of PHP, so it's
better to direct users to load the extension via "extension=" in
php.ini.
Suggested by ferdynator in #1529.
Without inventing a SWIG/PHP-specific mechanism, we can't really
finalise objects in the way the testcase expects, so adjust the
testcase minimally so we avoid triggering C++ undefined behaviour
(use-after-free).
These were officially deprecated in 2001, and attempts to use them have
resulted in a warning (including a pointer to what to update them to)
for most if not all of that time.
Fixes#1984
Use sizeof variable name rather than variable type.
Workaround Visual C++ unable to parse some complex C++11 types, such as
sizeof(short (Funcs::*)(bool) const &&)
Remove replacement code added in by autoupdate.
Go with recommendation to unconditionally include C headers
(which we have been doing all along).
Minimum autoconf version can be restored back to what it was.
We do need AC_PROG_EGREP - used by AC_EGREP_CPP
We don't use TIME_WITH_SYS_TIME
Don't check for sys/time.h twice
Minimum version was 2.52 before upgrade, no need to enforce 2.71
Set it to 2.60 (same as main swig configure.ac) - new macros
introduced by autoupdate are in 2.60.
Previously if the compiler was detected to support c++11,
-std=c++11 was set preventing c++17 code from being properly tested.
Now c++14 and c++17 support is looked for and the -std flag is
appropriately set to the compiler's maximum supported version.
A PHP exception now gets translated to a C++ exception to skips over C++
code to get back to PHP, avoiding the need to gate every directorout
typemap on EG(exception).
$needNewFlow in an output typemap is now only relevant when wrapping
to a PHP __construct method, and there the return type is known so
factory.i isn't useful.
PHP doesn't accept literal NULL for a parameter passed by reference;
passing a variable with a value of NULL is just like passing a
variable with a different value - we get a PHP reference to the
variable, not NULL.