2727 BENCH : yes
2828 SECP256K1_BENCH_ITERS : 2
2929 CTIMETESTS : yes
30+ SYMBOL_CHECK : yes
3031 # Compile and run the tests
3132 EXAMPLES : yes
3233
@@ -127,6 +128,7 @@ task:
127128 WITH_VALGRIND : no
128129 CTIMETESTS : no
129130 CC : clang
131+ SYMBOL_CHECK : no
130132 matrix :
131133 - env : {WIDEMUL: int64, RECOVERY: yes, ECDH: yes, SCHNORRSIG: yes, ELLSWIFT: yes}
132134 - env : {WIDEMUL: int64, RECOVERY: yes, ECDH: yes, SCHNORRSIG: yes, ELLSWIFT: yes, CC: gcc}
@@ -140,6 +142,9 @@ task:
140142 - brew install automake libtool gcc
141143 test_script :
142144 - ./ci/cirrus.sh
145+ symbol_check_script :
146+ - python3 -m pip install lief
147+ - python3 ./tools/symbol-check.py .libs/libsecp256k1.dylib
143148 << : *CAT_LOGS
144149 << : *CREDITS
145150
@@ -248,6 +253,7 @@ task:
248253 SCHNORRSIG : yes
249254 ELLSWIFT : yes
250255 CTIMETESTS : no
256+ SYMBOL_CHECK : no
251257 # Use a MinGW-w64 host to tell ./configure we're building for Windows.
252258 # This will detect some MinGW-w64 tools but then make will need only
253259 # the MSVC tools CC, AR and NM as specified below.
@@ -304,6 +310,7 @@ task:
304310 ASAN_OPTIONS : " strict_string_checks=1:detect_stack_use_after_return=1:detect_leaks=1"
305311 LSAN_OPTIONS : " use_unaligned=1"
306312 SECP256K1_TEST_ITERS : 32
313+ SYMBOL_CHECK : no
307314 # Try to cover many configurations with just a tiny matrix.
308315 matrix :
309316 - env :
@@ -391,11 +398,6 @@ task:
391398 # Ignore MSBuild warning MSB8029.
392399 # See: https://learn.microsoft.com/en-us/visualstudio/msbuild/errors/msb8029?view=vs-2022
393400 IgnoreWarnIntDirInTempDetected : ' true'
394- matrix :
395- - env :
396- BUILD_SHARED_LIBS : ON
397- - env :
398- BUILD_SHARED_LIBS : OFF
399401 git_show_script :
400402 # Print commit to allow reproducing the job outside of CI.
401403 - git show --no-patch
@@ -405,6 +407,16 @@ task:
405407 build_script :
406408 - ' %x64_NATIVE_TOOLS%'
407409 - cmake --build build --config RelWithDebInfo -- -property:UseMultiToolTask=true;CL_MPcount=5
410+ matrix :
411+ - env :
412+ BUILD_SHARED_LIBS : ON
413+ symbol_check_script :
414+ - choco install --yes --no-progress python3
415+ - refreshenv
416+ - python -m pip install lief
417+ - python .\tools\symbol-check.py build\src\RelWithDebInfo\libsecp256k1-2.dll
418+ - env :
419+ BUILD_SHARED_LIBS : OFF
408420 check_script :
409421 - ' %x64_NATIVE_TOOLS%'
410422 - ctest -C RelWithDebInfo --test-dir build -j 5
0 commit comments