Commit graph

46 commits

Author SHA1 Message Date
fanquake 7ce7f2b251
Merge #17396: build: modest Android improvements
366913e307 build: AX_BOOST_THREAD serial 33 (Igor Cota)
cf0681133a 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 366913e307

Tree-SHA512: 31465fd228a5877c20aa2a05f98242d4eeb328b9b35bd1a7a3dcfb1ef51379d84053a81ade5a65436ffc1bc8ccd21f11ed0539eb10e827d182c0c04394629af0
2020-08-24 21:27:29 +08:00
Igor Cota cf0681133a build: disable D-Bus on Android by default
Android uses a different notification system and doesn't support D-Bus
2020-08-16 15:16:36 +02:00
Hennadii Stepanov 4af4672525
build, qt: Add Qt version checking 2020-08-10 02:10:28 +03:00
Hennadii Stepanov 30e336f785
build: Drop unused bitcoin_cv_qt58 2020-08-10 02:10:12 +03:00
Hennadii Stepanov 8a26848c46
build: Fix m4 escaping 2020-03-16 11:09:23 +02:00
Hennadii Stepanov 9123ec15db
build: Remove extra tokens warning 2020-03-16 11:09:22 +02:00
Hennadii Stepanov fded4f48c3
build: Remove duplicated QT_STATICPLUGIN define
QT_STATICPLUGIN is defined in BITCOIN_QT_CONFIGURE macro.
2020-03-16 11:09:22 +02:00
Hennadii Stepanov 05a93d5d96
build: Fix indentation in bitcoin_qt.m4 2020-03-16 11:09:22 +02:00
Hennadii Stepanov ddbb419310
build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts
This change adds to the BITCOIN_QT_CONFIGURE script ability to use
pkg-config for MinGW. All of the non-pkg-config paths are removed as
needless.
If depends is built with DEBUG=1 the configure script fails to pickup
Qt:
- for macOS host (similar, but not the same as issue 16391)
- for Windows host (regression)
2020-03-16 11:08:07 +02:00
Wladimir J. van der Laan 91fbcf41b3
Merge #16110: depends: Add Android NDK support
f9af3ced1c Android: add all arch support (Block Mechanic)
d419ca7e32 depends: export dynamic JNI symbols from static qtforandroid.a (Igor Cota)
ed30684d03 Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically compiled (Igor Cota)
e4c319e8a1 builds: remove superfluous config_opts_aarch64_android (Igor Cota)
24ffef0c27 Patch libevent when building for Android (fix arc4random_addrandom) (Igor Cota)
f1e40b3e71 Update bitcoin_qt.m4 (BlockMechanic)
b4057d8261 Define TARGET_OS when host is android (Igor Cota)
80b475f159 Fix Android zlib cross compilation issue (https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar) (Igor Cota)
45f8219015 Add full Android build example command and instructions on getting SDK/NDK (Igor Cota)
b68f2a68c2 Add config opts and patch for aarch64_android build of Qt (Igor Cota)
9c4cb0166e Add ranlib to android.mk hosts file (fix OSX Android NDK build) (Igor Cota)
c2a749c9c1 Add example Android host-platform-triplet and options (Igor Cota)
0b0cff3c61 Add support for building Android dependencies (Igor Cota)

Pull request description:

  This allows one to build the dependencies with the Android SDK and goes towards fixing #11844. It has been tested to work with:
  `make HOST=aarch64-linux-android ANDROID_API_LEVEL=28 ANDROID_TOOLCHAIN_BIN=/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin NO_QT=1 NO_WALLET=1`

ACKs for top commit:
  Sjors:
    ACK f9af3ce. I'm OK with merging and then improving later.

