Browse Source

package/freerdp: introduce the wayland client

[Peter: use 'depends on' for wayland to match X11 client]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN 10 năm trước cách đây
mục cha
commit
e01e5ddca6
2 tập tin đã thay đổi với 23 bổ sung4 xóa
  1. 5 0
      package/freerdp/Config.in
  2. 18 4
      package/freerdp/freerdp.mk

+ 5 - 0
package/freerdp/Config.in

@@ -72,6 +72,11 @@ config BR2_PACKAGE_FREERDP_CLIENT_X11
 comment "server and X11 client need X.Org"
 	depends on !BR2_PACKAGE_XORG7
 
+config BR2_PACKAGE_FREERDP_CLIENT_WL
+	bool "wayland client"
+	default y
+	depends on BR2_PACKAGE_WAYLAND
+
 endif
 
 comment "freerdp needs a toolchain w/ wchar, dynamic library, threads"

+ 18 - 4
package/freerdp/freerdp.mk

@@ -85,12 +85,12 @@ ifeq ($(BR2_PACKAGE_FREERDP_SERVER),y)
 FREERDP_CONF_OPTS += -DWITH_SERVER=ON
 endif
 
-ifeq ($(BR2_PACKAGE_FREERDP_CLIENT_X11),y)
+ifneq ($(BR2_PACKAGE_FREERDP_CLIENT_X11)$(BR2_PACKAGE_FREERDP_CLIENT_WL),)
 FREERDP_CONF_OPTS += -DWITH_CLIENT=ON
 endif
 
 #---------------------------------------
-# X.Org libs for client and/or server
+# Libraries for client and/or server
 
 # The FreeRDP buildsystem uses non-orthogonal options. For example it
 # is not possible to build the server and the wayland client without
@@ -191,6 +191,13 @@ else
 FREERDP_CONF_OPTS += -DWITH_XV=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+FREERDP_DEPENDENCIES += wayland
+FREERDP_CONF_OPTS += -DWITH_WAYLAND=ON
+else
+FREERDP_CONF_OPTS += -DWITH_WAYLAND=OFF
+endif
+
 #---------------------------------------
 # Post-install hooks to cleanup and install missing stuff
 
@@ -218,14 +225,21 @@ endef
 FREERDP_POST_INSTALL_STAGING_HOOKS += FREERDP_RM_CLIENT_X11_LIB
 endif # ! X client
 
+# Wayland client is always built as soon as wayland is enabled, so
+# manually remove it if the user does not want it.
+ifeq ($(BR2_PACKAGE_FREERDP_CLIENT_WL),)
+define FREERDP_RM_CLIENT_WL
+	rm -f $(TARGET_DIR)/usr/bin/wlfreerdp
+endef
+FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_RM_CLIENT_WL
+endif
+
 # Remove static libraries in unusual dir
 define FREERDP_CLEANUP
 	rm -rf $(TARGET_DIR)/usr/lib/freerdp
 endef
 FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_CLEANUP
 
-FREERDP_CONF_OPTS += -DWITH_WAYLAND=OFF
-
 # Install the server key and certificate, so that a client can connect.
 # A user can override them with its own in a post-build script, if needed.
 # We install them even if the server is not enabled, since another server