0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-02 09:46:52 -05:00
Bitcoin Core integration/staging tree
Find a file
fanquake 5cc083cd46
Merge bitcoin/bitcoin#23473: build: boring autotools cleanup
34094aff13 build: consistently quote AC_CHECK_LIB() arguments (fanquake)
efd4fe156a build: consistently quote AC_MSG_* arguments (fanquake)
c39732694d build: consistently quote AC_CHECK_PROG() arguments (fanquake)
80762dfc45 build: consistently quote arguments in AC_ARG_VAR() (fanquake)
e6749a4f99 build: consistently quote arguments in AM_CONDITIONAL() (fanquake)
cdb47e18b7 build: consistently quote AC_DEFINE() arguments (fanquake)
a17a3f9d62 build: consistently quote AC_MSG_CHECKING() arguments (fanquake)
50d99f202d build: consistently quote AC_PATH_TOOL arguments (fanquake)
05923e7c62 build: AC_PATH_PROG(S) consistently quote arguments (fanquake)
407f3a495b build: cleanup AX_CHECK_PREPROC_FLAG() usage (fanquake)
b4dba0c6c7 build: AX_CHECK_PREPROC_FLAG() serial 6 (fanquake)
5ced925283 build: cleanup AX_CHECK_COMPILE_FLAG() usage (fanquake)
b3dd6c1d0f build: AX_CHECK_COMPILE_FLAG() serial 6 (fanquake)
5e6bc437c5 build: cleanup AX_CHECK_LINK_FLAG() usage (fanquake)
a874637bf9 build: AX_CHECK_LINK_FLAG serial 6 (fanquake)