Tree-SHA512: cb805115ebe5c9e33db2bf3eab8628808fe3f50052053d8877d8b8e4406d6fea1ed9e5c4dff85d777fb99c81be6ffb9d95a0e6d32344e728e5e0da6c653e2ce7
2019-11-04 13:32:19 +01:00
Igor Cota d419ca7e32 depends: export dynamic JNI symbols from static qtforandroid.a 2019-10-12 13:25:06 +02:00
Jon Layton 57b0cd4db9 build: Installed Qt version only appears if being built 2019-09-30 19:03:16 -04:00
BlockMechanic f1e40b3e71 Update bitcoin_qt.m4
Fix to allow configure to detect at
2019-09-22 14:40:18 +02:00
fanquake 1bb1661a40
doc: fix typo in bitcoin_qt.m4 comment 2019-07-24 09:17:47 +08:00
fanquake 0aeb98ac1f
build: remove jpeg lib check from bitcoin_qt.m4 2019-07-24 09:17:47 +08:00
Carl Dong 689d3b4a03
build-aux: Remove check for x11-xcb
We're no longer building QT with libX11/XLib, so it doesn't make sense
to check for the x11-xcb package.
2019-07-17 17:04:41 -04:00
Sjors Provoost fd46c4c001
Bump minimum Qt version to 5.5.1 2019-02-14 11:12:30 +01:00
Hennadii Stepanov 2bc3f114d0
Bump the minimum Qt version to 5.2 2018-11-14 01:32:51 +02:00
Sebastian Kung 800dea88a6
Upgrade Qt depends to 5.9.6 2018-07-06 14:26:26 +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
Wladimir J. van der Laan bad068ad9f build: Build system changes to support only Qt5 2018-06-13 18:15:47 +02:00
Werner Lemberg 06abcbf9ba
scripted-diff: Orthogonalize string quoting
Add double qoutes to string tests where arguments could (theoretically)
contain spaces.

Remove double quotes where not necessary.

-BEGIN VERIFY SCRIPT-
sed -iE -e 's/"x\(yes\|no\|auto\)\?"/x\1/g' -e 's/test \(x\$[^ ]*\)/test "\1"/g' build-aux/m4/bitcoin_qt.m4
-END VERIFY SCRIPT-
2017-11-17 22:21:53 +08:00
Werner Lemberg e0496d3b9a
bitcoin_qt.m4: Add missing dollar sign for variable. 2017-11-17 22:18:55 +08:00
Werner Lemberg 079f4b2a24
bitcoin_qt.m4: Add missing braces around variables in autoconf messages. 2017-11-17 22:18:55 +08:00
Werner Lemberg 8695315fb2
bitcoin_qt.m4: Use correct M4 quoting characters. 2017-11-17 22:18:55 +08:00
Werner Lemberg db32a4fd6b
bitcoin_qt.m4: Improve QT_VERSION tests.
Use '<QtCore/qconfig.h> and '<QtCore/qglobal.h>' for testing QT_VERSION.
This makes the tests work with both Qt4 and Qt5, even if '-fPIC' or '-fPIE'
is not used (the compiler might choke otherwise if QT_REDUCE_RELOCATIONS is
active).
2017-11-17 22:18:55 +08:00
Timothy Redaelli 7222388bb2 Avoid printing generic and duplicated "checking for QT" during ./configure
Print "checking for QT4" and "checking for QT5" instead
2017-06-08 10:41:34 +02:00
Russell Yanofsky bf1026412d Run bitcoin_test-qt under minimal QPA platform
Fixes broken "make check" reported by Matt Corallo <git@bluematt.me> in
https://github.com/bitcoin/bitcoin/issues/10110

Fix was suggested and initially implemented by
Cory Fields <cory-nospam-@coryfields.com> in
https://github.com/bitcoin/bitcoin/pull/10117#issuecomment-290275236
2017-04-03 11:07:40 -04:00
Cory Fields 342eb9618a build: find qt's renamed helper libs from 5.7 2017-01-28 01:54:30 -05:00
Luke Dashjr 0c4e6ce88f Add MIT license to build-aux/m4 scripts 2016-09-21 23:01:46 +00:00
Cory Fields 0c928cb13c build: Fix Qt5PlatformSupport check without pkg-config
The non-pkg-config case can't use pkg-config to check the version.

Also, make sure that the check is properly guarded in the case of missing
pkg-config macros.
2016-07-07 14:15:17 -04:00
Jonas Schnelli 2759597bc8
Only pass -lQt5PlatformSupport if >=Qt5.6 2016-06-20 10:17:01 +02:00
Jonas Schnelli 6194d9a501
Fix bitcoin_qt.m4 and fix-xcb-include-order.patch 2016-06-17 15:56:05 +02:00
Wladimir J. van der Laan 354b03dee1
Merge #7604: build: Remove spurious dollar sign. Fixes #7189.
3d19193 Remove spurious dollar sign. Fixes #7189. (Chris Moore)
2016-02-29 09:40:40 +01:00
Chris Moore 3d19193f14 Remove spurious dollar sign. Fixes #7189. 2016-02-25 19:15:17 -08:00
Luke Dashjr d5f46832de Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00: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
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
Renamed from src/m4/bitcoin_qt.m4 (Browse further)