-
Notifications
You must be signed in to change notification settings - Fork 5
/
javet.patches
70 lines (67 loc) · 3.61 KB
/
javet.patches
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
--- javet-ref/cpp/CMakeLists.txt 2022-12-01 13:20:54.888196745 +0000
+++ javet/cpp/CMakeLists.txt 2022-12-01 21:19:11.754556739 +0000
@@ -53,7 +53,7 @@
message(FATAL_ERROR "CMAKE_ANDROID_ARCH must be one of arm, arm64, x86, x86_64.")
endif()
# The target ABI version is set to 23 because pre-23 is no longer supported by V8 v9.7+.
- set(CMAKE_SYSTEM_VERSION 23)
+ set(CMAKE_SYSTEM_VERSION 24)
set(CMAKE_ANDROID_STL_TYPE c++_static)
set(JAVA_RESOURCES_DIR ${CMAKE_SOURCE_DIR}/../android/javet-android/src/main/jniLibs/${CMAKE_ANDROID_ARCH_ABI})
else()
@@ -116,15 +116,15 @@
base64 brotli cares histogram llhttp nghttp2 nghttp3 ngtcp2 openssl torque_base uvwasi
v8_base_without_compiler v8_compiler v8_init v8_initializers
v8_libbase v8_libplatform v8_snapshot v8_zlib zlib)
- if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64" OR CMAKE_ANDROID_ARCH STREQUAL "arm64")
list(APPEND importLibraries base64_neon64)
- else()
+ elseif(NOT CMAKE_ANDROID_ARCH STREQUAL "arm")
list(APPEND importLibraries base64_avx base64_avx2 base64_sse41 base64_sse42 base64_ssse3)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
list(APPEND importLibraries libnode libuv)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
- list(APPEND importLibraries node node_text_start uv)
+ list(APPEND importLibraries node uv)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
list(APPEND importLibraries node uv)
endif()
@@ -222,6 +222,20 @@
target_link_libraries(JavetStatic PUBLIC -Wl,--whole-archive ${importLibraries} -Wl,--no-whole-archive
-llog -static-libgcc -static-libstdc++ "${libgcc}")
endif()
+ if(DEFINED NODE_DIR)
+ list(APPEND includeDirs
+ ${NODE_DIR}/out/Release/obj/gen/generate-bytecode-output-root
+ ${NODE_DIR}/out/Release/obj/gen/inspector-generated-output-root
+ ${NODE_DIR}/out/Release/obj/gen)
+ foreach(importLibrary ${importLibraries})
+ set_target_properties(${importLibrary} PROPERTIES IMPORTED_LOCATION ${NODE_DIR}/out/Release/lib${importLibrary}.a)
+ endforeach(importLibrary)
+ list(REMOVE_ITEM importLibraries v8_init)
+ target_link_libraries(Javet PUBLIC -Wl,--whole-archive ${importLibraries} -Wl,--no-whole-archive
+ v8_init -llog debug -static-libgcc -static-libstdc++ optimized "${libgcc}")
+ target_link_libraries(JavetStatic PUBLIC -Wl,--whole-archive ${importLibraries} -Wl,--no-whole-archive
+ v8_init -llog debug -static-libgcc -static-libstdc++ optimized "${libgcc}")
+ endif()
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "(arm64|x86_64)")
set(JAVET_LIB_SYSTEM "macos")
if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
--- javet-ref/cpp/jni/javet_native.h 2022-12-01 13:20:54.888196745 +0000
+++ javet/cpp/jni/javet_native.h 2022-12-01 18:46:45.951502958 +0000
@@ -21,6 +21,7 @@
#include "javet_node.h"
#include "javet_v8.h"
+
#ifdef __ANDROID__
#define SUPPORTED_JNI_VERSION JNI_VERSION_1_6
#else
@@ -30,7 +31,7 @@
#define FETCH_JNI_ENV(javaVMPointer) \
JNIEnv* jniEnv; \
javaVMPointer->GetEnv((void**)&jniEnv, SUPPORTED_JNI_VERSION); \
- javaVMPointer->AttachCurrentThread((void**)&jniEnv, nullptr);
+ javaVMPointer->AttachCurrentThread(&jniEnv, nullptr);
#define DELETE_LOCAL_REF(jniEnv, localRef) if (localRef != nullptr) { jniEnv->DeleteLocalRef(localRef); }