Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PoC] qt, depends: Add wayland support without build-time nor fixed run-time deps #29959

Closed
wants to merge 14 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 16 additions & 1 deletion build-aux/m4/bitcoin_qt.m4
Expand Up @@ -135,6 +135,15 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
if test -d "$qt_plugin_path/platforms/android"; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms/android -lqtfreetype -lEGL"
fi
if test -d "$qt_plugin_path/wayland-decoration-client"; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/wayland-decoration-client"
fi
if test -d "$qt_plugin_path/wayland-graphics-integration-client"; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/wayland-graphics-integration-client"
fi
if test -d "$qt_plugin_path/wayland-shell-integration"; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/wayland-shell-integration"
fi
fi

AC_DEFINE([QT_STATICPLUGIN], [1], [Define this symbol if qt plugins are static])
Expand All @@ -151,7 +160,11 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
AC_DEFINE([QT_QPA_PLATFORM_WINDOWS], [1], [Define this symbol if the qt platform is windows])
elif test "$TARGET_OS" = "linux"; then
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb])
AC_DEFINE([QT_QPA_PLATFORM_XCB], [1], [Define this symbol if the qt platform is xcb])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWaylandIntegrationPlugin], [-lqwayland-generic])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWaylandEglClientBufferPlugin], [-lqt-plugin-wayland-egl])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWaylandBradientDecorationPlugin], [-lbradient])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWaylandXdgShellIntegrationPlugin], [-lxdg-shell])
AC_DEFINE([QT_QPA_PLATFORM_LINUX], [1], [Define this symbol if the qt platform is xcb or wayland])
elif test "$TARGET_OS" = "darwin"; then
AX_CHECK_LINK_FLAG([-framework Carbon], [QT_LIBS="$QT_LIBS -framework Carbon"], [AC_MSG_ERROR(could not link against Carbon framework)])
AX_CHECK_LINK_FLAG([-framework IOSurface], [QT_LIBS="$QT_LIBS -framework IOSurface"], [AC_MSG_ERROR(could not link against IOSurface framework)])
Expand Down Expand Up @@ -351,6 +364,8 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_XCBQPA], [${qt_lib_prefix}XcbQpa], [QT_LIBS="$QT_XCBQPA_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_XKBCOMMON], [${qt_lib_prefix}XkbCommonSupport], [QT_LIBS="$QT_XKBCOMMON_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_WAYLANDCLIENT], [${qt_lib_prefix}WaylandClient], [QT_LIBS="$QT_WAYLANDCLIENT_LIBS $QT_LIBS"])
elif test "$TARGET_OS" = "darwin"; then
PKG_CHECK_MODULES([QT_CLIPBOARD], [${qt_lib_prefix}ClipboardSupport${qt_lib_suffix}], [QT_LIBS="$QT_CLIPBOARD_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_GRAPHICS], [${qt_lib_prefix}GraphicsSupport${qt_lib_suffix}], [QT_LIBS="$QT_GRAPHICS_LIBS $QT_LIBS"])
Expand Down
17 changes: 0 additions & 17 deletions contrib/devtools/symbol-check.py
Expand Up @@ -106,24 +106,7 @@
'ld64.so.2', # POWER64 ABIv2 dynamic linker
'ld-linux-riscv64-lp64d.so.1', # 64-bit RISC-V dynamic linker
# bitcoin-qt only
'libxcb.so.1', # part of X11
'libxkbcommon.so.0', # keyboard keymapping
'libxkbcommon-x11.so.0', # keyboard keymapping
'libfontconfig.so.1', # font support
'libfreetype.so.6', # font parsing
'libdl.so.2', # programming interface to dynamic linker
'libxcb-icccm.so.4',
'libxcb-image.so.0',
'libxcb-shm.so.0',
'libxcb-keysyms.so.1',
'libxcb-randr.so.0',
'libxcb-render-util.so.0',
'libxcb-render.so.0',
'libxcb-shape.so.0',
'libxcb-sync.so.1',
'libxcb-xfixes.so.0',
'libxcb-xinerama.so.0',
'libxcb-xkb.so.1',
}

MACHO_ALLOWED_LIBRARIES = {
Expand Down
31 changes: 0 additions & 31 deletions depends/packages/expat.mk

This file was deleted.

33 changes: 0 additions & 33 deletions depends/packages/fontconfig.mk

This file was deleted.

26 changes: 0 additions & 26 deletions depends/packages/freetype.mk

This file was deleted.

33 changes: 0 additions & 33 deletions depends/packages/libXau.mk

This file was deleted.

41 changes: 0 additions & 41 deletions depends/packages/libxcb.mk

This file was deleted.

31 changes: 0 additions & 31 deletions depends/packages/libxcb_util.mk

This file was deleted.

31 changes: 0 additions & 31 deletions depends/packages/libxcb_util_image.mk

This file was deleted.

31 changes: 0 additions & 31 deletions depends/packages/libxcb_util_keysyms.mk

This file was deleted.

31 changes: 0 additions & 31 deletions depends/packages/libxcb_util_render.mk

This file was deleted.

31 changes: 0 additions & 31 deletions depends/packages/libxcb_util_wm.mk

This file was deleted.