Support for swig 4.1.0

In swig 4.1.0, the complicated handling of "SWIG_V8_VERSION" has been cleaned up a bit. I made the same changes as in this swig.

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
This commit is contained in:
Hirokazu MORIKAWA 2021-05-03 10:05:48 +09:00
parent 3f7dcc6e0b
commit c7d7718c21
3 changed files with 8 additions and 2 deletions

View File

@ -272,7 +272,9 @@ if (CMAKE_VERSION VERSION_LESS "3.1")
endif()
else()
# 3.1+ uses this generic method to enable c++11
set (CMAKE_CXX_STANDARD 11)
if(NOT "${CMAKE_CXX_STANDARD}")
set (CMAKE_CXX_STANDARD 11)
endif ()
set (CXX_STANDARD_REQUIRED ON)
set (CXX_EXTENSIONS OFF)
endif()

View File

@ -24,7 +24,11 @@
%typemap(in) uint32_t {
int ecode2 = 0 ;
if (($input)->IsInt32())
%#if (V8_MAJOR_VERSION-0) < 7
$1 = ($input)->Uint32Value();
%#else
$1 = ($input)->Uint32Value(SWIGV8_CURRENT_CONTEXT()).FromJust();
%#endif
else
SWIG_exception_fail(SWIG_ArgError(ecode2), "failed to convert uint32");
}

View File

@ -27,7 +27,7 @@ void cleanUp()
/* Call the v8 garbage collector as long as there is memory to clean up
* See https://codereview.chromium.org/412163003 for this API change
*/
#if (SWIG_V8_VERSION < 0x032838)
#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032838)
while (!v8::V8::IdleNotificationDeadline())
#else
while (!v8::Isolate::GetCurrent()->IdleNotificationDeadline(1000))