diff --git a/android/Android.mk b/android/Android.mk index dc854aea..d5add39d 100644 --- a/android/Android.mk +++ b/android/Android.mk @@ -78,50 +78,23 @@ LOCAL_EXPORT_CPPFLAGS := -D__STDC_LIMIT_MACROS=1 include $(PREBUILT_STATIC_LIBRARY) -#====================================== -include $(CLEAR_VARS) -LOCAL_MODULE := v8_libbase -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_libbase.a -include $(PREBUILT_STATIC_LIBRARY) - -#====================================== -include $(CLEAR_VARS) -LOCAL_MODULE := v8_libplatform -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_libplatform.a -include $(PREBUILT_STATIC_LIBRARY) - -#====================================== -include $(CLEAR_VARS) -LOCAL_MODULE := v8_libsampler -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_libsampler.a -include $(PREBUILT_STATIC_LIBRARY) - -#====================================== -include $(CLEAR_VARS) -LOCAL_MODULE := v8_snapshot -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_snapshot.a -include $(PREBUILT_STATIC_LIBRARY) - -#====================================== -include $(CLEAR_VARS) -LOCAL_MODULE := v8_inspector -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libinspector.a -include $(PREBUILT_STATIC_LIBRARY) - -#====================================== -include $(CLEAR_VARS) -LOCAL_MODULE := v8_compiler -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_compiler.a -include $(PREBUILT_STATIC_LIBRARY) - #====================================== include $(CLEAR_VARS) LOCAL_MODULE := v8_static -LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_base_without_compiler.a +LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libv8_monolith.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/$(TARGET_ARCH_ABI)/include/v8 -LOCAL_WHOLE_STATIC_LIBRARIES += v8_libbase v8_libplatform v8_libsampler v8_snapshot v8_compiler +ifeq ($(TARGET_ARCH),arm64) + LOCAL_EXPORT_CPPFLAGS := -DV8_COMPRESS_POINTERS + LOCAL_EXPORT_CFLAGS := -DV8_COMPRESS_POINTERS +endif +include $(PREBUILT_STATIC_LIBRARY) +#====================================== +include $(CLEAR_VARS) + +LOCAL_MODULE := v8_inspector +LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/v8/libinspector.a include $(PREBUILT_STATIC_LIBRARY) #====================================== diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt index e7973dc6..4eb0d676 100644 --- a/android/CMakeLists.txt +++ b/android/CMakeLists.txt @@ -63,93 +63,19 @@ target_include_directories(android_platform PUBLIC set(se_libs_name) if(USE_SE_V8) - set(V8_LIBS - # v8_inspector - v8_snapshot - v8_compiler - v8_libsampler - v8_base_without_compiler - v8_libplatform - v8_libbase - ) - - add_library(v8_libbase STATIC IMPORTED GLOBAL) - set_target_properties(v8_libbase PROPERTIES - IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_libbase.a - ) - - - add_library(v8_libplatform STATIC IMPORTED GLOBAL) - set_target_properties(v8_libplatform PROPERTIES - IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_libplatform.a - ) - - add_library(v8_libsampler STATIC IMPORTED GLOBAL) - set_target_properties(v8_libsampler PROPERTIES - IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_libsampler.a - ) - - add_library(v8_snapshot STATIC IMPORTED GLOBAL) - set_target_properties(v8_snapshot PROPERTIES - IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_snapshot.a - ) - + add_library(v8_inspector STATIC IMPORTED GLOBAL) set_target_properties(v8_inspector PROPERTIES IMPORTED_LOCATION ${platform_spec_path}/v8/libinspector.a ) - add_library(v8_compiler STATIC IMPORTED GLOBAL) - set_target_properties(v8_compiler PROPERTIES - IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_compiler.a - ) - - add_library(v8_base_without_compiler STATIC IMPORTED GLOBAL) - set_target_properties(v8_base_without_compiler PROPERTIES - IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_base_without_compiler.a - ) - - - set(V8_ARCHIVE_DIR ${CMAKE_CURRENT_BINARY_DIR}/v8_tmp) - - if(NOT EXISTS ${V8_ARCHIVE_DIR}) - file(MAKE_DIRECTORY ${V8_ARCHIVE_DIR}) - endif() - - if(NOT EXISTS ${V8_ARCHIVE_DIR}/v8_static.a) - - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${V8_ARCHIVE_DIR} - COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_libbase.a - COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_libplatform.a - COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_libsampler.a - COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_snapshot.a - COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_compiler.a - COMMAND ${CMAKE_AR} -x ${platform_spec_path}/v8/libv8_base_without_compiler.a - WORKING_DIRECTORY ${V8_ARCHIVE_DIR} - ) - - file(GLOB v8_obj_files ${V8_ARCHIVE_DIR}/*.o) - set(v8_obj_files_args "") - set(V8_FILELIST ${V8_ARCHIVE_DIR}/v8_link_input_list.txt) - foreach(obj_file ${v8_obj_files}) - string(APPEND v8_obj_files_args " \"${obj_file}\"") - endforeach() - file(WRITE ${V8_FILELIST} ${v8_obj_files_args}) - execute_process( - COMMAND ${CMAKE_AR} -qcs ${V8_ARCHIVE_DIR}/v8_static.a @${V8_FILELIST} - WORKING_DIRECTORY ${V8_ARCHIVE_DIR} - ) - endif() - - - add_library(v8_static STATIC IMPORTED GLOBAL) - set_target_properties(v8_static PROPERTIES - IMPORTED_LOCATION ${V8_ARCHIVE_DIR}/v8_static.a + add_library(v8_monolith STATIC IMPORTED GLOBAL) + set_target_properties(v8_monolith PROPERTIES + IMPORTED_LOCATION ${platform_spec_path}/v8/libv8_monolith.a INTERFACE_INCLUDE_DIRECTORIES ${platform_spec_path}/include/v8 ) - set(se_libs_name v8_static) + set(se_libs_name v8_monolith) endif() diff --git a/ios/CMakeLists.txt b/ios/CMakeLists.txt index 17cf7d95..985aedcb 100644 --- a/ios/CMakeLists.txt +++ b/ios/CMakeLists.txt @@ -40,11 +40,29 @@ set_target_properties(webp PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libwebp.a ) +set(V8_COMPILE_FLAGS + V8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 + ENABLE_MINOR_MC + V8_CONCURRENT_MARKING + V8_ENABLE_LAZY_SOURCE_POSITIONS + V8_EMBEDDED_BUILTINS + V8_SHARED_RO_HEAP + V8_WIN64_UNWINDING_INFO + V8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH + V8_31BIT_SMIS_ON_64BIT_ARCH + V8_DEPRECATION_WARNINGS + V8_IMMINENT_DEPRECATION_WARNINGS + V8_TARGET_ARCH_ARM64 + V8_HAVE_TARGET_OS + V8_TARGET_OS_IOS + DISABLE_UNTRUSTED_CODE_MITIGATIONS +) add_library(v8_monolith STATIC IMPORTED GLOBAL) set_target_properties(v8_monolith PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libv8_monolith.a INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/v8 ) +set_property(TARGET v8_monolith APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS ${V8_COMPILE_FLAGS}) # add_library(inspector STATIC IMPORTED GLOBAL) # set_target_properties(inspector PROPERTIES diff --git a/ios/libs/libv8_monolith.a b/ios/libs/libv8_monolith.a old mode 100644 new mode 100755 index 6724205b..0e9be87d Binary files a/ios/libs/libv8_monolith.a and b/ios/libs/libv8_monolith.a differ diff --git a/mac/CMakeLists.txt b/mac/CMakeLists.txt index d2e4a706..af0d7ad0 100644 --- a/mac/CMakeLists.txt +++ b/mac/CMakeLists.txt @@ -66,6 +66,7 @@ add_library(v8_monolith STATIC IMPORTED GLOBAL) set_target_properties(v8_monolith PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/libs/libv8_monolith.a INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/include/v8 + INTERFACE_COMPILE_DEFINITIONS V8_COMPRESS_POINTERS ) add_library(inspector STATIC IMPORTED GLOBAL) diff --git a/mac/libs/libinspector.a b/mac/libs/libinspector.a index bf3cf7f2..27a2d7c1 100644 Binary files a/mac/libs/libinspector.a and b/mac/libs/libinspector.a differ diff --git a/mac/libs/libv8_monolith.a b/mac/libs/libv8_monolith.a index 787d7092..5d222f3f 100644 Binary files a/mac/libs/libv8_monolith.a and b/mac/libs/libv8_monolith.a differ