Commit graph

227 commits

Author SHA1 Message Date
Chris Stewart
b2f49bd732 Integration of property based testing into Bitcoin Core
update copyright headers

attempt to fix linting errors

Fixing issue with make check classifying generator files as actual unit tests

Wrapping gen files in ENABLE_PROPERTY_TESTS macro

Make macro better
2018-08-27 08:51:51 -05:00
Cory Fields
0d00fd5901 depends: allow CC/CXX to be overridden during configure 2018-08-23 17:43:35 -04:00
Cory Fields
de0b4fba2f depends: fix qt determinism
Qt's configure grabs the path to xkb's data root during configure, but the
build changes in 5.8 apparently broke the handling for cross builds. As a
result, the string embedded in the binary depends on whether or not some files
are present in the builder's filesystem.

The "-xkb-config-root" configure setting is intended to allow manual overriding
but it is also broken. See: https://bugreports.qt.io/browse/QTBUG-60005

This has since been fixed upstream, so just hard-code the path for now. We can
drop this patch when we bump to a fixed Qt.

Also, fix the "-qt-xkbcommon-x11" config param which was renamed. This does not
appear to affect build results, presumably because auto-detection is working,
but it does not hurt to be explicit.
2018-08-17 19:02:35 -04:00
Chun Kuan Lee
96dda8b058 [depends] Add riscv qt depends support for cross compiling bitcoin-qt 2018-08-09 03:34:44 +08:00
TheCharlatan
00db418176 Add aarch64 qt depends support for cross compiling bitcoin-qt 2018-07-29 15:59:55 +02:00
MarcoFalke
e8ffec69f7
Merge #13732: Depends: Fix Qt's rcc determinism
6b5506a286 Fix Qt's rcc determinism for depends/gitian (Fuzzbawls)

Pull request description:

  With the update to Qt 5.9 having been merged, Qt's `rcc` tool now embeds a file's last modified time in it's output. Since the build system generates temporary files for all locale translations (`*.qm` files) at build time, the resulting `qrc_bitcoin_locale.cpp` file was always being generated in a non-deterministic way.

  This is a backport of https://bugreports.qt.io/browse/QTBUG-62511, which is included in Qt versions 5.11+, that allows for an environment variable (`QT_RCC_SOURCE_DATE_OVERRIDE`) to override the behavior described above. This environment variable is in turn set in the gitian descriptors, as that is where determinism is vital for release purposes.

  Prior to this, the `qt_libbitcoinqt_a-qrc_bitcoin_locale.o` object file (included into `libbitcoinqt.a`) was returning a different `sha256sum` for each and every build, regardless of file contents change, thus breaking determinism in the resulting binaries.

  This should fix #13731

Tree-SHA512: 174017e41f9afc3950ef54a9419de81577ec900db9aec3c78ccd3d879c6aecaaeb944fde0615b933f43e6ca9d7898a27ec071cdd0b91cb772755a3012de96725
2018-07-29 08:06:45 -04:00
Fuzzbawls
6b5506a286
Fix Qt's rcc determinism for depends/gitian
Backport of https://bugreports.qt.io/browse/QTBUG-62511 to resolve
locale determinism during the build process.
2018-07-25 13:53:53 -07:00
MarcoFalke
c883653202
Merge #13750: depends: use MacOS friendly sed syntax in qt.mk
12c93cb85b depends: use MacOS friendly sed syntax in qt.mk (Sjors Provoost)

Pull request description:

  I just got this error on master:
  ```
  make clean-all
  make -j5
  [...]
  /bitcoin/depends/sources/qttools-opensource-src-5.9.6.tar.xz: OK
  Preprocessing qt...
  sed: 1: "qtbase/mkspecs/bitcoin- ...": extra characters at the end of q command
  make: *** /bitcoin/depends/work/build/x86_64-apple-darwin17.7.0/qt/5.9.6-b48df1b490b/.stamp_preprocessed] Error 1
  ```

