diff --git a/ports/sleef/portfile.cmake b/ports/sleef/portfile.cmake index 53835ba823..6c65e37253 100644 --- a/ports/sleef/portfile.cmake +++ b/ports/sleef/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( exclude-testerutil.diff export-link-libs.diff sleefdft.pc.diff + seh-cpu-ext.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS options diff --git a/ports/sleef/seh-cpu-ext.diff b/ports/sleef/seh-cpu-ext.diff new file mode 100644 index 0000000000..6cd8eaa3cb --- /dev/null +++ b/ports/sleef/seh-cpu-ext.diff @@ -0,0 +1,26 @@ +diff --git a/src/libm/dispatcher.h b/src/libm/dispatcher.h +index 41b69d9..4d395c3 100644 +--- a/src/libm/dispatcher.h ++++ b/src/libm/dispatcher.h +@@ -27,6 +27,14 @@ NOEXPORT int Sleef_internal_cpuSupportsExt(void (*tryExt)(), int *cache) { + static int cache = -1; + if (cache != -1) return cache; + ++#ifdef _MSC_VER ++ __try { ++ (*tryExt)(); ++ cache = 1; ++ } __except(1) { ++ cache = 0; ++ } ++#else + void (*org); + org = signal(SIGILL, sighandler); + +@@ -38,5 +46,6 @@ NOEXPORT int Sleef_internal_cpuSupportsExt(void (*tryExt)(), int *cache) { + } + + signal(SIGILL, org); ++#endif + return cache; + } diff --git a/ports/sleef/vcpkg.json b/ports/sleef/vcpkg.json index 3dbf9a7cc4..1d97c39768 100644 --- a/ports/sleef/vcpkg.json +++ b/ports/sleef/vcpkg.json @@ -1,6 +1,7 @@ { "name": "sleef", "version": "3.9.0", + "port-version": 1, "description": "SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT", "homepage": "https://sleef.org/", "license": "BSL-1.0", diff --git a/versions/baseline.json b/versions/baseline.json index 693c955aa4..a94e4e5ce7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9046,7 +9046,7 @@ }, "sleef": { "baseline": "3.9.0", - "port-version": 0 + "port-version": 1 }, "sleepy-discord": { "baseline": "2025-02-08", diff --git a/versions/s-/sleef.json b/versions/s-/sleef.json index 63e959c8c3..0aa0f38047 100644 --- a/versions/s-/sleef.json +++ b/versions/s-/sleef.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c20095f0ab0040ddf9f28377e35d670fbc720daa", + "version": "3.9.0", + "port-version": 1 + }, { "git-tree": "afcb099ce882dcb1b316af9efa306b6d9ec3ba69", "version": "3.9.0",