Commit graph

67 commits

Author SHA1 Message Date
Aaron Clauson 29eb039252
Moves vcpkg list to a text file and updates the appveyor job and readme to use it. 2019-11-10 13:49:28 +00:00
Aaron Clauson b80f7db832
Remove redundant class file includes from test_bitcoin project. 2019-11-07 20:03:23 +00:00
MarcoFalke 46e0e27639
Merge #17364: Updates to appveyor config for VS2019 and Qt5.9.8 + msvc project fixes
3c84deebaa Updated appveyor config:  - Update build image from Visual Studio 2017 to Visual Studio 2019.  - Updated Qt static library from Qt5.9.7 to Qt5.9.8.  - Added commands to update vcpkg port files (this does not update already installed packages).  - Updated vcpkg package list as per #17309.  - Removed commands setting common project file options. Now done via common.init.vcxproj include.  - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs:  - Updated platform toolset from v141 to v142.  - Updated Qt static library from Qt5.9.7 to Qt5.9.8.  - Added ignore for linker warning building bitcoin-qt program.  - Added missing util/str.cpp class file to test_bitcoin project file. (Aaron Clauson)

Pull request description:

  Updates to appveyor config:
   - Update build image from Visual Studio 2017 to Visual Studio 2019.
   - Updated Qt static library from Qt5.9.7 to Qt5.9.8.
   - Added commands to update vcpkg port files (this does not update already installed packages).
   - Updated vcpkg package list as per #17309.
   - Removed commands setting common project file options. Now done via common.init.vcxproj include.
   - Changed msbuild verbosity from normal to quiet. Normal writes a LOT of logs and impacts appveyor job duration.

  Updates to msvc project configs:
   - Updated platform toolset from v141 to v142.
   - Updated Qt static library from Qt5.9.7 to Qt5.9.8.
   - Added ignore for linker warning building bitcoin-qt program.
   - Added missing util/str.cpp class file to test_bitcoin project file.

  In order for an existing appveyor job based on the new config to work the cache must be purged. The steps to do this are shown below. The specific appveyor project path will need to be adjusted.

  ````
  export APPVEYOR_TOKEN="<your-api-token>"
  curl -H "Authorization: Bearer $APPVEYOR_TOKEN" -X DELETE https://ci.appveyor.com/api/projects/bitcoin/bitcoin-9ql6k/buildcache
  ````

ACKs for top commit:
  ryanofsky:
    Non-expert code review ACK 3c84deebaa.

Tree-SHA512: 77063d4588c3499de78b0bcc4d8b638f36c70284485ae94ce5c718a3dacb6d28cc34f9443c54c4e98c07b446d26b59589259671c2f6bcc952344042b4a3baf8f
2019-11-07 09:45:47 -05:00
Aaron Clauson 3c84deebaa
Updated appveyor config:
- Update build image from Visual Studio 2017 to Visual Studio 2019.
 - Updated Qt static library from Qt5.9.7 to Qt5.9.8.
 - Added commands to update vcpkg port files (this does not update already installed packages).
 - Updated vcpkg package list as per #17309.
 - Removed commands setting common project file options. Now done via common.init.vcxproj include.
 - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration.
Updated msvc project configs:
 - Updated platform toolset from v141 to v142.
 - Updated Qt static library from Qt5.9.7 to Qt5.9.8.
 - Added ignore for linker warning building bitcoin-qt program.
 - Added missing util/str.cpp class file to test_bitcoin project file.