Tree-SHA512: 1eaee535c0d637a67801c7dd48e9cd5a037823f4e162a6f50e375787045fdb95929f409a88c7d000d8781a4edc497b5ccb1fd23a24e29324ec633157fadd371e
2018-07-25 06:59:10 -04:00
fanquake
26b15df99d
depends: set OSX_MIN_VERSION to 10.10 2018-07-25 07:30:27 +08:00
Sjors Provoost
12c93cb85b
depends: use MacOS friendly sed syntax in qt.mk 2018-07-24 13:20:25 +02:00
Wladimir J. van der Laan
2dc5ab6378
Merge #13482: Remove boost::program_options dependency
f447a0a707 Remove program options from build system (Chun Kuan Lee)
11588c639e Replace boost program_options (Chun Kuan Lee)

Pull request description:

  Concept from #12744, but without parsing negated options.

Tree-SHA512: 7f418744bb8934e313d77a5f162633746ef5d043de802b9c9cd9f7c1842e7e566eb5f171cd9e2cc13317281b2449c6fbd553fa4f09b837e6af2f5d2b2aabdca2
2018-07-20 16:45:44 +02:00
Chun Kuan Lee
f447a0a707 Remove program options from build system 2018-07-18 02:48:34 +00:00
Lawrence Nahum
a4ba2388fe
depends: disable Werror for zmqlib release, causes ndk build to break 2018-07-17 20:22:03 +02:00
Wladimir J. van der Laan
75bea0507f
Merge #13604: Add depends 32-bit arm support for bitcoin-qt
4b69984557 Add depends 32-bit arm support for bitcoin-qt (Sebastian Kung)

Pull request description:

  Some hobbyists are used to using the desktop for interfacing with their raspberry pi. This commits adds qt to the arm-linux-gnueabihf target.

Tree-SHA512: cb03387267eb8f68dfd79735c2c01c5a119c406e5578805e60b377934da42d46cb34d35e45c8843979dfb4070859c553d09ae348b468d9731523f33307132fa8
2018-07-17 13:11:40 +02:00
Sebastian Kung
4b69984557
Add depends 32-bit arm support for bitcoin-qt
Some hobbyists are used to using the desktop for interfacing with their
raspberry pi. This commits adds qt to the arm-linux-gnueabihf target.
2018-07-12 01:05:28 +02:00
Wladimir J. van der Laan
6c6a3001e5
Merge #13543: depends: Add RISC-V support
974f0bf8e6 depends: Mention RISC-V known compilation issue with gcc-7.3.x (Wladimir J. van der Laan)
0d1f38c45f depends: update zmq config.guess/config.sub for riscv support (fanquake)
409481c465 depends: latest config.sub (fanquake)
d7005e9988 depends: latest config.guess (fanquake)
359e2e3525 depends: Add RISC-V support (Wladimir J. van der Laan)

