mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge pull request #4582 from kittywhiskers/openssl_bump
merge bitcoin#16110, #16413, #16837, #17466, #19959, #19867, #20447, #21363, partial #17730: bump qt
This commit is contained in:
commit
25a965d691
@ -111,9 +111,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
dnl For Qt5, we can check a header to find out whether Qt is build
|
||||
dnl statically. When Qt is built statically, some plugins must be linked into
|
||||
dnl the final binary as well.
|
||||
dnl With Qt5, languages moved into core and the WindowsIntegration plugin was
|
||||
dnl added.
|
||||
dnl _BITCOIN_QT_CHECK_STATIC_PLUGINS does a quick link-check and appends the
|
||||
dnl _BITCOIN_QT_CHECK_STATIC_PLUGIN does a quick link-check and appends the
|
||||
dnl results to QT_LIBS.
|
||||
BITCOIN_QT_CHECK([
|
||||
TEMP_CPPFLAGS=$CPPFLAGS
|
||||
@ -122,19 +120,35 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
CXXFLAGS="$PIC_FLAGS $CXXFLAGS"
|
||||
_BITCOIN_QT_IS_STATIC
|
||||
if test "x$bitcoin_cv_static_qt" = xyes; then
|
||||
_BITCOIN_QT_FIND_STATIC_PLUGINS
|
||||
_BITCOIN_QT_CHECK_STATIC_LIBS
|
||||
|
||||
if test "x$qt_plugin_path" != x; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms"
|
||||
if test -d "$qt_plugin_path/accessible"; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
|
||||
fi
|
||||
if test -d "$qt_plugin_path/platforms/android"; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms/android -lqtfreetype -lEGL"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
|
||||
if test "x$TARGET_OS" != xandroid; then
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QMinimalIntegrationPlugin], [-lqminimal])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
|
||||
fi
|
||||
if test "x$TARGET_OS" = xwindows; then
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsIntegrationPlugin], [-lqwindows])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows])
|
||||
elif test "x$TARGET_OS" = xlinux; then
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb -lxcb-static])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_XCB, 1, [Define this symbol if the qt platform is xcb])
|
||||
elif test "x$TARGET_OS" = xdarwin; then
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QCocoaIntegrationPlugin], [-lqcocoa])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa])
|
||||
elif test "x$TARGET_OS" = xandroid; then
|
||||
QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype -lQt5EglSupport $QT_LIBS"
|
||||
AC_DEFINE(QT_QPA_PLATFORM_ANDROID, 1, [Define this symbol if the qt platform is android])
|
||||
fi
|
||||
fi
|
||||
CPPFLAGS=$TEMP_CPPFLAGS
|
||||
@ -294,48 +308,46 @@ AC_DEFUN([_BITCOIN_QT_IS_STATIC],[
|
||||
])
|
||||
])
|
||||
|
||||
dnl Internal. Check if the link-requirements for static plugins are met.
|
||||
dnl Internal. Check if the link-requirements for a static plugin are met.
|
||||
dnl
|
||||
dnl _BITCOIN_QT_CHECK_STATIC_PLUGIN(PLUGIN, LIBRARIES)
|
||||
dnl --------------------------------------------------
|
||||
dnl
|
||||
dnl Requires: INCLUDES and LIBS must be populated as necessary.
|
||||
dnl Inputs: $1: A series of Q_IMPORT_PLUGIN().
|
||||
dnl Inputs: $1: A static plugin name.
|
||||
dnl Inputs: $2: The libraries that resolve $1.
|
||||
dnl Output: QT_LIBS is prepended or configure exits.
|
||||
AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGINS],[
|
||||
AC_MSG_CHECKING(for static Qt plugins: $2)
|
||||
AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGIN], [
|
||||
AC_MSG_CHECKING([for $1 ($2)])
|
||||
CHECK_STATIC_PLUGINS_TEMP_LIBS="$LIBS"
|
||||
LIBS="$2${qt_lib_suffix} $QT_LIBS $LIBS"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#define QT_STATICPLUGIN
|
||||
#include <QtPlugin>
|
||||
$1]],
|
||||
[[return 0;]])],
|
||||
[AC_MSG_RESULT(yes); QT_LIBS="$2${qt_lib_suffix} $QT_LIBS"],
|
||||
[AC_MSG_RESULT(no); BITCOIN_QT_FAIL(Could not resolve: $2)])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <QtPlugin> Q_IMPORT_PLUGIN($1)]])],
|
||||
[AC_MSG_RESULT([yes]); QT_LIBS="$2${qt_lib_suffix} $QT_LIBS"],
|
||||
[AC_MSG_RESULT([no]); BITCOIN_QT_FAIL([$1 not found.])])
|
||||
LIBS="$CHECK_STATIC_PLUGINS_TEMP_LIBS"
|
||||
])
|
||||
|
||||
dnl Internal. Find paths necessary for linking qt static plugins
|
||||
dnl Inputs: qt_plugin_path. optional.
|
||||
dnl Outputs: QT_LIBS is appended
|
||||
AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
|
||||
if test "x$qt_plugin_path" != x; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms"
|
||||
if test -d "$qt_plugin_path/accessible"; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
|
||||
fi
|
||||
PKG_CHECK_MODULES([QTFONTDATABASE], [Qt5FontDatabaseSupport${qt_lib_suffix}], [QT_LIBS="-lQt5FontDatabaseSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTEVENTDISPATCHER], [Qt5EventDispatcherSupport${qt_lib_suffix}], [QT_LIBS="-lQt5EventDispatcherSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTTHEME], [Qt5ThemeSupport${qt_lib_suffix}], [QT_LIBS="-lQt5ThemeSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTDEVICEDISCOVERY], [Qt5DeviceDiscoverySupport${qt_lib_suffix}], [QT_LIBS="-lQt5DeviceDiscoverySupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTACCESSIBILITY], [Qt5AccessibilitySupport${qt_lib_suffix}], [QT_LIBS="-lQt5AccessibilitySupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTFB], [Qt5FbSupport${qt_lib_suffix}], [QT_LIBS="-lQt5FbSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
if test "x$TARGET_OS" = xlinux; then
|
||||
PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
|
||||
elif test "x$TARGET_OS" = xdarwin; then
|
||||
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport${qt_lib_suffix}], [QT_LIBS="-lQt5ClipboardSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport${qt_lib_suffix}], [QT_LIBS="-lQt5GraphicsSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTCGL], [Qt5CglSupport${qt_lib_suffix}], [QT_LIBS="-lQt5CglSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
fi
|
||||
fi
|
||||
dnl Internal. Check Qt static libs with PKG_CHECK_MODULES.
|
||||
dnl
|
||||
dnl _BITCOIN_QT_CHECK_STATIC_LIBS
|
||||
dnl -----------------------------
|
||||
dnl
|
||||
dnl Inputs: no inputs.
|
||||
dnl Outputs: QT_LIBS is prepended.
|
||||
AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
|
||||
PKG_CHECK_MODULES([QTFONTDATABASE], [Qt5FontDatabaseSupport${qt_lib_suffix}], [QT_LIBS="-lQt5FontDatabaseSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTEVENTDISPATCHER], [Qt5EventDispatcherSupport${qt_lib_suffix}], [QT_LIBS="-lQt5EventDispatcherSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTTHEME], [Qt5ThemeSupport${qt_lib_suffix}], [QT_LIBS="-lQt5ThemeSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTDEVICEDISCOVERY], [Qt5DeviceDiscoverySupport${qt_lib_suffix}], [QT_LIBS="-lQt5DeviceDiscoverySupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTACCESSIBILITY], [Qt5AccessibilitySupport${qt_lib_suffix}], [QT_LIBS="-lQt5AccessibilitySupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTFB], [Qt5FbSupport${qt_lib_suffix}], [QT_LIBS="-lQt5FbSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
if test "x$TARGET_OS" = xlinux; then
|
||||
PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
|
||||
elif test "x$TARGET_OS" = xdarwin; then
|
||||
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport${qt_lib_suffix}], [QT_LIBS="-lQt5ClipboardSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport${qt_lib_suffix}], [QT_LIBS="-lQt5GraphicsSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTCGL], [Qt5CglSupport${qt_lib_suffix}], [QT_LIBS="-lQt5CglSupport${qt_lib_suffix} $QT_LIBS"])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Internal. Find Qt libraries using pkg-config.
|
||||
|
@ -696,6 +696,7 @@ case $host in
|
||||
;;
|
||||
*android*)
|
||||
dnl make sure android stays above linux for hosts like *linux-android*
|
||||
TARGET_OS=android
|
||||
;;
|
||||
*linux*)
|
||||
TARGET_OS=linux
|
||||
|
@ -80,6 +80,11 @@ full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host))
|
||||
host_os:=$(findstring linux,$(full_host_os))
|
||||
host_os+=$(findstring darwin,$(full_host_os))
|
||||
host_os+=$(findstring mingw32,$(full_host_os))
|
||||
|
||||
ifeq (android,$(findstring android,$(full_host_os)))
|
||||
host_os:=android
|
||||
endif
|
||||
|
||||
host_os:=$(strip $(host_os))
|
||||
ifeq ($(host_os),)
|
||||
host_os=$(full_host_os)
|
||||
|
@ -26,8 +26,17 @@ Common `host-platform-triplets` for cross compilation are:
|
||||
- `aarch64-linux-gnu` for Linux ARM 64 bit
|
||||
- `riscv32-linux-gnu` for Linux RISC-V 32 bit
|
||||
- `riscv64-linux-gnu` for Linux RISC-V 64 bit
|
||||
- `aarch64-linux-android` for Android ARM 64 bit
|
||||
|
||||
The paths are automatically configured and no other options are needed unless targeting Android.
|
||||
Before proceeding with an Android build one needs to get the [Android SDK](https://developer.android.com/studio) and use the "SDK Manager" tool to download the NDK and one or more "Platform packages" (these are Android versions and have a corresponding API level).
|
||||
In order to build `ANDROID_API_LEVEL` (API level corresponding to the Android version targeted, e.g. Android 9.0 Pie is 28 and its "Platform package" needs to be available) and `ANDROID_TOOLCHAIN_BIN` (path to toolchain binaries depending on the platform the build is being performed on) need to be set.
|
||||
If the build includes Qt, environment variables `ANDROID_SDK` and `ANDROID_NDK` need to be set as well but can otherwise be omitted.
|
||||
This is an example command for a default build with no disabled dependencies:
|
||||
|
||||
ANDROID_SDK=/home/user/Android/Sdk ANDROID_NDK=/home/user/Android/Sdk/ndk-bundle 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 other options are needed, the paths are automatically configured.
|
||||
|
||||
### Install the required dependencies: Ubuntu & Debian
|
||||
|
||||
|
11
depends/hosts/android.mk
Normal file
11
depends/hosts/android.mk
Normal file
@ -0,0 +1,11 @@
|
||||
ifeq ($(HOST),armv7a-linux-android)
|
||||
android_AR=$(ANDROID_TOOLCHAIN_BIN)/arm-linux-androideabi-ar
|
||||
android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang++
|
||||
android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang
|
||||
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/arm-linux-androideabi-ranlib
|
||||
else
|
||||
android_AR=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)-ar
|
||||
android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang++
|
||||
android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang
|
||||
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)-ranlib
|
||||
endif
|
@ -17,6 +17,10 @@ $(package)_config_opts_x86_64=architecture=x86 address-model=64
|
||||
$(package)_config_opts_i686=architecture=x86 address-model=32
|
||||
$(package)_config_opts_aarch64=address-model=64
|
||||
$(package)_config_opts_armv7a=address-model=32
|
||||
$(package)_config_opts_i686_android=address-model=32
|
||||
$(package)_config_opts_aarch64_android=address-model=64
|
||||
$(package)_config_opts_x86_64_android=address-model=64
|
||||
$(package)_config_opts_armv7a_android=address-model=32
|
||||
ifneq (,$(findstring clang,$($(package)_cxx)))
|
||||
$(package)_toolset_$(host_os)=clang
|
||||
else
|
||||
@ -25,6 +29,7 @@ endif
|
||||
$(package)_config_libraries=chrono,filesystem,system,thread,test
|
||||
$(package)_cxxflags=-std=c++17 -fvisibility=hidden
|
||||
$(package)_cxxflags_linux=-fPIC
|
||||
$(package)_cxxflags_android=-fPIC
|
||||
endef
|
||||
|
||||
# Fix unused variable in boost_process, can be removed after upgrading to 1.72
|
||||
|
@ -3,15 +3,23 @@ $(package)_version=2.1.8
|
||||
$(package)_download_path=https://github.com/libevent/libevent/releases/download/release-$($(package)_version)-stable
|
||||
$(package)_file_name=$(package)-$($(package)_version)-stable.tar.gz
|
||||
$(package)_sha256_hash=965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2
|
||||
$(package)_patches=fix_android_arc4random_addrandom.patch
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
./autogen.sh
|
||||
endef
|
||||
ifneq (,$(findstring android,$(host)))
|
||||
define $(package)_preprocess_cmds
|
||||
./autogen.sh && patch -p1 < $($(package)_patch_dir)/fix_android_arc4random_addrandom.patch
|
||||
endef
|
||||
else
|
||||
define $(package)_preprocess_cmds
|
||||
./autogen.sh
|
||||
endef
|
||||
endif
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples
|
||||
$(package)_config_opts_release=--disable-debug-mode
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_config_opts_android=--with-pic
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
@ -58,6 +58,11 @@ $(package)_config_opts_riscv64_linux=linux-generic64
|
||||
$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc
|
||||
$(package)_config_opts_x86_64_mingw32=mingw64
|
||||
$(package)_config_opts_i686_mingw32=mingw
|
||||
$(package)_config_opts_android=-fPIC
|
||||
$(package)_config_opts_aarch64_android=linux-generic64
|
||||
$(package)_config_opts_x86_64_android=linux-generic64
|
||||
$(package)_config_opts_armv7a_android=linux-generic32
|
||||
$(package)_config_opts_i686_android=linux-generic32
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
|
@ -5,6 +5,7 @@ qt_packages = qrencode protobuf zlib
|
||||
|
||||
qt_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig
|
||||
|
||||
qt_android_packages=qt
|
||||
qt_darwin_packages=qt
|
||||
qt_mingw32_packages=qt
|
||||
|
||||
|
@ -8,6 +8,7 @@ define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --without-tools --without-tests --disable-sdltest
|
||||
$(package)_config_opts += --disable-gprof --disable-gcov --disable-mudflap
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_config_opts_android=--with-pic
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
|
@ -1,24 +1,25 @@
|
||||
PACKAGE=qt
|
||||
$(package)_version=5.9.7
|
||||
$(package)_version=5.9.8
|
||||
$(package)_download_path=https://download.qt.io/archive/qt/5.9/$($(package)_version)/submodules
|
||||
$(package)_suffix=opensource-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=36dd9574f006eaa1e5af780e4b33d11fe39d09fd7c12f3b9d83294174bd28f00
|
||||
$(package)_sha256_hash=9b9dec1f67df1f94bce2955c5604de992d529dde72050239154c56352da0907d
|
||||
$(package)_dependencies=openssl zlib
|
||||
$(package)_linux_dependencies=freetype fontconfig libxcb
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_riscv64_arch.patch
|
||||
$(package)_patches+= fix_rcc_determinism.patch xkb-default.patch no-xlib.patch
|
||||
$(package)_patches+= dont_hardcode_pwd.patch
|
||||
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch
|
||||
$(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
|
||||
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch fix_powerpc_libpng.patch
|
||||
$(package)_patches+= fix_mingw_cross_compile.patch fix_qpainter_non_determinism.patch
|
||||
$(package)_patches+= fix_limits_header.patch
|
||||
|
||||
# Update OSX_QT_TRANSLATIONS when this is updated
|
||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||
$(package)_qttranslations_sha256_hash=b36da7d93c3ab6fca56b32053bb73bc619c8b192bb89b74e3bcde2705f1c2a14
|
||||
$(package)_qttranslations_sha256_hash=fb5a47799754af73d3bf501fe513342cfe2fc37f64e80df5533f6110e804220c
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=d62e0f70d99645d6704dbb8976fb2222443061743689943d40970c52c49367a1
|
||||
$(package)_qttools_sha256_hash=a97556eb7b2f30252cdd8a598c396cfce2b2f79d2bae883af6d3b26a2cdcc63c
|
||||
|
||||
$(package)_extra_sources = $($(package)_qttranslations_file_name)
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
@ -63,7 +64,7 @@ $(package)_config_opts += -nomake examples
|
||||
$(package)_config_opts += -nomake tests
|
||||
$(package)_config_opts += -opensource
|
||||
$(package)_config_opts += -openssl-linked
|
||||
$(package)_config_opts += -optimized-qmake
|
||||
$(package)_config_opts += -optimized-tools
|
||||
$(package)_config_opts += -pch
|
||||
$(package)_config_opts += -pkg-config
|
||||
$(package)_config_opts += -prefix $(host_prefix)
|
||||
@ -97,6 +98,7 @@ $(package)_config_opts_darwin += -device-option MAC_SDK_VERSION=$(OSX_SDK_VERSIO
|
||||
$(package)_config_opts_darwin += -device-option CROSS_COMPILE="$(host)-"
|
||||
$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION)
|
||||
$(package)_config_opts_darwin += -device-option MAC_TARGET=$(host)
|
||||
$(package)_config_opts_darwin += -device-option XCODE_VERSION=$(XCODE_VERSION)
|
||||
endif
|
||||
|
||||
# for macOS on Apple Silicon (ARM) see https://bugreports.qt.io/browse/QTBUG-85279
|
||||
@ -116,6 +118,26 @@ $(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
|
||||
$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
|
||||
$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
|
||||
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
|
||||
|
||||
$(package)_config_opts_android = -xplatform android-clang
|
||||
$(package)_config_opts_android += -android-sdk $(ANDROID_SDK)
|
||||
$(package)_config_opts_android += -android-ndk $(ANDROID_NDK)
|
||||
$(package)_config_opts_android += -android-ndk-platform android-$(ANDROID_API_LEVEL)
|
||||
$(package)_config_opts_android += -device-option CROSS_COMPILE="$(host)-"
|
||||
$(package)_config_opts_android += -egl
|
||||
$(package)_config_opts_android += -qpa xcb
|
||||
$(package)_config_opts_android += -no-eglfs
|
||||
$(package)_config_opts_android += -opengl es2
|
||||
$(package)_config_opts_android += -qt-freetype
|
||||
$(package)_config_opts_android += -no-fontconfig
|
||||
$(package)_config_opts_android += -L $(host_prefix)/lib
|
||||
$(package)_config_opts_android += -I $(host_prefix)/include
|
||||
|
||||
$(package)_config_opts_aarch64_android += -android-arch arm64-v8a
|
||||
$(package)_config_opts_armv7a_android += -android-arch armeabi-v7a
|
||||
$(package)_config_opts_x86_64_android += -android-arch x86_64
|
||||
$(package)_config_opts_i686_android += -android-arch i686
|
||||
|
||||
$(package)_build_env = QT_RCC_TEST=1
|
||||
$(package)_build_env += QT_RCC_SOURCE_DATE_OVERRIDE=1
|
||||
endef
|
||||
@ -140,34 +162,59 @@ define $(package)_extract_cmds
|
||||
tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
|
||||
endef
|
||||
|
||||
# Preprocessing steps work as follows:
|
||||
#
|
||||
# 1. Apply our patches to the extracted source. See each patch for more info.
|
||||
#
|
||||
# 2. Point to lrelease in qttools/bin/lrelease; otherwise Qt will look for it in
|
||||
# $(host)/native/bin/lrelease and not find it.
|
||||
#
|
||||
# 3. Create a macOS-Clang-Linux mkspec using our mac-qmake.conf.
|
||||
#
|
||||
# 4. After making a copy of the mkspec for the linux-arm-gnueabi host, named
|
||||
# bitcoin-linux-g++, replace instances of linux-arm-gnueabi with $(host). This
|
||||
# way we can generically support hosts like riscv64-linux-gnu, which Qt doesn't
|
||||
# ship a mkspec for. See it's usage in config_opts_* above.
|
||||
#
|
||||
# 5. Put our C, CXX and LD FLAGS into gcc-base.conf. Only used for non-host builds.
|
||||
#
|
||||
# 6. Do similar for the win32-g++ mkspec.
|
||||
#
|
||||
# 7. In clang.conf, swap out clang & clang++, for our compiler + flags. See #17466.
|
||||
#
|
||||
# 8. Adjust a regex in toolchain.prf, to accomodate Guix's usage of
|
||||
# CROSS_LIBRARY_PATH. See #15277.
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
|
||||
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_powerpc_libpng.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_configure_mac.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/xkb-default.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_android_qmake_conf.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_mingw_cross_compile.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_qpainter_non_determinism.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
|
||||
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
|
||||
cp -r qtbase/mkspecs/linux-arm-gnueabi-g++ qtbase/mkspecs/bitcoin-linux-g++ && \
|
||||
sed -i.old "s/arm-linux-gnueabi-/$(host)-/g" qtbase/mkspecs/bitcoin-linux-g++/qmake.conf && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_configure_mac.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/xkb-default.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
|
||||
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch &&\
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch &&\
|
||||
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
|
||||
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
|
||||
sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_LFLAGS = |!host_build: QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_CXXFLAGS = |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_CFLAGS += |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_CXXFLAGS += |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "0,/^QMAKE_LFLAGS_/s|^QMAKE_LFLAGS_|!host_build: QMAKE_LFLAGS = $($(package)_ldflags)\n&|" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||
sed -i.old "s|QMAKE_CC = clang|QMAKE_CC = $($(package)_cc)|" qtbase/mkspecs/common/clang.conf && \
|
||||
sed -i.old "s|QMAKE_CXX = clang++|QMAKE_CXX = $($(package)_cxx)|" qtbase/mkspecs/common/clang.conf && \
|
||||
sed -i.old "s/error(\"failed to parse default search paths from compiler output\")/\!darwin: error(\"failed to parse default search paths from compiler output\")/g" qtbase/mkspecs/features/toolchain.prf
|
||||
endef
|
||||
|
||||
|
@ -9,6 +9,7 @@ define $(package)_set_vars
|
||||
$(package)_config_opts += --without-libsodium --without-libgssapi_krb5 --without-pgm --without-norm --without-vmci
|
||||
$(package)_config_opts += --disable-libunwind --disable-radix-tree --without-gcov
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_config_opts_android=--with-pic
|
||||
$(package)_cxxflags=-std=c++17
|
||||
endef
|
||||
|
||||
|
@ -11,6 +11,7 @@ $(package)_config_opts+=RANLIB="$($(package)_ranlib)"
|
||||
$(package)_config_opts+=AR="$($(package)_ar)"
|
||||
$(package)_config_opts_darwin+=AR="$($(package)_libtool)"
|
||||
$(package)_config_opts_darwin+=ARFLAGS="-o"
|
||||
$(package)_config_opts_android+=CHOST=$(host)
|
||||
endef
|
||||
|
||||
# zlib has its own custom configure script that takes in options like CC,
|
||||
|
@ -0,0 +1,68 @@
|
||||
From cadae3ab7abf45e61ecae8aac39d97d1f3cbd336 Mon Sep 17 00:00:00 2001
|
||||
From: Lawrence Nahum <lawrence@greenaddress.it>
|
||||
Date: Sun, 3 Dec 2017 22:56:09 +0100
|
||||
Subject: [PATCH] fixup
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
evutil_rand.c | 3 +++
|
||||
include/event2/util.h | 4 ++--
|
||||
3 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7528d37..3bb2121 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -341,6 +341,7 @@ dnl Checks for library functions.
|
||||
AC_CHECK_FUNCS([ \
|
||||
accept4 \
|
||||
arc4random \
|
||||
+ arc4random_addrandom \
|
||||
arc4random_buf \
|
||||
eventfd \
|
||||
epoll_create1 \
|
||||
diff --git a/evutil_rand.c b/evutil_rand.c
|
||||
index 046a14b..3f0bf2c 100644
|
||||
--- a/evutil_rand.c
|
||||
+++ b/evutil_rand.c
|
||||
@@ -191,6 +191,7 @@ evutil_secure_rng_get_bytes(void *buf, size_t n)
|
||||
{
|
||||
ev_arc4random_buf(buf, n);
|
||||
}
|
||||
+#ifdef HAVE_ARC4RANDOM_ADDRANDOM
|
||||
|
||||
void
|
||||
evutil_secure_rng_add_bytes(const char *buf, size_t n)
|
||||
@@ -199,6 +200,8 @@ evutil_secure_rng_add_bytes(const char *buf, size_t n)
|
||||
n>(size_t)INT_MAX ? INT_MAX : (int)n);
|
||||
}
|
||||
|
||||
+#endif
|
||||
+
|
||||
void
|
||||
evutil_free_secure_rng_globals_(void)
|
||||
{
|
||||
diff --git a/include/event2/util.h b/include/event2/util.h
|
||||
index dd4bbb6..a9a169d 100644
|
||||
--- a/include/event2/util.h
|
||||
+++ b/include/event2/util.h
|
||||
@@ -841,7 +841,7 @@ int evutil_secure_rng_init(void);
|
||||
*/
|
||||
EVENT2_EXPORT_SYMBOL
|
||||
int evutil_secure_rng_set_urandom_device_file(char *fname);
|
||||
-
|
||||
+#ifdef HAVE_ARC4RANDOM_ADDRANDOM
|
||||
/** Seed the random number generator with extra random bytes.
|
||||
|
||||
You should almost never need to call this function; it should be
|
||||
@@ -858,7 +858,7 @@ int evutil_secure_rng_set_urandom_device_file(char *fname);
|
||||
*/
|
||||
EVENT2_EXPORT_SYMBOL
|
||||
void evutil_secure_rng_add_bytes(const char *dat, size_t datlen);
|
||||
-
|
||||
+#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
--
|
||||
2.14.3
|
18
depends/patches/qt/fix_android_jni_static.patch
Normal file
18
depends/patches/qt/fix_android_jni_static.patch
Normal file
@ -0,0 +1,18 @@
|
||||
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
|
||||
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
|
||||
@@ -890,6 +890,14 @@
|
||||
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
|
||||
return -1;
|
||||
}
|
||||
+
|
||||
+ const jint ret = QT_PREPEND_NAMESPACE(QtAndroidPrivate::initJNI(vm, env));
|
||||
+ if (ret != 0)
|
||||
+ {
|
||||
+ __android_log_print(ANDROID_LOG_FATAL, "Qt", "initJNI failed");
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(false);
|
||||
|
||||
m_javaVM = vm;
|
||||
|
20
depends/patches/qt/fix_android_qmake_conf.patch
Normal file
20
depends/patches/qt/fix_android_qmake_conf.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- old/qtbase/mkspecs/android-clang/qmake.conf
|
||||
+++ new/qtbase/mkspecs/android-clang/qmake.conf
|
||||
@@ -30,7 +30,7 @@
|
||||
QMAKE_CFLAGS += -target mips64el-none-linux-android
|
||||
|
||||
QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH
|
||||
-QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a
|
||||
+QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -nostdlib++
|
||||
QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
|
||||
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
|
||||
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
|
||||
@@ -40,7 +40,7 @@
|
||||
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
|
||||
|
||||
ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
|
||||
-ANDROID_CXX_STL_LIBS = -lc++
|
||||
+ANDROID_CXX_STL_LIBS = -lc++_shared
|
||||
|
||||
QMAKE_ARM_CFLAGS_RELEASE = -Oz
|
||||
QMAKE_ARM_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -Oz
|
25
depends/patches/qt/fix_mingw_cross_compile.patch
Normal file
25
depends/patches/qt/fix_mingw_cross_compile.patch
Normal file
@ -0,0 +1,25 @@
|
||||
commit 5a992a549adfe5a587bbcd6cd2b2cee47d236e27
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Fri Sep 4 08:13:44 2020 +0800
|
||||
|
||||
Work around broken mingw cross-compilation
|
||||
|
||||
See upstream issues:
|
||||
https://bugreports.qt.io/browse/QTBUG-63637
|
||||
https://bugreports.qt.io/browse/QTBUG-63659
|
||||
https://codereview.qt-project.org/q/8bebded9
|
||||
|
||||
We should be able to drop this once we are building qt 5.10.1 or later.
|
||||
|
||||
Added in #12971.
|
||||
|
||||
diff --git a/qtbase/mkspecs/win32-g++/qmake.conf b/qtbase/mkspecs/win32-g++/qmake.conf
|
||||
index e071a0d1..ad229b10 100644
|
||||
--- a/qtbase/mkspecs/win32-g++/qmake.conf
|
||||
+++ b/qtbase/mkspecs/win32-g++/qmake.conf
|
||||
@@ -87,3 +87,5 @@ QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
include(../common/angle.conf)
|
||||
|
||||
load(qt_config)
|
||||
+QMAKE_LINK_OBJECT_MAX = 10
|
||||
+QMAKE_LINK_OBJECT_SCRIPT = object_script
|
23
depends/patches/qt/fix_powerpc_libpng.patch
Normal file
23
depends/patches/qt/fix_powerpc_libpng.patch
Normal file
@ -0,0 +1,23 @@
|
||||
commit 6f9feb773a43c5abfa3455da2e324180e789285b
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Sep 15 21:44:31 2020 +0800
|
||||
|
||||
Fix PowerPC build of libpng
|
||||
|
||||
See https://bugreports.qt.io/browse/QTBUG-66388.
|
||||
|
||||
Can be dropped when we are building qt 5.12.0 or later.
|
||||
|
||||
diff --git a/qtbase/src/3rdparty/libpng/libpng.pro b/qtbase/src/3rdparty/libpng/libpng.pro
|
||||
index 577b61d8..a2f56669 100644
|
||||
--- a/qtbase/src/3rdparty/libpng/libpng.pro
|
||||
+++ b/qtbase/src/3rdparty/libpng/libpng.pro
|
||||
@@ -10,7 +10,7 @@ MODULE_INCLUDEPATH = $$PWD
|
||||
|
||||
load(qt_helper_lib)
|
||||
|
||||
-DEFINES += PNG_ARM_NEON_OPT=0
|
||||
+DEFINES += PNG_ARM_NEON_OPT=0 PNG_POWERPC_VSX_OPT=0
|
||||
SOURCES += \
|
||||
png.c \
|
||||
pngerror.c \
|
63
depends/patches/qt/fix_qpainter_non_determinism.patch
Normal file
63
depends/patches/qt/fix_qpainter_non_determinism.patch
Normal file
@ -0,0 +1,63 @@
|
||||
commit 2a8f7dc6ddfc414a66491522501c1574a1343ee1
|
||||
Author: Andrew Chow <achow101-github@achow101.com>
|
||||
Date: Sat Nov 21 01:11:04 2020 -0500
|
||||
|
||||
build: Fix determinism issue when building with Clang 8
|
||||
|
||||
When building Qt with LLVM/Clang 8 under -O3 (the default), we run into
|
||||
a determinism issue in `qt_interset_spans`. The issue has been fixed for
|
||||
LLVM/Clang 9, see
|
||||
https://github.com/llvm/llvm-project/commit/db101864bdc938deb1d63fe4f7da761bd38e5cae
|
||||
and https://reviews.llvm.org/D64601, however this fix was not backported
|
||||
to 8.x. Once LLVM/Clang 9 is used, this patch can be dropped.
|
||||
|
||||
The particular issue appears to be an optimization done by -O3 which
|
||||
adds a temporary variable for `spans->y` in `qt_intersect_spans`. When
|
||||
it does this, sometimes it chooses to use a 32-bit movs instruction
|
||||
(movswl), and other times it chooses a 64-bit movs instruction (movswq).
|
||||
By patching `qt_intersect_spans` to always make a temporary variable for
|
||||
`spans->y`, we are able to sidestep this problem.
|
||||
|
||||
diff --git a/qtbase/src/gui/painting/qpaintengine_raster.cpp b/qtbase/src/gui/painting/qpaintengine_raster.cpp
|
||||
index 92ab6e8375..f018009e0b 100644
|
||||
--- a/qtbase/src/gui/painting/qpaintengine_raster.cpp
|
||||
+++ b/qtbase/src/gui/painting/qpaintengine_raster.cpp
|
||||
@@ -3971,22 +3971,23 @@ static const QSpan *qt_intersect_spans(const QClipData *clip, int *currentClip,
|
||||
const QSpan *clipEnd = clip->m_spans + clip->count;
|
||||
|
||||
while (available && spans < end ) {
|
||||
+ const short spans_y = spans->y;
|
||||
if (clipSpans >= clipEnd) {
|
||||
spans = end;
|
||||
break;
|
||||
}
|
||||
- if (clipSpans->y > spans->y) {
|
||||
+ if (clipSpans->y > spans_y) {
|
||||
++spans;
|
||||
continue;
|
||||
}
|
||||
- if (spans->y != clipSpans->y) {
|
||||
- if (spans->y < clip->count && clip->m_clipLines[spans->y].spans)
|
||||
- clipSpans = clip->m_clipLines[spans->y].spans;
|
||||
+ if (spans_y != clipSpans->y) {
|
||||
+ if (spans_y < clip->count && clip->m_clipLines[spans_y].spans)
|
||||
+ clipSpans = clip->m_clipLines[spans_y].spans;
|
||||
else
|
||||
++clipSpans;
|
||||
continue;
|
||||
}
|
||||
- Q_ASSERT(spans->y == clipSpans->y);
|
||||
+ Q_ASSERT(spans_y == clipSpans->y);
|
||||
|
||||
int sx1 = spans->x;
|
||||
int sx2 = sx1 + spans->len;
|
||||
@@ -4005,7 +4006,7 @@ static const QSpan *qt_intersect_spans(const QClipData *clip, int *currentClip,
|
||||
if (len) {
|
||||
out->x = qMax(sx1, cx1);
|
||||
out->len = qMin(sx2, cx2) - out->x;
|
||||
- out->y = spans->y;
|
||||
+ out->y = spans_y;
|
||||
out->coverage = qt_div_255(spans->coverage * clipSpans->coverage);
|
||||
++out;
|
||||
--available;
|
||||
|
@ -1,12 +1,12 @@
|
||||
MAKEFILE_GENERATOR = UNIX
|
||||
CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname
|
||||
CONFIG += app_bundle incremental lib_version_first absolute_library_soname
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
include(../common/macx.conf)
|
||||
include(../common/gcc-base-mac.conf)
|
||||
include(../common/clang.conf)
|
||||
include(../common/clang-mac.conf)
|
||||
QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH}
|
||||
QMAKE_XCODE_VERSION=4.3
|
||||
QMAKE_XCODE_VERSION = $${XCODE_VERSION}
|
||||
QMAKE_XCODE_DEVELOPER_PATH=/Developer
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION}
|
||||
QMAKE_MAC_SDK=macosx
|
||||
|
Loading…
Reference in New Issue
Block a user