Pull request description:

  This is mostly just being consistent with how we do things, and migrating towards a style (we have already been doing so ad-hoc) that is clearer for anyone who cares to read `.m4`. For example:

  `master`:
  ```m4
    AX_CHECK_COMPILE_FLAG(
      [-g3],
      [[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g3"]],
      [AX_CHECK_COMPILE_FLAG([-g],[[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g"]],,[[$CXXFLAG_WERROR]])],
      [[$CXXFLAG_WERROR]])
  ```

  This PR:
  ```m4
    AX_CHECK_COMPILE_FLAG(
      [-g3],
      [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g3"],
      [AX_CHECK_COMPILE_FLAG([-g], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g"], [], [$CXXFLAG_WERROR])],
      [$CXXFLAG_WERROR])
  ```

  Drop unneeded double-quoting (which we use inconsistently), use `[]` for empty arguments, space things out.

  There should be no functional change, before & after binaries identical. Very boring.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  22097cd621cd88348f827b916f4b4b120b40c3515a3752595347e36d57dc9158  guix-build-34094aff1348/output/aarch64-linux-gnu/SHA256SUMS.part
  43f10bb857afa7ea52a8ed9beed36ff0e3ee02dba31100fc04c8e0b2443d94eb  guix-build-34094aff1348/output/aarch64-linux-gnu/bitcoin-34094aff1348-aarch64-linux-gnu-debug.tar.gz
  9095a8228376094065103f4adc9cdcb8189111fb9536ad88e4f8cecc3df6fc75  guix-build-34094aff1348/output/aarch64-linux-gnu/bitcoin-34094aff1348-aarch64-linux-gnu.tar.gz
  9c73179059c6fe1f7643445ec5a530003fc41187aa0a94cb1f5c106097161e5b  guix-build-34094aff1348/output/arm-linux-gnueabihf/SHA256SUMS.part
  70ddd4dd0a06c7491937084125f690c1d62fa2647c16048fc1a4a9a09d8b10b4  guix-build-34094aff1348/output/arm-linux-gnueabihf/bitcoin-34094aff1348-arm-linux-gnueabihf-debug.tar.gz
  0a338fdc9788c33a0d519b6c09fdf6271e3bd68846ee61eef0a06a2df6bab419  guix-build-34094aff1348/output/arm-linux-gnueabihf/bitcoin-34094aff1348-arm-linux-gnueabihf.tar.gz
  25eda7fae2984b9dadf47420d1dc09b0224d425144233482602bd9e6d348255c  guix-build-34094aff1348/output/dist-archive/bitcoin-34094aff1348.tar.gz
  d70d84e43ffa2d809063cda868f708539e9114b2d14edb6ddcf05fdf73f3187b  guix-build-34094aff1348/output/powerpc64-linux-gnu/SHA256SUMS.part
  8d1291e576d2b5f8f7120fe6e6ed4b23415249e22a657a350ccce68ff261e088  guix-build-34094aff1348/output/powerpc64-linux-gnu/bitcoin-34094aff1348-powerpc64-linux-gnu-debug.tar.gz
  eab448186aee18ac33c39eed4d24501208d10d257fe6e2739adf589b1d4b693a  guix-build-34094aff1348/output/powerpc64-linux-gnu/bitcoin-34094aff1348-powerpc64-linux-gnu.tar.gz
  4d28617b4d0ddb88c8b20d06ca21314ee40814043f92cabcd9ea3e3d8ee39183  guix-build-34094aff1348/output/powerpc64le-linux-gnu/SHA256SUMS.part
  dea02168e170e92600012f5806ec8b39209282c2270669f2040682f74bc3f320  guix-build-34094aff1348/output/powerpc64le-linux-gnu/bitcoin-34094aff1348-powerpc64le-linux-gnu-debug.tar.gz
  c7122e89d3186a183ac08e7f3020654722c98bf8acc8b790bb292b39f5ba8225  guix-build-34094aff1348/output/powerpc64le-linux-gnu/bitcoin-34094aff1348-powerpc64le-linux-gnu.tar.gz
  0802a52720d2bec1264dc13f6554a9da347baa3d096242b29bb524f4b121eb10  guix-build-34094aff1348/output/riscv64-linux-gnu/SHA256SUMS.part
  4aee9fc41f35d2adb2d0562902dd8584a8413a73c015ddcdcef00586779f63a7  guix-build-34094aff1348/output/riscv64-linux-gnu/bitcoin-34094aff1348-riscv64-linux-gnu-debug.tar.gz
  3f0c4d6096ac7e08389e851c2d252632c044a700ce0174473ac4d7f66290e8cc  guix-build-34094aff1348/output/riscv64-linux-gnu/bitcoin-34094aff1348-riscv64-linux-gnu.tar.gz
  c5149c46b9b7081d5715daf3e22fd30ffca23d333f664da1fabc8143ff8bf76c  guix-build-34094aff1348/output/x86_64-apple-darwin19/SHA256SUMS.part
  81848355751e55a8a60636e3ea2f03ca6abb78736a5431715cd51cebd46bb961  guix-build-34094aff1348/output/x86_64-apple-darwin19/bitcoin-34094aff1348-osx-unsigned.dmg
  d2f6f689cbedddd865f90dba9ddf21479c71c61b0350fda62804b2f233116a43  guix-build-34094aff1348/output/x86_64-apple-darwin19/bitcoin-34094aff1348-osx-unsigned.tar.gz
  99d8fe428fcb67f9975e6b8d9a63d84946215a0a6b8f94967ce96cc3af4b7772  guix-build-34094aff1348/output/x86_64-apple-darwin19/bitcoin-34094aff1348-osx64.tar.gz
  3dac13c7556d9a25ff5513bbb2638fe4fa74d8a88304bbdce52364df7832a3ab  guix-build-34094aff1348/output/x86_64-linux-gnu/SHA256SUMS.part
  e4baa7da80fdabbb50953efaaa7b4867c7e575a7a156b728e8e197142df55697  guix-build-34094aff1348/output/x86_64-linux-gnu/bitcoin-34094aff1348-x86_64-linux-gnu-debug.tar.gz
  f82f5bcc7197c1741b106f62be7b468aadbdf5b3198091582026cd450bf13b3a  guix-build-34094aff1348/output/x86_64-linux-gnu/bitcoin-34094aff1348-x86_64-linux-gnu.tar.gz
  db22b5f48783917f985920ddb26aa170b4d6cc65112406548847a883099505b8  guix-build-34094aff1348/output/x86_64-w64-mingw32/SHA256SUMS.part
  ead0809193ca1d462553a6f3f233cdbff7a3f8419100d825abfc10835508e485  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win-unsigned.tar.gz
  e1006b6c114eaf33274144d8e9a20abc0cee01e26a4594063ee615bf09c1b344  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win64-debug.zip
  2d3fbc593b58d353a6859e02c0dd096d453cf5f1e3150c2a1c234bdfc97b4f24  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win64-setup-unsigned.exe
  25cfa8a3655727572593f100b7a70c1061fa6f3b017014ad7444059611c3ddda  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win64.zip
  ```

ACKs for top commit:
  hebasto:
    re-ACK 34094aff13

Tree-SHA512: 7515e85b4dedddf430ddf0bf31f25fca8f73898cf2ba4b6a66b9f21feeaff4c2600fe24efdd2e81822f059827b5b35341b183ea8342fd689248d8c355bf5cb42
2021-11-13 07:12:30 +08:00
.github doc: Remove label from good first issue template 2020-08-24 09:31:24 +02:00
.tx qt: Bump transifex slug for 22.x 2021-04-21 13:46:41 +02:00
build-aux/m4 build: consistently quote AC_MSG_* arguments 2021-11-12 14:31:59 +08:00
build_msvc Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test 2021-11-12 10:00:49 +08:00
ci Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test 2021-11-12 10:00:49 +08:00
contrib Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test 2021-11-12 10:00:49 +08:00
depends Merge bitcoin/bitcoin#22783: build: Cleanup depends build system 2021-10-19 15:51:41 +08:00
doc Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test 2021-11-12 10:00:49 +08:00
share Remove -rescan startup parameter 2021-09-30 12:06:27 +13:00
src style: Use 4 spaces for indentation, not 5 2021-11-12 11:41:55 +01:00
test Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test 2021-11-12 10:00:49 +08:00
.cirrus.yml ci: Add vcpkg tools cache 2021-10-22 14:33:04 +03:00
.editorconfig ci: Drop AppVeyor CI integration 2021-09-07 06:12:53 +03:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore build: add *~ to .gitignore 2021-05-12 18:10:47 +02:00
.python-version Bump minimum python version to 3.6 2020-11-09 17:53:47 +10:00
.style.yapf test: .style.yapf: Set column_limit=160 2019-03-04 18:28:13 -05:00
autogen.sh scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
configure.ac build: consistently quote AC_CHECK_LIB() arguments 2021-11-12 14:32:00 +08:00
CONTRIBUTING.md Enable TLS in links in documentation 2021-09-16 22:00:20 +00:00
COPYING doc: Update license year range to 2021 2020-12-30 16:24:47 +01:00
INSTALL.md doc: Added hyperlink for doc/build 2021-09-09 19:53:12 +05:30
libbitcoinconsensus.pc.in build: remove libcrypto as internal dependency in libbitcoinconsensus.pc 2019-11-19 15:03:44 +01:00
Makefile.am Add minisketch dependency 2021-10-21 09:38:55 +08:00
README.md doc: Rework internal and external links 2021-02-17 09:18:46 +01:00
REVIEWERS release: remove gitian 2021-08-31 09:37:23 +08:00
SECURITY.md doc: Suggest keys.openpgp.org as keyserver in SECURITY.md 2021-11-08 12:22:04 +01:00

Bitcoin Core integration/staging tree

https://bitcoincore.org

For an immediately usable, binary version of the Bitcoin Core software, see https://bitcoincore.org/en/download/.

Further information about Bitcoin Core is available in the doc folder.

What is Bitcoin?

Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin Core is the name of open source software which enables the use of this currency.

For more information read the original Bitcoin whitepaper.

License

Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built (see doc/build-*.md for instructions) and tested, but it is not guaranteed to be completely stable. Tags are created regularly from release branches to indicate new official, stable release versions of Bitcoin Core.

The https://github.com/bitcoin-core/gui repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.

The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.