Pull request description:

  This adds support for riscv32 and riscv64 builds to the depends system.

  The change consists of documentation and build system changes. The most significant change is an update of `config.sub` and `config.guess` inside zeromq patch, as the current version does not recognize the `riscv*` host tuples (there's no new version of ZeroMQ yet with newer ones).

  Good thing: RISC-V 64-bit toolchain packages can be installed out of the box on Ubuntu 18.04+.

  I would also like to add RISC-V 64-bit executables to gitian, but this will not be possible until #12511 .

Tree-SHA512: 358ed72ee9e4ae44e7d305c09a4ff5ce5460eeb7ed915eb25d39c8f43b61e7b347f51bf0ae5d83ddb4ce8876dea7703c926b3baa3cccb4932b3bc17160d801bb
2018-07-10 14:49:02 +02:00
Wladimir J. van der Laan
974f0bf8e6 depends: Mention RISC-V known compilation issue with gcc-7.3.x 2018-07-09 16:30:43 +02:00
fanquake
0d1f38c45f
depends: update zmq config.guess/config.sub for riscv support 2018-07-08 22:59:21 +08:00
fanquake
409481c465
depends: latest config.sub 2018-07-08 22:27:19 +08:00
fanquake
d7005e9988
depends: latest config.guess 2018-07-08 22:26:53 +08:00
Sebastian Kung
800dea88a6
Upgrade Qt depends to 5.9.6 2018-07-06 14:26:26 +02:00
Ken Lee
70afa65b17
Fix depends Qt5.9.4 mac build
Apply patch from QTBUG-67286
2018-07-05 17:12:52 +02:00
Sebastian Kung
28482efefb
Ugrade Qt depends to Qt5.9.4
Depends can now be built with Qt5.9.4 , which is Qt's new long term
support version.
2018-07-05 17:12:42 +02:00
fanquake
2fca6568f2
depends: Update Qt download url 2018-06-27 23:26:25 +08:00
Wladimir J. van der Laan
359e2e3525 depends: Add RISC-V support 2018-06-27 13:20:02 +00:00
Giulio Lombardo
989c8990bb Rename “OS X” to the newer “macOS” convention 2018-06-04 13:04:04 +02:00
Wladimir J. van der Laan
8fd62437c6
Merge #12715: depends: Add 'make clean' rule
aff16fd depends: Add 'make clean' and 'make clean-all' rules (Henrik Jonsson)

Pull request description:

  It's useful to have a standard way to clean up the work done by the
  depends system when testing changes to it.

Tree-SHA512: d56686ca810c2531d852049420f242178d124d45a2508feeac0acf80408e8a95fc9915fb777ff0cbc4edc496990f5fdecf699c87d7986164c74b8fbf418ebf49
2018-04-18 11:28:05 +02:00
fanquake
5b4fc3eca4 depends: Fix Qt build with XCode 9.3 2018-04-11 22:55:18 +08:00
Henrik Jonsson
aff16fd511 depends: Add 'make clean' and 'make clean-all' rules
It's useful to have a standard way to clean up the work done by the
depends system when testing changes to it.

The `make clean-all` rule removes build artifacts for all
supported architectures (in addition to sources/), while `make clean`
only removes artifacts for current architecture (`BUILD`).
2018-04-11 12:49:44 +00:00
Wladimir J. van der Laan
c4219ff378
Merge #12625: depends: biplist 1.0.3
4ef82f1 depends: biplist 1.0.3 (fanquake)

Pull request description:

  biplist should now be usable for reproducible builds without any patching.

  One change has been incorporated,  the two remaining changes were rejected upstream: https://bitbucket.org/wooster/biplist/pull-requests/9/make-biplist-ordering-deterministic/diff#comment-None

  testing on gitian cc @jonasschnelli

Tree-SHA512: a3ef3ecad08b09f7a34d927bc4e3d8604099e9acb2c984bbe741df6162f4014f40e9eb2fd28309fc79d3dd2bb82f14bfd473925b90048e5fd135a471726a4836
2018-03-14 14:29:27 +01:00
MarcoFalke
29fad97c32
Merge #12607: depends: Remove ccache
cc879675e1 depends: Remove ccache (fanquake)

Pull request description:

  After discussion with @theuni, we can possibly just remove ccache from depends entirely.

  Related to #12606

Tree-SHA512: ae0a60c8d97467fa41d617daa48ed22159cf32613808634a983304901dd5ed27124e77868d2314004e5144f7b35ba1333f720bb12daec4c5ca03aaf29d593ef2
2018-03-07 21:12:47 -05:00
fanquake
4ef82f1699 depends: biplist 1.0.3 2018-03-06 18:18:14 -05:00
fanquake
cc879675e1 depends: Remove ccache 2018-03-06 10:37:42 -05:00
Cory Fields
13a399a46c depends: patch pthread_set_name_np out of zeromq 2018-03-05 15:08:31 -05:00
fanquake
8f79226361 depends: zeromq 4.2.3 2018-03-05 15:08:24 -05:00
fanquake
2b1f794574 [Depends] Fix Qt build with Xcode 9.2 2018-03-05 13:51:14 -05:00
fanquake
992f568762 depends: Only use D_DARWIN_C_SOURCE when building miniupnpc on darwin 2018-03-05 12:50:22 -05:00
Henrik Jonsson
ac91ea64c2 [depends] Allow depends system to support armv7l 2018-02-20 14:42:14 +00:00
Wladimir J. van der Laan
59e032b43c
Merge #12402: [depends] expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203
25409b1 fixme: depends: Add D_DARWIN_C_SOURCE to miniupnpc CFLAGS (fanquake)
3335d45 [depends] latest config.guess and config.sub (fanquake)
41550d6 [depends] miniupnpc 2.0.20180203 (fanquake)
61647a4 [depends] ccache 3.4.1 (fanquake)
5a10859 [depends] expat 2.2.5 (fanquake)

Pull request description:

  miniupnpc changelog: http://miniupnp.free.fr/files/changelog.php?file=miniupnpc-2.0.20180203.tar.gz
  2.0.20180203 includes fixes for the recent buffer overflow and segfault issues, see https://github.com/miniupnp/miniupnp/issues/268.

  expat changelog: https://github.com/libexpat/libexpat/blob/R_2_2_5/expat/Changes
  2.2.2 & 2.2.3 included security fixes.

  ccache changelog: https://ccache.samba.org/releasenotes.html#_ccache_3_4_1

  Also includes latest config.guess and config.sub.

Tree-SHA512: 5115b6ccf2bc50c62fd16ab2350bdc752eef7db8b1e4fbe35998fe1aac3702baa6c7f5e471ec48f7c614278df20a68ee6a254dde7c3e2d5c6ce2d10257a5aa21
2018-02-16 17:40:11 +01:00
fanquake
25409b16fd
fixme: depends: Add D_DARWIN_C_SOURCE to miniupnpc CFLAGS 2018-02-15 19:12:49 +08:00
fanquake
3335d45f28
[depends] latest config.guess and config.sub 2018-02-15 18:44:44 +08:00
fanquake
41550d6d13
[depends] miniupnpc 2.0.20180203 2018-02-15 18:44:44 +08:00
fanquake
61647a4b86
[depends] ccache 3.4.1 2018-02-15 18:44:44 +08:00
fanquake
5a10859a80
[depends] expat 2.2.5 2018-02-15 18:44:43 +08:00
Douglas Roark
fc1bfcf9fd Update mac_alias to 2.0.7 2018-02-13 17:05:22 -08:00
Douglas Roark
deee216bd3 Delete mac_alias patch
The patch Bitcoin Core has been maintaining for mac_alias was pulled by the mac_alias maintainer in commit 4f31cb084c1c6a8626128b0b00842020b6db9037. Delete the patch and remove the patch from the depends system.

Note that this PR won't be complete until a new version of mac_alias containing the path has been released, and the depends system is updated to reflect the new version.
2018-02-13 17:05:22 -08:00
Jonas Schnelli
8f68fd281e
Merge #11903: [trivial] Add required package dependencies for depends cross compilation
31a013563 Add required package dependencies for depends cross compilation [skip-ci] (Jonas Schnelli)

Pull request description:

  Stumbled over this during a setup of a new depends compile system.
  Related to #8913.

Tree-SHA512: 67e2fdf9ca3cbedeb02982fa73771dd36978b319e9291ea5a41ede7fdf772c4505ccc9523b48fe66ead927f141efefbdf1e3eaa19a9d8a1304861a8ede040056
2017-12-22 09:49:28 -10:00
Cory Fields
a6365c5c3d depends: fix libzmq's needless linking against libstdc++
This is broken for a number of reasons, including:
- g++ understands "-static-libstdc++ -lstdc++" to mean "link against whatever
  libstdc++ exists, probably shared", which in itself is buggy.
- another stdlib (libc++ for example) may be in use
2017-12-21 18:01:08 -05:00
Jonas Schnelli
31a0135633
Add required package dependencies for depends cross compilation
[skip-ci]
2017-12-14 20:45:35 -10:00
Cory Fields
126999d1cc
depends: fix zmq build with mingw < 4.0 2017-11-29 19:31:59 +08:00