From 8790dc0db2a078dd6b1f1e4976ee5a9a9fc9d527 Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Fri, 26 Jun 2026 00:45:44 +0300 Subject: [PATCH 1/9] Update CMakeLists.txt --- CMakeLists.txt | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d79820..f25014c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,8 @@ project ( LANGUAGES C ) +option(UVWASI_BUILD_SHARED "Build shared lib" ON) + # Point CMake at any custom modules we may ship list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") @@ -112,14 +114,16 @@ else() endif() ## Shared library target. -add_library(uvwasi SHARED ${uvwasi_sources}) -target_compile_definitions(uvwasi PRIVATE ${uvwasi_defines}) -target_compile_options(uvwasi PRIVATE ${uvwasi_cflags}) -target_include_directories(uvwasi PRIVATE ${PROJECT_SOURCE_DIR}/include) -if(CODE_COVERAGE) - target_link_libraries(uvwasi PUBLIC ${LIBUV_LIBRARIES} coverage_config) -else() - target_link_libraries(uvwasi PRIVATE ${LIBUV_LIBRARIES}) +if(UVWASI_BUILD_SHARED) + add_library(uvwasi SHARED ${uvwasi_sources}) + target_compile_definitions(uvwasi PRIVATE ${uvwasi_defines}) + target_compile_options(uvwasi PRIVATE ${uvwasi_cflags}) + target_include_directories(uvwasi PRIVATE ${PROJECT_SOURCE_DIR}/include) + if(CODE_COVERAGE) + target_link_libraries(uvwasi PUBLIC ${LIBUV_LIBRARIES} coverage_config) + else() + target_link_libraries(uvwasi PRIVATE ${LIBUV_LIBRARIES}) + endif() endif() From d0e4a9bb988451773da64fff375786f4b97fa596 Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 15:57:28 +0300 Subject: [PATCH 2/9] Update CMakeLists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f25014c..ce7c503 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ option(UVWASI_BUILD_SHARED "Build shared lib" ON) list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") # This can be a commit hash or tag -set(LIBUV_VERSION v1.44.2) +set(LIBUV_VERSION v1.52.1) include(CMakeDependentOption) cmake_dependent_option(BUILD_TESTING From 687688289d947f4507d29ef9519aa2bb61b35fd2 Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 16:04:16 +0300 Subject: [PATCH 3/9] Update Android.yml --- .github/workflows/Android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Android.yml b/.github/workflows/Android.yml index 2af3f08..6d6b36e 100644 --- a/.github/workflows/Android.yml +++ b/.github/workflows/Android.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build-android: runs-on: ubuntu-latest - container: reactnativecommunity/react-native-android:7.0 + container: reactnativecommunity/react-native-android:9 steps: - uses: actions/checkout@v5 - name: Envinfo From d177fd773d6e6a931835ada5d93d514503afbe6e Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 16:09:30 +0300 Subject: [PATCH 4/9] Update Android.yml --- .github/workflows/Android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Android.yml b/.github/workflows/Android.yml index 6d6b36e..df615bc 100644 --- a/.github/workflows/Android.yml +++ b/.github/workflows/Android.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build-android: runs-on: ubuntu-latest - container: reactnativecommunity/react-native-android:9 + container: reactnativecommunity/react-native-android:v12.0 steps: - uses: actions/checkout@v5 - name: Envinfo @@ -16,5 +16,5 @@ jobs: # docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:7.0 bash run: | mkdir build && cd build - cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_GRADLE/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-21 .. + cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_GRADLE/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 .. cmake --build . From d371511733b0d602c1b412e53ce9df7c67d7261f Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 16:14:25 +0300 Subject: [PATCH 5/9] Update Android container version to v20.1 --- .github/workflows/Android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Android.yml b/.github/workflows/Android.yml index df615bc..a891474 100644 --- a/.github/workflows/Android.yml +++ b/.github/workflows/Android.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build-android: runs-on: ubuntu-latest - container: reactnativecommunity/react-native-android:v12.0 + container: reactnativecommunity/react-native-android:v20.1 steps: - uses: actions/checkout@v5 - name: Envinfo From b054f1a0360874c907aa8510b59b0c5dd266b8b0 Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 16:17:54 +0300 Subject: [PATCH 6/9] Update Android.yml --- .github/workflows/Android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Android.yml b/.github/workflows/Android.yml index a891474..61b02fc 100644 --- a/.github/workflows/Android.yml +++ b/.github/workflows/Android.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build-android: runs-on: ubuntu-latest - container: reactnativecommunity/react-native-android:v20.1 + container: reactnativecommunity/react-native-android:8 steps: - uses: actions/checkout@v5 - name: Envinfo @@ -16,5 +16,5 @@ jobs: # docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:7.0 bash run: | mkdir build && cd build - cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_GRADLE/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 .. + cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_GRADLE/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-22 .. cmake --build . From 1ced6967ce63ecfd0b62484e527a52db827261b8 Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 16:27:23 +0300 Subject: [PATCH 7/9] Update Android.yml --- .github/workflows/Android.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Android.yml b/.github/workflows/Android.yml index 61b02fc..be458f4 100644 --- a/.github/workflows/Android.yml +++ b/.github/workflows/Android.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build-android: runs-on: ubuntu-latest - container: reactnativecommunity/react-native-android:8 + container: reactnativecommunity/react-native-android:v13.0 steps: - uses: actions/checkout@v5 - name: Envinfo @@ -13,8 +13,8 @@ jobs: - name: Build android arm64 # see build options you can use in https://developer.android.com/ndk/guides/cmake # quickly debug on your local docker - # docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:7.0 bash + # docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:v13.0 bash run: | mkdir build && cd build - cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_GRADLE/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-22 .. + cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk/26.0.10792818/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 .. cmake --build . From 596a9c24c43cd6ba4682002544e3fdb15e1cc618 Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sat, 27 Jun 2026 16:30:47 +0300 Subject: [PATCH 8/9] Update Android.yml --- .github/workflows/Android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Android.yml b/.github/workflows/Android.yml index be458f4..2f7d2fc 100644 --- a/.github/workflows/Android.yml +++ b/.github/workflows/Android.yml @@ -16,5 +16,5 @@ jobs: # docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:v13.0 bash run: | mkdir build && cd build - cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk/26.0.10792818/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 .. + cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 .. cmake --build . From 15115c35dfca2159e6d2d67c0988f75bc24253cb Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Sun, 28 Jun 2026 14:07:44 +0300 Subject: [PATCH 9/9] Update build script to use dynamic libuv library --- .clusterfuzzlite/build.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.clusterfuzzlite/build.sh b/.clusterfuzzlite/build.sh index 6170801..b1fc4f0 100644 --- a/.clusterfuzzlite/build.sh +++ b/.clusterfuzzlite/build.sh @@ -5,7 +5,9 @@ cd build cmake ../ make uvwasi_a +LIBUV_A="$(find . -name 'libuv_a.a' -o -name 'libuv.a' | head -n1)" + $CC $CFLAGS $LIB_FUZZING_ENGINE ../.clusterfuzzlite/fuzz_normalize_path.c \ -o $OUT/fuzz_normalize_path \ - ./libuvwasi.a _deps/libuv-build/libuv_a.a \ + ./libuvwasi.a "$LIBUV_A" \ -I$SRC/uvwasi/include -I$PWD/_deps/libuv-src/include/