Dash - Reinventing Cryptocurrency
Go to file
fanquake 55bd901c7f Merge bitcoin/bitcoin#24112: build: pass win32-dll to LT_INIT()
80e78b6a0479094cae642726f74a17d09b708ddc build: pass win32-dll to LT_INIT() (fanquake)

Pull request description:

  This is the recommended way to support building PE DLLs with modern mingw
  toolchains and libtool. I made a similar change upstream in the secp256k1
  repo: https://github.com/bitcoin-core/secp256k1/pull/1022. Note that we already
  pass `-no-undefined` to our libtool LDFLAGS.

  > This option should be used if the package has been ported to build clean
  > dlls on win32 platforms.
  > If this macro is not used, libtool will assume that the package libraries
  > are not dll clean and will build only static libraries on win32 hosts.

  See:
  https://www.gnu.org/software/libtool/manual/libtool.html#LT_005fINIT
  https://www.gnu.org/software/gnulib/manual/html_node/Libtool-and-Windows.html
  https://autotools.io/libtool/windows.html
  https://github.com/bitcoin-core/secp256k1/issues/923

  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
  a504bac1c81818e2fa7e14d4b1e2ddf665b9b79683fff4390ec1d76335157012  guix-build-80e78b6a0479/output/aarch64-linux-gnu/SHA256SUMS.part
  ef9193402c261adb993f6644de3f49858acb6d120002505e0def4827b8772294  guix-build-80e78b6a0479/output/aarch64-linux-gnu/bitcoin-80e78b6a0479-aarch64-linux-gnu-debug.tar.gz
  030961da6966a14d3dd7322dc7559dfdc0bdeb9f39d042f379c41bab98303d28  guix-build-80e78b6a0479/output/aarch64-linux-gnu/bitcoin-80e78b6a0479-aarch64-linux-gnu.tar.gz
  c485e456d325cdd64111eefe36b007e7bcb9e5eb61b1ab752e601023f5853e55  guix-build-80e78b6a0479/output/arm-linux-gnueabihf/SHA256SUMS.part
  ff0481c57a3ab15c9651ead7b77990c37af9360bfbc1f5285ad5f7d0c66f5acc  guix-build-80e78b6a0479/output/arm-linux-gnueabihf/bitcoin-80e78b6a0479-arm-linux-gnueabihf-debug.tar.gz
  5f582e30bbdba9df175bf4c5d4aae64e2a1cf572086390ae6962d3ee9f0325a9  guix-build-80e78b6a0479/output/arm-linux-gnueabihf/bitcoin-80e78b6a0479-arm-linux-gnueabihf.tar.gz
  e96c601af96e851a0351c6f8975feb47623a2dd5e3dd2c15bcdfe8435f845538  guix-build-80e78b6a0479/output/arm64-apple-darwin/SHA256SUMS.part
  a50db7a8a9b6415842807644760110f2e01665b922b2762634d94e2b497cbd4a  guix-build-80e78b6a0479/output/arm64-apple-darwin/bitcoin-80e78b6a0479-arm64-apple-darwin.tar.gz
  0f3707a2423483f84be5edff91f8e657cf71ab097d2550f4369760ac8c6a1644  guix-build-80e78b6a0479/output/arm64-apple-darwin/bitcoin-80e78b6a0479-osx-unsigned.dmg
  33252a9895c013cfbea06444d6372a23cc555831e4675705b4d7d6b065f06cff  guix-build-80e78b6a0479/output/arm64-apple-darwin/bitcoin-80e78b6a0479-osx-unsigned.tar.gz
  2ab70177c80c36e98018d07e2aece084c7d3d604e7dc12d2df2e1a077e06b983  guix-build-80e78b6a0479/output/dist-archive/bitcoin-80e78b6a0479.tar.gz
  cc0237b05948472efa61f7d5a666d8e97b5abeb7f498f3f72d46ff69be38bcf4  guix-build-80e78b6a0479/output/powerpc64-linux-gnu/SHA256SUMS.part
  b3778fd81bf4e432ad1590792673c91d09c8f8f43daef4cbe0852bca49e1ed57  guix-build-80e78b6a0479/output/powerpc64-linux-gnu/bitcoin-80e78b6a0479-powerpc64-linux-gnu-debug.tar.gz
  bebe78f0e6a062d943c99470f12bfc520381acec40e0409915cc8d5dccbe5999  guix-build-80e78b6a0479/output/powerpc64-linux-gnu/bitcoin-80e78b6a0479-powerpc64-linux-gnu.tar.gz
  350f7b22562d8b6642f37afb3e192d36dbcb360a361c8b834d0f7d50401667b8  guix-build-80e78b6a0479/output/powerpc64le-linux-gnu/SHA256SUMS.part
  9a488fbd71c53092feda8dfccecc4ae7d10aa2efe48f99f150cb2322bb28c5e6  guix-build-80e78b6a0479/output/powerpc64le-linux-gnu/bitcoin-80e78b6a0479-powerpc64le-linux-gnu-debug.tar.gz
  06d3c472171124d6ca92f95f7d5cb7fc4a523c25396dbbb9522cab920867d3db  guix-build-80e78b6a0479/output/powerpc64le-linux-gnu/bitcoin-80e78b6a0479-powerpc64le-linux-gnu.tar.gz
  67d591d5f15933d56046d0b8208970dc812ddd240c14a4c3b635cdc256ae5205  guix-build-80e78b6a0479/output/riscv64-linux-gnu/SHA256SUMS.part
  f9a853d703ac153748f3d9f60d4a74a72c75966dc1d3711b688ebd003ff9389c  guix-build-80e78b6a0479/output/riscv64-linux-gnu/bitcoin-80e78b6a0479-riscv64-linux-gnu-debug.tar.gz
  07554223c5ab3b940f53f9483054023e639d4e9902810b3d5c1875fd390064ea  guix-build-80e78b6a0479/output/riscv64-linux-gnu/bitcoin-80e78b6a0479-riscv64-linux-gnu.tar.gz
  294dc1274391b17fb750eac7c76e59c18e972ed3fbf8bccd53ba514843fbc59f  guix-build-80e78b6a0479/output/x86_64-apple-darwin/SHA256SUMS.part
  cc5c1256ca57f80d5ecb93fe2ac477f90945206430545b0463813f7099804f47  guix-build-80e78b6a0479/output/x86_64-apple-darwin/bitcoin-80e78b6a0479-osx-unsigned.dmg
  c5ff5cf7a8119981f8a1aa2306ff9e84c60e5c9845836eb2562941801495c7de  guix-build-80e78b6a0479/output/x86_64-apple-darwin/bitcoin-80e78b6a0479-osx-unsigned.tar.gz
  5951712d82391ba0471f253a7f87701b464dad1a90bb1d91866b0c7c51164a8f  guix-build-80e78b6a0479/output/x86_64-apple-darwin/bitcoin-80e78b6a0479-osx64.tar.gz
  28f84ed57769a642b1679acf90fdaad7ac489d59598d4a8a859021d39a32d878  guix-build-80e78b6a0479/output/x86_64-linux-gnu/SHA256SUMS.part
  f7c37c47ffaec6fbca36c3c4897b2df2fa7dd5327cb860501eec9d9e987ea5c7  guix-build-80e78b6a0479/output/x86_64-linux-gnu/bitcoin-80e78b6a0479-x86_64-linux-gnu-debug.tar.gz
  c7c6db897a604e5a85f37938b763538751a133bbab90e80904d4b7198b227d95  guix-build-80e78b6a0479/output/x86_64-linux-gnu/bitcoin-80e78b6a0479-x86_64-linux-gnu.tar.gz
  80b1e0e249cefe8941ca0e1a563f479c5e4408da6f0aa02c127182a09310dd8c  guix-build-80e78b6a0479/output/x86_64-w64-mingw32/SHA256SUMS.part
  e7f8b2cd0f0f465e80d96338dcc398306b321a9c99556ca1d39f094752702a21  guix-build-80e78b6a0479/output/x86_64-w64-mingw32/bitcoin-80e78b6a0479-win-unsigned.tar.gz
  5191f309c758135fd597df6bc9ef9e2c2746947abb74b38c32e5b6e073fa0995  guix-build-80e78b6a0479/output/x86_64-w64-mingw32/bitcoin-80e78b6a0479-win64-debug.zip
  1569de943ca054841141c700f1d4fca2658228b85eee1f44d201b0c881218ef0  guix-build-80e78b6a0479/output/x86_64-w64-mingw32/bitcoin-80e78b6a0479-win64-setup-unsigned.exe
  c8d78aeedeeaf7af4d325d38fb5e2307965b0080ce08a8cde802afaaa73f157d  guix-build-80e78b6a0479/output/x86_64-w64-mingw32/bitcoin-80e78b6a0479-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 80e78b6a0479094cae642726f74a17d09b708ddc