2019-11-06 22:02:16 +00:00
MarcoFalke faec28252c
scripted-diff: test: Move setup_common to test library
-BEGIN VERIFY SCRIPT-
 # Move files
 for f in $(git ls-files src/test/lib/); do git mv $f src/test/util/; done
 git mv src/test/setup_common.cpp                     src/test/util/
 git mv src/test/setup_common.h                       src/test/util/
 # Replace Windows paths
 sed -i -e 's|\\setup_common|\\util\\setup_common|g' $(git grep -l '\\setup_common')
 sed -i -e 's|src\\test\\lib\\|src\\test\\util\\|g'  build_msvc/test_bitcoin/test_bitcoin.vcxproj
 # Everything else
 sed -i -e 's|/setup_common|/util/setup_common|g'    $(git grep -l 'setup_common')
 sed -i -e 's|test/lib/|test/util/|g'                $(git grep -l 'test/lib/')
 # Fix include guard
 sed -i -e 's|BITCOIN_TEST_SETUP_COMMON_H|BITCOIN_TEST_UTIL_SETUP_COMMON_H|g' ./src/test/util/setup_common.h
 sed -i -e 's|BITCOIN_TEST_LIB_|BITCOIN_TEST_UTIL_|g'                     $(git grep -l 'BITCOIN_TEST_LIB_')
-END VERIFY SCRIPT-
2019-11-06 11:56:41 -05:00
fanquake b1f1fb5f1d
doc: update MSVC instructions to remove Qt configuration
Also adds missing Boost packages. Installing only the currently listed
packages was not sufficient to complete a build.
2019-11-01 15:25:52 -04:00
fanquake befbc40eb5
build: remove EVP_MD_CTX_new detection
This was added in #9475 to fix LibreSSL compatibility for
BIP70, so is no longer required.
2019-10-24 16:01:43 -04:00
Sebastian Falbesoner a0fc076476 refactor: test/bench: dedup Build{Crediting,Spending}Transaction()
prototypes used in src/test/script_tests.cpp:
- CMutableTransaction BuildCreditingTransaction(const CScript& scriptPubKey, int nValue = 0);
- CMutableTransaction BuildSpendingTransaction(const CScript& scriptSig, const CScriptWitness& scriptWitness, const CTransaction& txCredit);

prototypes used in bench/verify_script.cpp:
- CMutableTransaction BuildCreditingTransaction(const CScript& scriptPubKey);
- CMutableTransaction BuildSpendingTransaction(const CScript& scriptSig, const CMutableTransaction& txCredit);

The more generic versions from the script tests are moved into a new file pair
transaction_utils.cpp/h and the calls are adapted accordingly in the
verify_script benchmark (passing the nValue of 1 explicitely for
BuildCreditingTransaction(), passing empty scriptWitness explicitely and
converting txCredit parameter to CTransaction in BuildSpendingTransaction()).
2019-10-23 01:59:32 +02:00
Jon Atack c0859b7dac
build: 0.19 release updates on master
as per doc/release-process.md.

Note: On branch-off, these same changes should be made on the release branch, with also these additional changes to both files:

  - set `CLIENT_VERSION_REVISION` to `0`
  - set `CLIENT_VERSION_IS_RELEASE` to `true`
2019-10-02 11:08:15 +02:00
Aaron Clauson 1619684322
Added libbitcoin_qt and bitcoin-qt to the msbuild configuration. 2019-09-08 14:13:05 +02:00
Aaron Clauson d53d591230
Added the bench_bitcoin project to the list automatically produced by the msvc-autogen python script. 2019-08-29 06:22:06 +02:00
Aaron Clauson aff1c9c884
Adds an option to msbuild common configuration to ignore linker warning 4221. This warning is for object files that do not include any symbols. The warning is harmless and occurs due to some classes that are *nix only having no source to compile for an msvc build. 2019-08-28 15:03:23 +02:00
Wladimir J. van der Laan 390874c722 qt: Remove menu icons 2019-08-15 13:05:10 +02:00
Aaron Clauson e0324c3768
Updated python command in readme so it will work on systems that have both python2 and 3 installed. 2019-07-29 10:16:22 +02:00
Wladimir J. van der Laan 0a6ee9797e
Merge #16267: bench: Benchmark blockToJSON
91509ffe24 bench: Benchmark blockToJSON (Kirill Fomichev)

Pull request description:

  Related:
  - "getblock performance issue on verbosity" https://github.com/bitcoin/bitcoin/issues/15925
  - "refactor: Avoid UniValue copy constructor" #15974

