add musl math library

This commit is contained in:
blueloveTH 2025-05-23 12:46:03 +08:00
parent 4438b54846
commit 3c2d15abc2
6 changed files with 21 additions and 10 deletions

View File

@ -17,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- uses: ilammy/msvc-dev-cmd@v1
- name: Compile
shell: powershell
@ -30,7 +30,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- uses: ilammy/msvc-dev-cmd@v1
- name: Compile
shell: bash
@ -52,7 +52,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- name: Setup Clang
uses: egor-tensin/setup-clang@v1
with:
@ -87,7 +87,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- name: Compile and Test
run: |
python cmake_build.py Release -DPK_BUILD_MODULE_LZ4=ON
@ -101,7 +101,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
@ -132,7 +132,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- name: Compile Frameworks
run: |
git clone https://github.com/leetal/ios-cmake --depth 1 ~/ios-cmake
@ -151,7 +151,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
submodules: true
submodules: recursive
- name: Setup Alpine Linux for ${{ matrix.arch }}
uses: jirutka/setup-alpine@v1
with:

3
.gitmodules vendored
View File

@ -4,3 +4,6 @@
[submodule "3rd/lz4/lz4"]
path = 3rd/lz4/lz4
url = https://github.com/lz4/lz4
[submodule "3rd/dmath/dmath"]
path = 3rd/dmath/dmath
url = https://github.com/pocketpy/dmath

1
3rd/dmath/dmath Submodule

@ -0,0 +1 @@
Subproject commit bc5ece5f534d0d6bac8b0d88e121055fc8dfba6d

View File

@ -36,7 +36,7 @@ else()
endif()
if(PK_ENABLE_DETERMINISM)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexcess-precision=standard -ffp-contract=off")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffp-contract=off")
endif()
endif()
@ -82,6 +82,13 @@ else()
target_link_libraries(main ${PROJECT_NAME})
endif()
if(PK_ENABLE_DETERMINISM)
add_subdirectory(3rd/dmath/dmath)
target_link_libraries(${PROJECT_NAME} dmath)
add_definitions(-DPK_ENABLE_DETERMINISM=1)
endif()
if(UNIX AND NOT APPLE)
if(NOT PK_ENABLE_DETERMINISM)
# use platform libm

View File

@ -7,7 +7,7 @@ endif()
# system features
option(PK_ENABLE_OS "" OFF)
option(PK_ENABLE_DETERMINISM "" FALSE)
option(PK_ENABLE_DETERMINISM "" OFF)
option(PK_ENABLE_WATCHDOG "" OFF)
# modules

View File

@ -20,7 +20,7 @@ assert config in ['Debug', 'Release', 'RelWithDebInfo']
os.chdir("build")
code = os.system(f"cmake .. -DPK_ENABLE_OS=ON -DCMAKE_BUILD_TYPE={config} {extra_flags}")
code = os.system(f"cmake .. -DPK_ENABLE_OS=ON -DPK_ENABLE_DETERMINISM=ON -DCMAKE_BUILD_TYPE={config} {extra_flags}")
assert code == 0
code = os.system(f"cmake --build . --config {config} -j 4")
assert code == 0