Tree-SHA512: fb4a6a443288723776491a9795429273b4a454cfd8230e75570d44fcd71037dc784a2061f6a979322ebc8f9b4131dfbb0494146ab3863f94829e72922be4ec07
2022-04-11 09:46:40 -07:00
.github ci: build on-demand docker images for testing on devnets (#4667) 2022-04-03 17:24:06 -05:00
.tx Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
build-aux/m4 Merge #16812: doc: Fix whitespace errs in .md files, bitcoin.conf, and Info.plist.in 2022-01-20 13:09:17 -05:00
ci Merge #21243: ci: Avoid invoking curl on the host 2022-04-05 23:10:05 -05:00
contrib Merge pull request #4735 from kittywhiskers/translation 2022-04-07 13:18:29 +03:00
depends Merge bitcoin/bitcoin#24326: build: minor cleanups to native_clang package 2022-04-11 09:46:40 -07:00
doc Merge #16224: gui: Bilingual GUI error messages 2022-04-07 10:41:24 -05:00
share Merge bitcoin/bitcoin#24277: build: Fix make deploy for Windows when building out of source tree 2022-04-11 09:46:40 -07:00
src Merge bitcoin/bitcoin#24372: bench: Avoid deprecated use of volatile += 2022-04-11 09:46:40 -07:00
test Merge bitcoin/bitcoin#24342: test: remove import socket in test_ipv6_local 2022-04-11 09:46:40 -07:00
.cirrus.yml merge bitcoin#16582: Rework ci (Use travis only as fallback env) 2022-02-12 19:24:32 +05:30
.dockerignore build: add dash minimal development environment container 2021-12-21 12:43:37 +05:30
.editorconfig Merge #21123: code style: Add EditorConfig file 2021-07-16 10:04:09 -05:00
.fuzzbuzz.yml Merge #20781: fuzz: remove no-longer-necessary packages from fuzzbuzz config 2021-09-18 21:41:40 -04:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore Merge bitcoin/bitcoin#23887: Include patches for Guix 2022-04-11 09:46:40 -07:00
.gitlab-ci.yml ci: exclude fuzzing harnesses from resulting build artifact archive 2022-03-25 01:46:55 +05:30
.python-version bump .python-version (#4717) 2022-03-23 09:26:24 +03:00
.style.yapf Merge #15533: test: .style.yapf: Set column_limit=160 2021-07-10 12:10:51 -05:00
.travis.yml Merge #17591: ci: Add big endian platform - s390x 2022-04-03 18:08:43 -05:00
autogen.sh Merge #17074: build: Added double quotes 2021-12-22 10:15:40 -06:00
CMakeLists.txt build: adjust cmake file for auto settings depends folder on m1 systems (#4669) 2022-01-20 19:23:12 +03:00
configure.ac Merge bitcoin/bitcoin#24112: build: pass win32-dll to LT_INIT() 2022-04-11 09:46:40 -07:00
CONTRIBUTING.md Merge bitcoin/bitcoin#23728: Use the imperative mood in example subject line 2022-04-11 09:46:40 -07:00
COPYING Bump copyright year to 2020 (#3290) 2020-01-17 15:42:55 +01:00
INSTALL.md Dashify INSTALL.md and build-unix.md 2018-01-12 16:12:54 +01:00
libdashconsensus.pc.in Merge #7192: Unify product name to as few places as possible 2017-12-11 08:30:26 +01:00
Makefile.am Merge #12051: add missing debian contrib file to tarball 2021-12-26 22:23:01 -05:00
README.md Merge #17351: doc: Fix some misspellings 2022-04-02 16:30:53 +05:30
SECURITY.md Merge bitcoin/bitcoin#23466: doc: Suggest keys.openpgp.org as keyserver in SECURITY.md 2022-04-03 18:46:47 -05:00

Dash Core staging tree 0.17

CI master develop
Gitlab Build Status Build Status

https://www.dash.org

What is Dash?

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

Pre-Built Binary

For more information, as well as an immediately usable, binary version of the Dash Core software, see https://www.dash.org/downloads/.

License

Dash 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 meant to be stable. Development is normally done in separate branches. Tags are created to indicate new official, stable release versions of Dash Core.

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, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes 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 Dash 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.

Translators should also follow the forum.