Commit Graph

37 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
0f062c364a merge bitcoin#21363: Improve Qt static plugins/libs check code 2021-11-30 14:34:18 +05:30
Kittywhiskers Van Gogh
56d04ade06 merge bitcoin#16110: Add Android NDK support 2021-11-24 10:02:59 +05:30
UdjinM6
0c2b1be930
Merge pull request #4261 from PastaPastaPasta/backport-triv-pr16
Backport triv pr16
2021-07-16 20:20:26 +03:00
Jonas Schnelli
0883abc4c7 Merge #20496: build: Drop unneeded macOS framework dependencies
ec4a46dd9c158e1a0de144e9abb260da941aa702 build: Drop unneeded IOKit framework dependency (Hennadii Stepanov)
65afe4cb69e80278de0f584b6eeb6741f02a31eb build: Drop unneeded ApplicationServices framework dependency (Hennadii Stepanov)

Pull request description:

  Bitcoin Core codebase does not contain direct dependencies on the `ApplicationServices` and `IOKit` frameworks.

ACKs for top commit:
  jonasschnelli:
    utACK ec4a46dd9c158e1a0de144e9abb260da941aa702
  practicalswift:
    cr ACK ec4a46dd9c158e1a0de144e9abb260da941aa702: patch looks correct!
  promag:
    Tested ACK ec4a46dd9c158e1a0de144e9abb260da941aa702 (not depends build).

Tree-SHA512: 47b5ad87d761992850133a921f07d485565c70ba2909a3289050f406e6dbd39ad49e1aeeb6cad79c6914385a72ddffd273dfadd69259a35545a13cd17d0e5043
2021-07-16 10:04:09 -05:00
fanquake
68f8cbf043 Merge #17396: build: modest Android improvements
366913e307d2dc13bc00d6bf7b6b2426c359ac30 build: AX_BOOST_THREAD serial 33 (Igor Cota)
cf0681133ae7301ead7091eaee55c945da5cdfcc build: disable D-Bus on Android by default (Igor Cota)

