Skip to content

Commit 211323d

Browse files
Merge #318: Upstream PRs 1574, 1576, 1575, 1577, 1578, 1583, 1586, 1600, 1604, 1554
7c987ec cmake: Call `enable_testing()` unconditionally (Hennadii Stepanov) 6aa5765 cmake: Delete `CTest` module (Hennadii Stepanov) 292310f doc: fix typos in `secp256k1_ecdsa_{recoverable_,}signature` API description (Sebastian Falbesoner) 421ed1b cmake: Introduce `SECP256K1_APPEND_LDFLAGS` variable (Hennadii Stepanov) 9b0f37b fix: remove duplicate 'the' from header file comment (Epic Curious) fa67b67 refactor: Use array initialization for unterminated strings (MarcoFalke) e34b476 ci: Bump GCC_SNAPSHOT_MAJOR to 15 (maflcko) 7057d3c ci: Silent Homebrew's noisy reinstall warnings (Hennadii Stepanov) c3e40d7 release cleanup: bump version after 0.5.1 (Jonas Nick) 40d87b8 release: prepare for 0.5.1 (Jonas Nick) 5770226 changelog: clarify CMake option (Jonas Nick) 759bd4b doc: mention `needs-changelog` github label in release process (Jonas Nick) 763d938 ci: only enable extrakeys module when schnorrsig is enabled (Jonas Nick) af551ab tests: do not use functions from extrakeys module (Jonas Nick) Pull request description: Merge bitcoin-core/secp256k1#1574: Fix compilation when extrakeys module isn't enabled Merge bitcoin-core/secp256k1#1576: doc: mention `needs-changelog` github label in release process Merge bitcoin-core/secp256k1#1575: release: prepare for 0.5.1 Merge bitcoin-core/secp256k1#1577: release cleanup: bump version after 0.5.1 Merge bitcoin-core/secp256k1#1578: ci: Silent Homebrew's noisy reinstall warnings Merge bitcoin-core/secp256k1#1583: ci: Bump GCC_SNAPSHOT_MAJOR to 15 Merge bitcoin-core/secp256k1#1586: fix: remove duplicate 'the' from header file comment Merge bitcoin-core/secp256k1#1600: cmake: Introduce `SECP256K1_APPEND_LDFLAGS` variable Merge bitcoin-core/secp256k1#1604: doc: fix typos in `secp256k1_ecdsa_{recoverable_,}signature` API description Merge bitcoin-core/secp256k1#1554: cmake: Clean up testing code This PR can be recreated with `./contrib/sync-upstream.sh -b master range 4c57c7a`. Tips: * Use `git show --remerge-diff <pr-branch>` to show the conflict resolution in the merge commit. * Use `git read-tree --reset -u <pr-branch>` to replay these resolutions during the conflict resolution stage when recreating the PR branch locally. Be aware that this may discard your index as well as the uncommitted changes and untracked files in your worktree. ACKs for top commit: real-or-random: ACK 551b5dd Tree-SHA512: f05d1f21fbd373929666174e0396c46212f28a0ae819e244b7c6b620d0e9aee9ae11bad1d1616cafc34dd375c3635c7637ce25123c66ce92f247ae0fb063be9a
2 parents 4ae7cb4 + 551b5dd commit 211323d

File tree

12 files changed

+90
-50
lines changed

12 files changed

+90
-50
lines changed

.cirrus.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ env:
2020
EXPERIMENTAL: no
2121
ECDH: no
2222
RECOVERY: no
23+
EXTRAKEYS: no
2324
SCHNORRSIG: no
2425
ELLSWIFT: no
2526
### test options
@@ -66,6 +67,7 @@ task:
6667
env:
6768
ECDH: yes
6869
RECOVERY: yes
70+
EXTRAKEYS: yes
6971
SCHNORRSIG: yes
7072
ELLSWIFT: yes
7173
matrix:
@@ -82,6 +84,7 @@ task:
8284
env:
8385
ECDH: yes
8486
RECOVERY: yes
87+
EXTRAKEYS: yes
8588
SCHNORRSIG: yes
8689
ELLSWIFT: yes
8790
WRAPPER_CMD: 'valgrind --error-exitcode=42'