ACKs for top commit:
  laanwj:
    ACK 91509ffe24

Tree-SHA512: e70b12cb31921c7527bde334f52f39776da698b6bbdb196079a8b68478c67585a5bd7bed7403f65166bd604f7ed60778c53dc064d743bb8368318a1283d1073e
2019-07-08 20:14:31 +02:00
Wladimir J. van der Laan 8c69fae944
Merge #15457: Check std::system for -[alert|block|wallet]notify
f874e14cd3 [build]: check std::system for -[alert|block|wallet]notify (Sjors Provoost)
cc3ad56ff2 [build] MSVC: set HAVE_SYSTEM for desktop apps (Sjors Provoost)
c1c91bb78d [build] detect std::system or ::wsystem (Sjors Provoost)

Pull request description:

  Platforms such as iOs and Universal Windows Platform do not support launching a process through system().

ACKs for top commit:
  laanwj:
    code review ACK f874e14cd3

Tree-SHA512: 16bb4a8fa1896046ccb22a46c8985e1aa45f5b11ecf5539eb2299e9a58f1a5b085c0c12cb6939c7493d93abce7e84fadcbfc73374c887db63da6d00c08aa476d
2019-07-05 17:33:33 +02:00
Kirill Fomichev 91509ffe24
bench: Benchmark blockToJSON 2019-07-05 17:53:57 +03:00
fanquake 4f378ac30c
Merge #16308: [MSVC] Copy build output to src/ automatically after build
08c721dab2 [MSVC] Copy build output to src/ automatically after build (nicolas.dorier)

Pull request description:

  I got frustrated many time that I run functional tests on an outdated binary.

  This make sure that files are properly copied (and debuggable) for functional tests after a build.

  This PR add a `common.vcxproj` which can be used to extend the build steps.
  I can't move it in `common.init`, because build step customization must always come at the end of a project file.

ACKs for top commit:
  sipsorcery:
    tACK 08c721dab2.
  fanquake:
    ACK 08c721dab2

Tree-SHA512: 7c033552a7bbbd3bb51a72d13bf4254e3b779c59ec93629c85f17745a1b17a8c1d6c87bb5e50eb5f4e5486e767929c0126e555b185608fd666aa39729b5068e1
2019-07-05 10:10:16 +08:00
MarcoFalke 91c345eb92
Merge #16299: bench: Move generated data to a dedicated translation unit
3d60a03a7c bench: Move generated data to a dedicated translation unit (João Barbosa)

Pull request description:

  With this change multiple benchmarks can use the same data without incurring in a bigger binary.

ACKs for top commit:
  laanwj:
    code review ACK 3d60a03a7c