Pull request description:

  I've been trying to build for Android on different OSes/Gitian with varying success. Build system is quite the beast and sometimes it doesn't get it right. To make sure it does these three little tweaks make the Android build more robust:

  - disable D-Bus (Android doesn't support it and has its own way to trigger notifications)
  - don't flag `-lpthread` when linking Boost, [Bionic has built-in support](https://stackoverflow.com/questions/30801752/android-ndk-and-pthread)
  - ~~add `-static-libstdc++` to linker flags. This avoids having to bundle `libc++_shared` with CLI apps, still necessary with `bitcoin-qt` though (thanks Sjors)~~

  I think these are small and fairly straightforward so I put them all into this one PR.

ACKs for top commit:
  fanquake:
    ACK 366913e307d2dc13bc00d6bf7b6b2426c359ac30

Tree-SHA512: 31465fd228a5877c20aa2a05f98242d4eeb328b9b35bd1a7a3dcfb1ef51379d84053a81ade5a65436ffc1bc8ccd21f11ed0539eb10e827d182c0c04394629af0
2021-07-15 19:30:07 -05:00
Hennadii Stepanov
0180cdd729 Merge #18298: build: Fix Qt processing of configure script for depends with DEBUG=1
Now, if depends is built with DEBUG=1, the configure script correctly
finds Qt for macOS and Windows.
2021-02-17 20:53:33 +01:00
fanquake
3e8687603d Merge #19689: build: Add Qt version checking
4af4672525f698c7b491023fcd36a17a4e982070 build, qt: Add Qt version checking (Hennadii Stepanov)
30e336f785e1b662cade3cfacea91a9785ea1023 build: Drop unused bitcoin_cv_qt58 (Hennadii Stepanov)

Pull request description:

  Now `configure` script checks that Qt version is not less then minimum required (currently [5.5.1](https://github.com/bitcoin/bitcoin/pull/15393)).

  This PR is an alternative to #15706 (see https://github.com/bitcoin/bitcoin/pull/15706#issuecomment-629076962).

  Closes #15688.

  The first commit removes dead code (see https://github.com/bitcoin/bitcoin/pull/18297#issuecomment-603252662).

ACKs for top commit:
  fanquake:
    ACK 4af4672525f698c7b491023fcd36a17a4e982070 - this looks ok. I've tested this with Qt 5.15.0 and Qt 5.7.1 system libs, as well as 5.9.8 from depends.

Tree-SHA512: 8e3b82fa3a98926814923331038185633fabad962c271f31bd158e1ab293dcde52ab1dbf997745540a9ed27e16835cf5b5f3701d405876d877fa561eb03cc619
2021-02-17 19:25:55 +01:00
fanquake
e2d3235eb2 Merge #18297: build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows
8a26848c460160e1279f26bc413f693a34e33b9d build: Fix m4 escaping (Hennadii Stepanov)
9123ec15db104397998f5084afc69403d2f9e4b8 build: Remove extra tokens warning (Hennadii Stepanov)
fded4f48c33742d7c790335c8de59c15b80d94e6 build: Remove duplicated QT_STATICPLUGIN define (Hennadii Stepanov)
05a93d5d96101b45d87571af5b772c7a1e82fd27 build: Fix indentation in bitcoin_qt.m4 (Hennadii Stepanov)
ddbb41931019ed4226af3df37874c7eb7cf570f1 build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts (Hennadii Stepanov)
492971de35bab26346545f68365872211f458b00 build: Fix mingw pkgconfig file and dependency naming (Hennadii Stepanov)

Pull request description:

  This PR makes `bitcoin_qt.m4` to use `pkg-config` for all hosts and removes non-pkg-config paths from it. This is a step towards the idea which was clear [stated](https://github.com/bitcoin/bitcoin/pull/8314#issue-76644643) by Cory Fields:
  > I believe the consensus is to treat Windows like the others and require pkg-config across the board. We can drop all of the non-pkg-config paths, and simply AC_REQUIRE(PKG_PROG_PKG_CONFIG)

  There are two unsolved problems with this PR. If depends is built with `DEBUG=1` the `configure` script fails to pickup Qt:
  - for macOS host (similar to, but not the same as #16391)
  - for Windows host (regression)

  The fix is ~on its way~ submitted in #18298 (as a followup).

  Also this PR picks some small improvements from #17820.

ACKs for top commit:
  theuni:
    Code review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
  dongcarl:
    Code Review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
  laanwj:
    Code review ACK 8a26848c460160e1279f26bc413f693a34e33b9d

Tree-SHA512: 3b25990934b939121983df7707997b31d61063b1207d909f539d69494c7cb85212f353092956d09ecffebb9fef28b869914dd1216a596d102fcb9744bb5487f7
2021-02-17 19:25:55 +01:00
fanquake
822db34008 Merge #17005: build: Qt version appears only if GUI is being built
57b0cd4db9ec26d5a00714016639e218cfa1ccda build: Installed Qt version only appears if being built (Jon Layton)

Pull request description:

  Closes #16989.

  Simplifies `./configure` output for `x$bitcoin_enable_qt`.

  Now:
  `checking whether to build Bitcoin Core GUI... no`
  `checking whether to build Bitcoin Core GUI... yes (Qt5)`

ACKs for top commit:
  laanwj:
    ACK 57b0cd4db9ec26d5a00714016639e218cfa1ccda
  fanquake:
    ACK 57b0cd4db9ec26d5a00714016639e218cfa1ccda

Tree-SHA512: 3ca2082f251c206bb1661277dac1075acea046f0a1d2cd997550aa83dd886036b7282f0e30cdaf51ed636d8a40d9b7ffb8600743450f4f4c014c541cb7b2eb0d
2021-02-17 19:25:55 +01:00
Sebastian Kung
d1fa6edca6
Merge #12971: depends: Upgrade Qt to 5.9.6
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.

Fix depends Qt5.9.4 mac build

Apply patch from QTBUG-67286

Upgrade Qt depends to 5.9.6
2020-12-18 01:05:25 +03:00
Jonas Schnelli
76cfc7c912
Merge #15393: build: Bump minimum Qt version to 5.5.1
fd46c4c00 Bump minimum Qt version to 5.5.1 (Sjors Provoost)

Pull request description:

  Fixes #13478

  Compiled and lightly tested on 10.14.3 against QT 5.12.0.

Tree-SHA512: 6890331969bbf4c66dc0993b8817b1f0831d008f5863554e9c09a38f4700260b84044ff961664c377decc9fb8300e3543c267f935ec64fbc97b20f8fb396247a
(cherry picked from commit 3b33cbc2b60d1aa55d72128b36558c5eedf07fc4)

# Conflicts:
#	build-aux/m4/bitcoin_qt.m4
#	doc/dependencies.md
#	src/qt/test/apptests.cpp
#	src/qt/test/rpcnestedtests.cpp
2020-06-12 18:47:26 -03:00
Wladimir J. van der Laan
5debbf307b
Merge #14725: qt: Bump the minimum Qt version to 5.2
2bc3f114d09a9798d166896b0145b69c5ed2d41e Bump the minimum Qt version to 5.2 (Hennadii Stepanov)

Pull request description:

  Refs:
  - #13478
  - https://github.com/bitcoin/bitcoin/issues/13478#issuecomment-438431556 by @MarcoFalke

Tree-SHA512: b598a80f25df9c440e0776b373b88a305250582049ab60caee48375f6599c2f6d40ed94b488ff3604ec9fc12c71f440f6881a3fc656c81f99e89dc5bf9ea2f6d
(cherry picked from commit 74213fa4d13e53c3811d69a516fc865b79fdd0c7)

# Conflicts:
#	build-aux/m4/bitcoin_qt.m4
#	src/qt/dash.cpp
#	src/qt/guiutil.cpp
#	src/qt/splashscreen.cpp
2020-06-12 18:47:26 -03:00
Wladimir J. van der Laan
f3799930f9
Merge #13458: gui: Drop qt4 support
af6ac3b677454644364fd24d0df0c02ac9b8c8db doc: Remove mention of Qt4 from build docs (Wladimir J. van der Laan)
462c71f71b5d753bc8327ab833dea23679450ca3 test: Update travis to not test Qt4 anymore (Wladimir J. van der Laan)
907f73bbc5b6c98b01d7c6088a294dea66634a3f gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan)
bad068ad9f4bc60bfc10e27d4ffaec92d7df8491 build: Build system changes to support only Qt5 (Wladimir J. van der Laan)

Pull request description:

  Implements #8263.

  Qt4.x has been EOL since 2015, and at least Gentoo has, or is going to drop support for it. I wouldn't be surprised if other Linux distributions follow.

  This removes Qt4 detection from the build system, as well as removes all Qt4 fallbacks from the code. Turns out there's more than I expected: this is going to make maintenance of the GUI code, as well as adding new features significantly easier.

  (I know there's still some references left to qt4 in RPM and Debian build script, but I don't have the knowledge how to fix them)

Tree-SHA512: d495924fd4dda6f6566ba44ee96be7cbe62e69ba1ca993b80a8449f78da852b7f1bd3e8200d57cfa1d72233c340eeff4596fb0032ecbddc715d99aea63817d3f
(cherry picked from commit dc53f7f2514026db8a28632371e73e6dbf858083)

# Conflicts:
#	.travis.yml
#	build-aux/m4/bitcoin_qt.m4
#	configure.ac
#	doc/build-osx.md
#	doc/build-unix.md
#	doc/dependencies.md
#	src/qt/README.md
#	src/qt/bitcoingui.cpp
#	src/qt/coincontroldialog.cpp
#	src/qt/dash.cpp
#	src/qt/guiutil.cpp
#	src/qt/macdockiconhandler.mm
#	src/qt/networkstyle.cpp
#	src/qt/openuridialog.cpp
#	src/qt/peertablemodel.cpp
#	src/qt/signverifymessagedialog.cpp
#	src/qt/test/wallettests.cpp
#	src/qt/transactionview.cpp
2020-06-12 18:47:26 -03:00
Wladimir J. van der Laan
4e230811b6
Merge #11711: bitcoin_qt.m4: Minor fixes and clean-ups.
06abcbf scripted-diff: Orthogonalize string quoting (Werner Lemberg)
e0496d3 bitcoin_qt.m4: Add missing dollar sign for variable. (Werner Lemberg)
079f4b2 bitcoin_qt.m4: Add missing braces around variables in autoconf messages. (Werner Lemberg)
8695315 bitcoin_qt.m4: Use correct M4 quoting characters. (Werner Lemberg)
db32a4f bitcoin_qt.m4: Improve QT_VERSION tests. (Werner Lemberg)

Pull request description:

  Replaces #11222.

  Dropped the last commit, and converted e90d91c (now 06abcbf) into a scripted-diff using @theuni's suggestion.

Tree-SHA512: f2e1713bda96e8875be08839af914b24b3240f2eecf18cb268f83c82d965ebf544a0022af4f6f73b88b637a4fdd404a96b9fcf8e5bdd11c507b5bb425eeb7e1d
2020-01-31 07:43:43 -06:00
Wladimir J. van der Laan
e80ca5361c Merge #10549: Avoid printing generic and duplicated "checking for QT" during ./configure
7222388 Avoid printing generic and duplicated "checking for QT" during ./configure (Timothy Redaelli)

Tree-SHA512: 2c52d5b5f55aa18abba9db100f3163be572219cb0dca928f33e9757b92608d3fb330d5c35c45ffcd7599a21163bf7e6cffdb53abe206cc44317862836efc5329
2019-07-09 13:08:20 -05:00
Wladimir J. van der Laan
f8c3f9f7d1
Merge #10142: Run bitcoin_test-qt under minimal QPA platform
bf10264 Run bitcoin_test-qt under minimal QPA platform (Russell Yanofsky)

Tree-SHA512: 35782f0d7e4dcdc27d991d5a10fcffbd2d201139293fe7917ef6f7cd7ae4d3a162ebc21f83266d821ae3bad86f62d947b047bb317f6c5899df4d6bcb4c957157
2019-05-06 14:51:47 -05:00
Wladimir J. van der Laan
a757261e89 Merge #9646: depends: Fix cross build for qt5.7
b5f374f qt: fix build with zlib for target (Cory Fields)
8efa34f depends: add a zlib build (Cory Fields)
342eb96 build: find qt's renamed helper libs from 5.7 (Cory Fields)
2018-01-21 12:48:34 +01:00
Wladimir J. van der Laan
a26bad09b6 Merge #8784: Copyright headers for build scripts
0c4e6ce Add MIT license to build-aux/m4 scripts (Luke Dashjr)
3f8a5d8 Trivial: build-aux/m4/l_atomic: Fix typo (Luke Dashjr)
3b4b6dc Add MIT license to autogen.sh and share/genbuild.sh (Luke Dashjr)
f4dffdd Add MIT license to Makefiles (Luke Dashjr)
2018-01-12 08:02:45 +01:00
Wladimir J. van der Laan
1670472976 Merge #8314: Fix pkg-config issues for 0.13
b556bed build: fix Windows builds without pkg-config (Cory Fields)
0c928cb build: Fix Qt5PlatformSupport check without pkg-config (Cory Fields)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
68757db683 Merge #8210: [Qt] Bump to Qt5.6.1
2759597 Only pass -lQt5PlatformSupport if >=Qt5.6 (Jonas Schnelli)
59d063d Use runtime linking of QT libdbus, use custom/temp. SDK URL (Jonas Schnelli)
6194d9a Fix bitcoin_qt.m4 and fix-xcb-include-order.patch (Jonas Schnelli)
f6eb4e2 [depends] OpenSSL 1.0.1k - update config_opts (fanquake)
f25209a depends: bump OSX toolchain (Cory Fields)
2017-12-28 11:44:59 +01:00
UdjinM6
0658252f59
Merge pull request #1770 from codablock/pr_backport_bitcoin_0.12-1
Backport missing PRs from Bitcoin 0.13 - Part 1
2017-12-19 14:41:47 +03:00
Oleg Girko
837c4fc5de Force rcc to use resource format version 1. (#1784)
Qt 5.8.0 introduced format version 2 for resources embedded into executable,
and now rcc uses this format by default to generate them.

Unfortunately, v2 format includes timestamps for embedded resource files.
Some of resource files (translations) are generated automatically
and have different timestamps for every build.

This means that dash-qt executable is slightly different for every build
because resource data contain different timestamps.

As a result, it makes reproducible build extremely difficult.

Fortunately, Qt 5.9.0 introduced --format-version option for rcc.
This change adds configure check for whether rcc accepts this option
and uses it to force rcc to generate version 1 format data.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2017-12-15 18:21:44 +03:00
Wladimir J. van der Laan
e7a6f79e5a Merge #7192: Unify product name to as few places as possible
027fdb8 When/if the copyright line does not mention Bitcoin Core developers, add a second line to copyrights in -version, About dialog, and splash screen (Luke Dashjr)
cc2095e Rewrite FormatParagraph to handle newlines within input strings correctly (Luke Dashjr)
cddffaf Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so it gets passed to extract-strings correctly (Luke Dashjr)
29598e4 Move PACKAGE_URL to configure.ac (Luke Dashjr)
78ec83d splashscreen: Resize text to fit exactly (Luke Dashjr)
3cae140 Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhere (Luke Dashjr)
4d5a3df Bugfix: gitian-descriptors: Add missing python-setuptools requirement for OS X (biplist module) (Luke Dashjr)
e4ab5e5 Bugfix: Correct copyright year in Mac DMG background image (Luke Dashjr)
917b1d0 Set copyright holders displayed in notices separately from the package name (Luke Dashjr)
c39a6ff Travis & gitian-osx: Use depends for ds_store and mac_alias modules (Luke Dashjr)
902ccde depends: Add mac_alias to depends (Luke Dashjr)
82a2d98 depends: Add ds_store to depends (Cory Fields)
de619a3 depends: Pass PYTHONPATH along to configure (Cory Fields)
e611b6e macdeploy: Use rsvg-convert rather than cairosvg (Luke Dashjr)
63bcdc5 More complicated package name substitution for Mac deployment (Luke Dashjr)
1a6c67c Parameterise 2009 in translatable copyright strings (Luke Dashjr)
d5f4683 Unify package name to as few places as possible without major changes (Luke Dashjr)
2017-12-11 08:30:26 +01:00
UdjinM6
6af7a58d92 Merge remote-tracking branch 'bitcoin/0.12' into mergebtc12, fix/dashify
NOTE: .travis.yml was mostly preserved, probably needs additional attention
2016-08-26 04:09:20 +03:00
Chris Moore
1c3d38bde7 Remove spurious dollar sign. Fixes #7189.
Github-Pull: #7189
Rebased-From: 3d19193f14
2016-04-27 22:34:48 +02:00
UdjinM6
a5ac60b868 Merge remote-tracking branch 'bitcoin/0.12' into HEAD
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03:00
Cory Fields
69d0513436 build: Use fPIC rather than fPIE for qt objects.
But only if qt was built with reduced relocations.
2015-11-09 22:50:31 -05:00
Cory Fields
17c4d9d164 build: Split hardening/fPIE options out
This allows for fPIE to be used selectively.
2015-11-09 22:50:31 -05:00
Wladimir J. van der Laan
dbacc69b4f build: If both Qt4 and Qt5 are installed, use Qt5
If both Qt4 and Qt5 development headers are installed, use Qt5. Building
against Qt5 should be encouraged as that is where active development
happens.
2015-11-04 16:19:28 +01:00
Cory Fields
31bfc272c7 build: make sure pkg-config checks are guarded by an m4_ifdef 2015-07-31 23:21:34 -04:00
Cory Fields
fe997dfd12 build: fix building against qt5.4/5.5 2015-07-23 21:10:35 -04:00
Wladimir J. van der Laan
55f55ec5db qt: disable qt tests when one of the checks for the gui fails 2015-04-29 16:09:56 +02:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03:00
Luke Dashjr
b77b4eda8d Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems 2014-10-03 23:45:26 +00:00
Cory Fields
9fedafba4b build: Fix OSX build when using Homebrew and qt5
Qt5 is bottled, so configure won't find it without some help. Use
brew to find out its prefix.

Also, qt5 added the host_bins variable to pkg-config, use it.
2014-10-01 19:26:29 -04:00
randy-waterhouse
e2a98d270d Update obsolete AC macros. 2014-09-16 23:17:20 +12:00
randy-waterhouse
52a5f90360 Create the common location for all m4 autotool build scripts, build-aux/m4.
Update .gitignore.
2014-09-16 11:55:15 +02:00