.github/workflows/ci.yml

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ env:
3131
EXPERIMENTAL: 'no'
3232
ECDH: 'no'
3333
RECOVERY: 'no'
34+
EXTRAKEYS: 'no'
3435
SCHNORRSIG: 'no'
3536
ELLSWIFT: 'no'
3637
ECDSA_S2C: 'no'
@@ -79,18 +80,18 @@ jobs:
7980
matrix:
8081
configuration:
8182
- env_vars: { WIDEMUL: 'int64', RECOVERY: 'yes' }
82-
- env_vars: { WIDEMUL: 'int64', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes'}
83+
- env_vars: { WIDEMUL: 'int64', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes'}
8384
- env_vars: { WIDEMUL: 'int128' }
84-
- env_vars: { WIDEMUL: 'int128_struct', ELLSWIFT: 'yes' }
85-
- env_vars: { WIDEMUL: 'int128', RECOVERY: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
86-
- env_vars: { WIDEMUL: 'int128', ECDH: 'yes', SCHNORRSIG: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes'}
87-
- env_vars: { WIDEMUL: 'int128', ASM: 'x86_64', ELLSWIFT: 'yes' }
88-
- env_vars: { RECOVERY: 'yes', SCHNORRSIG: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes'}
89-
- env_vars: { CTIMETESTS: 'no', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY' }
85+
- env_vars: { WIDEMUL: 'int128_struct', ELLSWIFT: 'yes' }
86+
- env_vars: { WIDEMUL: 'int128', RECOVERY: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
87+
- env_vars: { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes'}
88+
- env_vars: { WIDEMUL: 'int128', ASM: 'x86_64', ELLSWIFT: 'yes' }
89+
- env_vars: { RECOVERY: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes'}
90+
- env_vars: { CTIMETESTS: 'no', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY' }
9091
- env_vars: { BUILD: 'distcheck', WITH_VALGRIND: 'no', CTIMETESTS: 'no', BENCH: 'no' }
9192
- env_vars: { CPPFLAGS: '-DDETERMINISTIC' }
9293
- env_vars: { CFLAGS: '-O0', CTIMETESTS: 'no' }
93-
- env_vars: { CFLAGS: '-O1', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
94+
- env_vars: { CFLAGS: '-O1', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
9495
- env_vars: { ECMULTGENKB: 2, ECMULTWINDOW: 2 }
9596
- env_vars: { ECMULTGENKB: 86, ECMULTWINDOW: 4 }
9697
cc:
@@ -147,6 +148,7 @@ jobs:
147148
HOST: 'i686-linux-gnu'
148149
ECDH: 'yes'
149150
RECOVERY: 'yes'
151+
EXTRAKEYS: 'yes'
150152
SCHNORRSIG: 'yes'
151153
ELLSWIFT: 'yes'
152154
EXPERIMENTAL: 'yes'
@@ -200,6 +202,7 @@ jobs:
200202
WITH_VALGRIND: 'no'
201203
ECDH: 'yes'
202204
RECOVERY: 'yes'
205+
EXTRAKEYS: 'yes'
203206
SCHNORRSIG: 'yes'
204207
ELLSWIFT: 'yes'
205208
EXPERIMENTAL: 'yes'
@@ -260,6 +263,7 @@ jobs:
260263
WITH_VALGRIND: 'no'
261264
ECDH: 'yes'
262265
RECOVERY: 'yes'
266+
EXTRAKEYS: 'yes'
263267
SCHNORRSIG: 'yes'
264268
ELLSWIFT: 'yes'
265269
EXPERIMENTAL: 'yes'
@@ -314,6 +318,7 @@ jobs:
314318
WITH_VALGRIND: 'no'
315319
ECDH: 'yes'
316320
RECOVERY: 'yes'
321+
EXTRAKEYS: 'yes'
317322
SCHNORRSIG: 'yes'
318323
ELLSWIFT: 'yes'
319324
EXPERIMENTAL: 'yes'
@@ -378,6 +383,7 @@ jobs:
378383
WITH_VALGRIND: 'no'
379384
ECDH: 'yes'
380385
RECOVERY: 'yes'
386+
EXTRAKEYS: 'yes'
381387
SCHNORRSIG: 'yes'
382388
ELLSWIFT: 'yes'
383389
EXPERIMENTAL: 'yes'
@@ -439,6 +445,7 @@ jobs:
439445
WRAPPER_CMD: 'valgrind --error-exitcode=42'
440446
ECDH: 'yes'
441447
RECOVERY: 'yes'
448+
EXTRAKEYS: 'yes'
442449
SCHNORRSIG: 'yes'
443450
ELLSWIFT: 'yes'
444451
EXPERIMENTAL: 'yes'
@@ -499,6 +506,7 @@ jobs:
499506
env:
500507
ECDH: 'yes'
501508
RECOVERY: 'yes'
509+
EXTRAKEYS: 'yes'
502510
SCHNORRSIG: 'yes'
503511
ELLSWIFT: 'yes'
504512
EXPERIMENTAL: 'yes'
@@ -572,6 +580,7 @@ jobs:
572580
env:
573581
ECDH: 'yes'
574582
RECOVERY: 'yes'
583+
EXTRAKEYS: 'yes'
575584
SCHNORRSIG: 'yes'
576585
ELLSWIFT: 'yes'
577586
EXPERIMENTAL: 'yes'
@@ -627,6 +636,7 @@ jobs:
627636
WITH_VALGRIND: 'no'
628637
ECDH: 'yes'
629638
RECOVERY: 'yes'
639+
EXTRAKEYS: 'yes'
630640
SCHNORRSIG: 'yes'
631641
ELLSWIFT: 'yes'
632642
EXPERIMENTAL: 'yes'
@@ -694,15 +704,15 @@ jobs:
694704
fail-fast: false
695705
matrix:
696706
env_vars:
697-
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
707+
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
698708
- { WIDEMUL: 'int128_struct', ECMULTGENKB: 2, ECMULTWINDOW: 4 }
699-
- { WIDEMUL: 'int128', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
709+
- { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
700710
- { WIDEMUL: 'int128', RECOVERY: 'yes' }
701-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
702-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc' }
703-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
704-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
705-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY', CTIMETESTS: 'no' }
711+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
712+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc' }
713+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
714+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
715+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY', CTIMETESTS: 'no' }
706716
- BUILD: 'distcheck'
707717

708718
steps:
@@ -755,13 +765,13 @@ jobs:
755765
fail-fast: false
756766
matrix:
757767
env_vars:
758-
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
768+
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
759769
- { WIDEMUL: 'int128_struct', ECMULTGENKB: 2, ECMULTWINDOW: 4 }
760-
- { WIDEMUL: 'int128', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
770+
- { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
761771
- { WIDEMUL: 'int128', RECOVERY: 'yes' }
762-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
763-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc' }
764-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY' }
772+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
773+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc' }
774+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY' }
765775
- BUILD: 'distcheck'
766776

767777
steps:
@@ -867,6 +877,7 @@ jobs:
867877
WERROR_CFLAGS:
868878
ECDH: 'yes'
869879
RECOVERY: 'yes'
880+
EXTRAKEYS: 'yes'
870881
SCHNORRSIG: 'yes'
871882
ELLSWIFT: 'yes'
872883
EXPERIMENTAL: 'yes'

CHANGELOG.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010

1111
## [Unreleased]
1212

13+
## [0.5.1] - 2024-08-01
14+
1315
#### Added
1416
- Added usage example for an ElligatorSwift key exchange.
1517

18+
#### Changed
19+
- The default size of the precomputed table for signing was changed from 22 KiB to 86 KiB. The size can be changed with the configure option `--ecmult-gen-kb` (`SECP256K1_ECMULT_GEN_KB` for CMake).
20+
- "auto" is no longer an accepted value for the `--with-ecmult-window` and `--with-ecmult-gen-kb` configure options (this also applies to `SECP256K1_ECMULT_WINDOW_SIZE` and `SECP256K1_ECMULT_GEN_KB` in CMake). To achieve the same configuration as previously provided by the "auto" value, omit setting the configure option explicitly.
21+
22+
#### Fixed
23+
- Fixed compilation when the extrakeys module is disabled.
24+
25+
#### ABI Compatibility
26+
The ABI is backward compatible with versions 0.5.0, 0.4.x and 0.3.x.
27+
1628
## [0.5.0] - 2024-05-06
1729

1830
#### Added
1931
- New function `secp256k1_ec_pubkey_sort` that sorts public keys using lexicographic (of compressed serialization) order.
2032

2133
#### Changed
2234
- The implementation of the point multiplication algorithm used for signing and public key generation was changed, resulting in improved performance for those operations.
23-
- The related configure option `--ecmult-gen-precision` was replaced with `--ecmult-gen-kb` (`ECMULT_GEN_KB` for CMake).
35+
- The related configure option `--ecmult-gen-precision` was replaced with `--ecmult-gen-kb` (`SECP256K1_ECMULT_GEN_KB` for CMake).
2436
- This changes the supported precomputed table sizes for these operations. The new supported sizes are 2 KiB, 22 KiB, or 86 KiB (while the old supported sizes were 32 KiB, 64 KiB, or 512 KiB).
2537

2638
#### ABI Compatibility
@@ -134,7 +146,8 @@ This version was in fact never released.
134146
The number was given by the build system since the introduction of autotools in Jan 2014 (ea0fe5a5bf0c04f9cc955b2966b614f5f378c6f6).
135147
Therefore, this version number does not uniquely identify a set of source files.
136148

137-
[unreleased]: https://github.com/bitcoin-core/secp256k1/compare/v0.5.0...HEAD
149+
[unreleased]: https://github.com/bitcoin-core/secp256k1/compare/v0.5.1...HEAD
150+
[0.5.1]: https://github.com/bitcoin-core/secp256k1/compare/v0.5.0...v0.5.1
138151
[0.5.0]: https://github.com/bitcoin-core/secp256k1/compare/v0.4.1...v0.5.0
139152
[0.4.1]: https://github.com/bitcoin-core/secp256k1/compare/v0.4.0...v0.4.1
140153
[0.4.0]: https://github.com/bitcoin-core/secp256k1/compare/v0.3.2...v0.4.0

CMakeLists.txt

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
cmake_minimum_required(VERSION 3.16)
22

3+
#=============================
4+
# Project / Package metadata
5+
#=============================
36
project(libsecp256k1
47
# The package (a.k.a. release) version is based on semantic versioning 2.0.0 of
58
# the API. All changes in experimental modules are treated as
69
# backwards-compatible and therefore at most increase the minor version.
7-
VERSION 0.5.1
10+
VERSION 0.5.2
811
DESCRIPTION "Optimized C library for ECDSA signatures and secret/public key operations on curve secp256k1."
912
HOMEPAGE_URL "https://github.com/bitcoin-core/secp256k1"
1013
LANGUAGES C
1114
)
15+
enable_testing()
16+
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
1217

1318
if(CMAKE_VERSION VERSION_LESS 3.21)
1419
# Emulates CMake 3.21+ behavior.
@@ -27,14 +32,18 @@ endif()
2732
# All changes in experimental modules are treated as if they don't affect the
2833
# interface and therefore only increase the revision.
2934
set(${PROJECT_NAME}_LIB_VERSION_CURRENT 4)
30-
set(${PROJECT_NAME}_LIB_VERSION_REVISION 1)
35+
set(${PROJECT_NAME}_LIB_VERSION_REVISION 2)
3136
set(${PROJECT_NAME}_LIB_VERSION_AGE 2)
3237

38+
#=============================
39+
# Language setup
40+
#=============================
3341
set(CMAKE_C_STANDARD 90)
3442
set(CMAKE_C_EXTENSIONS OFF)
3543

36-
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
37-
44+
#=============================
45+
# Configurable options
46+
#=============================
3847
option(BUILD_SHARED_LIBS "Build shared libraries." ON)
3948
option(SECP256K1_DISABLE_SHARED "Disable shared library. Overrides BUILD_SHARED_LIBS." OFF)
4049
if(SECP256K1_DISABLE_SHARED)
@@ -324,20 +333,21 @@ if(SECP256K1_BUILD_CTIME_TESTS)
324333
unset(msan_enabled)
325334
endif()
326335

327-
include(CTest)
328-
# We do not use CTest's BUILD_TESTING because a single toggle for all tests is too coarse for our needs.
329-
mark_as_advanced(BUILD_TESTING)
330-
if(SECP256K1_BUILD_BENCHMARK OR SECP256K1_BUILD_TESTS OR SECP256K1_BUILD_EXHAUSTIVE_TESTS OR SECP256K1_BUILD_CTIME_TESTS OR SECP256K1_BUILD_EXAMPLES)
331-
enable_testing()
332-
endif()
333-
334336
set(SECP256K1_APPEND_CFLAGS "" CACHE STRING "Compiler flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
335337
if(SECP256K1_APPEND_CFLAGS)
336338
# Appending to this low-level rule variable is the only way to
337339
# guarantee that the flags appear at the end of the command line.
338340
string(APPEND CMAKE_C_COMPILE_OBJECT " ${SECP256K1_APPEND_CFLAGS}")
339341
endif()
340342

343+
set(SECP256K1_APPEND_LDFLAGS "" CACHE STRING "Linker flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
344+
if(SECP256K1_APPEND_LDFLAGS)
345+
# Appending to this low-level rule variable is the only way to
346+
# guarantee that the flags appear at the end of the command line.
347+
string(APPEND CMAKE_C_CREATE_SHARED_LIBRARY " ${SECP256K1_APPEND_LDFLAGS}")
348+
string(APPEND CMAKE_C_LINK_EXECUTABLE " ${SECP256K1_APPEND_LDFLAGS}")
349+
endif()
350+
341351
add_subdirectory(src)
342352
if(SECP256K1_BUILD_EXAMPLES)
343353
add_subdirectory(examples)
@@ -425,6 +435,9 @@ endif()
425435
if(SECP256K1_APPEND_CFLAGS)
426436
message("SECP256K1_APPEND_CFLAGS ............... ${SECP256K1_APPEND_CFLAGS}")
427437
endif()
438+
if(SECP256K1_APPEND_LDFLAGS)
439+
message("SECP256K1_APPEND_LDFLAGS .............. ${SECP256K1_APPEND_LDFLAGS}")
440+
endif()
428441
message("")
429442
if(print_msan_notice)
430443
message(

0 commit comments

Comments
 (0)