Skip to content

Commit 560fd49

Browse files
committed
primjs: remove cpp shared lib
1 parent 51c6d97 commit 560fd49

7 files changed

Lines changed: 54 additions & 2552 deletions

File tree

test-app/runtime/CMakeLists.txt

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ include_directories(
6161
src/main/cpp/runtime/objectmanager
6262
src/main/cpp/runtime/performance
6363
src/main/cpp/runtime/profiler
64-
src/main/cpp/runtime/robinhood
6564
src/main/cpp/runtime/sighandler
6665
src/main/cpp/runtime/timers
6766
src/main/cpp/runtime/util
@@ -99,17 +98,35 @@ if (QUICKJS)
9998
src/main/cpp/napi/quickjs/quickjs-api.c
10099
src/main/cpp/napi/quickjs/jsr.cpp
101100

101+
102102
)
103103
include_directories(
104104
src/main/cpp/napi/quickjs
105105
src/main/cpp/napi/quickjs/source
106+
src/main/cpp/napi/quickjs/napi-new
106107
src/main/cpp/napi/common
107108
# mimalloc
108109
src/main/cpp/napi/quickjs/mimalloc-dev/include
109110
)
110111

111112
endif ()
112113

114+
115+
if (PRIMJS)
116+
set(SOURCES ${SOURCES}
117+
src/main/cpp/napi/primjs/jsr.cpp
118+
src/main/cpp/napi/primjs/code_cache.cc
119+
src/main/cpp/napi/primjs/primjs-api.cc
120+
src/main/cpp/napi/primjs/napi_env.cc
121+
)
122+
include_directories(
123+
src/main/cpp/napi/primjs
124+
src/main/cpp/napi/primjs/include
125+
src/main/cpp/napi/common
126+
)
127+
128+
endif ()
129+
113130
if (HERMES)
114131
include_directories(
115132
src/main/cpp/napi/hermes
@@ -121,6 +138,17 @@ if (HERMES)
121138
)
122139
endif ()
123140

141+
if (SHERMES)
142+
include_directories(
143+
src/main/cpp/napi/hermes
144+
src/main/cpp/napi/hermes/include_shermes
145+
src/main/cpp/napi/common
146+
)
147+
set(SOURCES ${SOURCES}
148+
src/main/cpp/napi/hermes/jsr.cpp
149+
)
150+
endif ()
151+
124152
if (JSC)
125153
include_directories(
126154
src/main/cpp/napi/jsc
@@ -214,6 +242,13 @@ MESSAGE(STATUS "# CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS})
214242
target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/common/${ANDROID_ABI}/libzip.a)
215243
#target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/common/${ANDROID_ABI}/libclang_rt.asan-aarch64-android.so)
216244

245+
if (SHERMES)
246+
target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/shermes/${ANDROID_ABI}/libhermesvm.so)
247+
target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/shermes/${ANDROID_ABI}/libjsi.so)
248+
add_compile_definitions(NativeScript, PRIVATE __HERMES__)
249+
add_compile_definitions(NativeScript, PRIVATE __SHERMES__)
250+
endif ()
251+
217252
if (HERMES)
218253
target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/hermes/${ANDROID_ABI}/libhermes.so)
219254
target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/hermes/${ANDROID_ABI}/libjsi.so)
@@ -230,6 +265,12 @@ if (V8)
230265
add_compile_definitions(NativeScript, PRIVATE __V8__)
231266
endif ()
232267

268+
if (PRIMJS)
269+
# target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/primjs/${ANDROID_ABI}/libnapi.so)
270+
target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/primjs/${ANDROID_ABI}/libquick.so)
271+
add_compile_definitions(NativeScript, PRIVATE __PRIMJS__)
272+
endif ()
273+
233274
if (QUICKJS)
234275
add_compile_definitions(NativeScript, PRIVATE __QJS__)
235276
if (USE_MIMALLOC)
@@ -266,10 +307,10 @@ if (QUICKJS)
266307
else ()
267308
target_link_libraries(NativeScript ${system-log} ${system-z} ${system-android})
268309
endif ()
269-
elseif (HERMES)
310+
elseif (HERMES OR SHERMES)
270311
find_package(fbjni REQUIRED CONFIG)
271312
target_link_libraries(NativeScript ${system-log} ${system-z} fbjni::fbjni ${system-android})
272-
elseif (JSC OR V8)
313+
elseif (JSC OR V8 OR PRIMJS)
273314
target_link_libraries(NativeScript ${system-log} ${system-z} ${system-android})
274315
endif ()
275316

test-app/runtime/build.gradle

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apply plugin: 'com.android.library'
22

3-
// can be: "V8", "JSC", "HERMES", "QUICKJS"
3+
// can be: "V8", "JSC", "HERMES", "QUICKJS", "SHERMES", "PRIMJS"
44
def jsEngine = "V8"
55
def hasEngine = project.hasProperty("engine")
66
if (hasEngine) {
@@ -133,7 +133,12 @@ android {
133133
arguments.add("-DUSE_MIMALLOC=1")
134134
} else if (jsEngine == "HERMES") {
135135
arguments.add("-DHERMES=1")
136-
} else if (jsEngine == "JSC") {
136+
} else if (jsEngine == "SHERMES") {
137+
arguments.add("-DSHERMES=1")
138+
} else if (jsEngine == "PRIMJS") {
139+
arguments.add("-DPRIMJS=1")
140+
141+
}else if (jsEngine == "JSC") {
137142
arguments.add("-DJSC=1")
138143
} else if (jsEngine == "V8") {
139144
arguments.add("-DV8=1")
@@ -179,7 +184,7 @@ android {
179184
exclude "**/libjsi.so"
180185
exclude "**/libfbjni.so"
181186
}
182-
} else if (jsEngine == "HERMES") {
187+
} else if (jsEngine == "HERMES" || jsEngine == "SHERMES") {
183188
packagingOptions {
184189
exclude "**/libjsc.so"
185190
exclude "**/libv8.so"
@@ -192,7 +197,7 @@ android {
192197
exclude "**/libhermes.so"
193198
exclude "**/libjsi.so"
194199
}
195-
} else if (jsEngine == "QUICKJS") {
200+
} else if (jsEngine == "QUICKJS" || jsEngine == "PRIMJS") {
196201
packagingOptions {
197202
exclude "**/libv8.so"
198203
exclude "**/libhermes.so"
@@ -217,7 +222,7 @@ dependencies {
217222
implementation fileTree(include: ['*.jar'], dir: 'libs')
218223
testImplementation "junit:junit:${ns_default_junit_version}"
219224
testImplementation "org.mockito:mockito-core:${ns_default_mockito_core_version}"
220-
if (jsEngine == "HERMES") {
225+
if (jsEngine == "HERMES" || jsEngine == "SHERMES") {
221226
implementation 'com.facebook.fbjni:fbjni:0.3.0'
222227
}
223228
}

0 commit comments

Comments
 (0)