Tree-SHA512: 8903bb09e4327c88e585a09bc7df1cbdfc18ebdc5d9c86bf3d6d9252a05eaf18b14ecd2bafdacd82f05a659e4b35ecd301c36011c97f7bf89302793165b00fdc
2019-07-03 11:13:58 -04:00
João Barbosa 3d60a03a7c bench: Move generated data to a dedicated translation unit 2019-07-02 18:11:15 +01:00
nicolas.dorier 08c721dab2
[MSVC] Copy build output to src/ automatically after build 2019-07-01 19:16:19 +09:00
nicolas.dorier c83f0ac9b2
[MSVC] allow user level project customization 2019-06-29 16:25:40 +09:00
nicolas.dorier 819c5ddad3
[MSVC] Enable Fuzz for functional tests 2019-06-28 16:43:56 +09:00
nicolas.dorier e47e79377f
[MSVC]: Create the config.ini as part of bitcoind build 2019-06-21 16:23:35 +09:00
nicolas.dorier eb832cd3b4
MSVC: Fix error in debug mode (Fix #16245) 2019-06-20 12:45:57 +09:00
MarcoFalke b1344eac5f
Merge #16241: docs: add rapidcheck to vcpkg install list
4971be76a7 docs: add rapidcheck to vcpkg install list (fanquake)

Pull request description:

  Setting up a fresh Windows 10 VM using [this guide](https://github.com/fanquake/core-review/blob/master/windows.md), installing `rapidcheck` and building using the changes in #16235 resulted in a working `bitcoind` and all tests passing.

ACKs for commit 4971be:

Tree-SHA512: d0cb2d1d6ac5cdecf77c21f9b05e8803266511dbd06cb644352a229d101c7bf63f8022822852877371cce83c414275a850eb9ab6876a61c2fd1061627b7223f7
2019-06-19 15:47:40 -04:00
fanquake 4971be76a7
docs: add rapidcheck to vcpkg install list 2019-06-19 16:04:37 +08:00
Aaron Clauson 750d1bc7df
Cleaned up and consolidated msvc build files to allow faster builds and easier migration to vs2019. 2019-06-19 09:20:20 +02:00
Sjors Provoost cc3ad56ff2
[build] MSVC: set HAVE_SYSTEM for desktop apps 2019-06-06 11:50:16 +02:00
Jon Atack 3ee28c506d
build: bump bitcoin_config.h packages to v0.18
Follow-up to 48ed65b.
2019-05-23 18:02:51 +02:00
Hennadii Stepanov 48ed65bcdd
Align MSVC build options with Linux build ones 2019-04-27 10:11:52 +03:00
MarcoFalke fa46ac3127
bench: Add wallet_balance benchmarks 2019-04-15 16:49:34 -04:00
MarcoFalke fa821904bf
scripted-diff: Rename test_bitcoin to test/setup_common
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/test_bitcoin\.(h|cpp)/setup_common.\1/g' $(git grep -l test_bitcoin)
git mv ./src/test/test_bitcoin.h   ./src/test/setup_common.h
git mv ./src/test/test_bitcoin.cpp ./src/test/setup_common.cpp
sed -i -e 's/BITCOIN_TEST_TEST_BITCOIN_H/BITCOIN_TEST_SETUP_COMMON_H/g' ./src/test/setup_common.h
-END VERIFY SCRIPT-
2019-04-11 10:12:36 -04:00
MarcoFalke fa8685d49e
test: Use test_bitcoin setup in bench, Add test utils 2019-04-10 15:59:11 -04:00
John Newbery 9eaeb7fb8d [build] Move wallet load functions to wallet/load unit
Moves the following wallet load functions to a new wallet/load unit in
the libbitcoin_wallet library. All other functions in wallet/init remain
in libbitcoin_server:

- `VerifyWallets`
- `LoadWallets`
- `StartWallets`
- `FlushWallets`
- `StopWallets`
- `UnloadWallets`
2019-04-09 17:53:08 -04:00
John Newbery fdf8888b6f [build] Move CheckTransaction from lib_server to lib_consensus
CheckTransaction is a context-free function that does not require access
to the blockchain or mempool. Move it from src/consensus/tx_verify in
lib_server to a new unit src/consensus/tx_check in lib_consensus so that
it can be called by non-server libraries.
2019-04-09 17:53:08 -04:00
MarcoFalke 3515612e06
Merge #15473: bench: Benchmark MempoolToJSON
fa38535130 bench: Benchmark MempoolToJSON (MarcoFalke)
fa5dc3534b rpc: Pass mempool into MempoolToJSON (MarcoFalke)

Pull request description:

  This is used in production (e.g. https://jochen-hoenicke.de/queue/#0,24h), so add a benchmark to avoid making it even slower.

  Related:

  * "getrawmempool true RPC call is O(n^2)" #14765

Tree-SHA512: da09d2e54ee261af8671152f97f863cf1acd7a6adc6578e94046b1ec9e647a670c67499760ef765254f65522dfdf773c3c8729006fa2d63ccb6d53166bafc425
2019-03-06 16:58:37 -05:00
MarcoFalke fa02b22245
test: Remove useless test_bitcoin_main.cpp 2019-02-28 15:44:02 -05:00
Chun Kuan Lee 4a5e52cb51 msvc: Use a single file to specify the include path 2019-03-01 02:30:07 +08:00
MarcoFalke fa38535130
bench: Benchmark MempoolToJSON 2019-02-25 10:13:23 -05:00
riordant 3f5ad622e5 Enable PID file creation on Windows
- Add available WIN PID function
- Consider WIN32 in each relevant case
- Add new preprocessor definitions to suppress warning
- Update error message for generic OS

Co-authored-by: Jörn Röder <kontakt@joernroeder.de>
2019-02-25 16:00:34 +07:00
Chun Kuan Lee 8a1f0a38d4 scripted-diff: Remove NDEBUG pre-define
-BEGIN VERIFY SCRIPT-
sed -i 's/NDEBUG;//g' $(git grep --name-only 'NDEBUG;' build_msvc)
-END VERIFY SCRIPT-
2019-02-17 18:26:11 +08:00
Wladimir J. van der Laan e9c190044d
Merge #15398: msvc: add rapidcheck property tests
d067e81dcf msvc: add rapid check property tests (Chun Kuan Lee)

Pull request description:

  This PR add the property tests into the binaries built by MSVC.

  And another trivial change is that I reordered the appveyor package list.

Tree-SHA512: 25d66db464beb7b512cc1f88d8557d6a047000a97d78f49884bb91a65ec142e0458039c919f51bf73413359fcf3e63e1ea4d76586b862f1c140d2ca05ee8b23d
2019-02-17 02:42:06 +01:00
Chun Kuan Lee 3c6ef0393f msvc: Fix silent merge conflict between #13926 and #14372 part II 2019-02-14 20:08:15 +08:00
Wladimir J. van der Laan 3a573fd46c
Merge #14922: windows: Set _WIN32_WINNT to 0x0601 (Windows 7)
0164b0f5cf build: Remove WINVER pre define in Makefile.leveldb.inlcude (Chun Kuan Lee)
d0522ec94e Drop defunct Windows compat fixes (Ben Woosley)
d8a2992067 windows: Call SetProcessDEPPolicy directly (Chun Kuan Lee)
1bd9ffdd44 windows: Set _WIN32_WINNT to 0x0601 (Windows 7) (Chun Kuan Lee)

Pull request description:

  The current minimum support Windows version is Vista. So set it to 0x0600
  5a88def8ad/mingw-w64-headers/include/sdkddkver.h (L19)

Tree-SHA512: 38e2afc79426ae547131c8ad3db2e0a7f54a95512f341cfa0c06e4b2fe79521ae67d2795ef96b0192e683e4f1ba6183c010d7b4b8d6b3e68b9bf48c374c59e7d
2019-02-05 18:15:01 +01:00
Wladimir J. van der Laan cf8aa5c76a
Merge #15339: qt: Pre-0.18 split-off translations update
df8a7d3408 qt: Pre-0.18 split-off translations update (Wladimir J. van der Laan)

Pull request description:

  - Update transifex slug
  - Mention update of MSVC build in `doc/translation_process.md`
  - Do a `make translate` to update English translations
  - Pull current translations from transifex

Tree-SHA512: 2f3102ff64167d5feaf484b2c45cd6aa1d06ac4f370107f0db5575fde023b3dfaea07e7178978bfff111fa80dbe4e56bd05b5774fc7c111b5273d33b3dcd44ad
2019-02-04 17:23:20 +01:00
Wladimir J. van der Laan df8a7d3408 qt: Pre-0.18 split-off translations update
- Update transifex slug
- Mention update of MSVC build in `doc/translation_process.md`
- Do a `make translate` to update English translations
- Pull current translations from transifex
2019-02-04 15:24:37 +01:00
Chun Kuan Lee d067e81dcf msvc: add rapid check property tests 2019-02-04 21:06:44 +08:00
ken2812221 bef8fdd6e2
msvc: Fix silent merge conflict between #13926 and #14372 2019-02-02 05:58:56 +08:00
Chun Kuan Lee 82dcacb822 msvc: build leveldb locally 2019-02-01 00:28:50 +08:00