1 ################################################################################
5 ################################################################################
7 # Changeset on the stable-1.1 branch
8 FREERDP_VERSION = 770c67d340d5f0a7b48d53a1ae0fc23aff748fc4
9 FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION))
10 FREERDP_DEPENDENCIES = openssl zlib
11 FREERDP_LICENSE = Apache-2.0
12 FREERDP_LICENSE_FILES = LICENSE
14 FREERDP_INSTALL_STAGING = YES
16 FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev
18 ifeq ($(BR2_PACKAGE_GSTREAMER),y)
19 FREERDP_CONF_OPTS += -DWITH_GSTREAMER=ON
20 # freerdp needs gstinterface and gstapp from gst-plugins-base
21 FREERDP_DEPENDENCIES += gstreamer gst-plugins-base
23 FREERDP_CONF_OPTS += -DWITH_GSTREAMER=OFF
26 ifeq ($(BR2_PACKAGE_CUPS),y)
27 FREERDP_CONF_OPTS += -DWITH_CUPS=ON
28 FREERDP_DEPENDENCIES += cups
30 FREERDP_CONF_OPTS += -DWITH_CUPS=OFF
33 ifeq ($(BR2_PACKAGE_FFMPEG),y)
34 FREERDP_CONF_OPTS += -DWITH_FFMPEG=ON
35 FREERDP_DEPENDENCIES += ffmpeg
37 FREERDP_CONF_OPTS += -DWITH_FFMPEG=OFF
40 ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER),y)
41 FREERDP_CONF_OPTS += -DWITH_ALSA=ON
42 FREERDP_DEPENDENCIES += alsa-lib
44 FREERDP_CONF_OPTS += -DWITH_ALSA=OFF
47 ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
48 FREERDP_CONF_OPTS += -DWITH_PULSEAUDIO=ON
49 FREERDP_DEPENDENCIES += pulseaudio
51 FREERDP_CONF_OPTS += -DWITH_PULSEAUDIO=OFF
54 ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
55 FREERDP_CONF_OPTS += -DWITH_NEON=ON
57 FREERDP_CONF_OPTS += -DWITH_NEON=OFF
60 ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
61 FREERDP_CONF_OPTS += -DWITH_SSE2=ON
63 FREERDP_CONF_OPTS += -DWITH_SSE2=OFF
66 ifeq ($(BR2_arm)$(BR2_armeb),y)
67 FREERDP_CONF_OPTS += -DARM_FP_ABI=$(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
70 #---------------------------------------
71 # Enabling server and/or client
73 ifeq ($(BR2_PACKAGE_FREERDP_SERVER),y)
74 FREERDP_CONF_OPTS += -DWITH_SERVER=ON -DWITH_SERVER_INTERFACE=ON
76 FREERDP_CONF_OPTS += -DWITH_SERVER=OFF -DWITH_SERVER_INTERFACE=OFF
79 ifeq ($(BR2_PACKAGE_FREERDP_CLIENT),y)
80 FREERDP_CONF_OPTS += -DWITH_CLIENT=ON -DWITH_CLIENT_INTERFACE=ON
82 FREERDP_CONF_OPTS += -DWITH_CLIENT=OFF -DWITH_CLIENT_INTERFACE=OFF
85 #---------------------------------------
86 # X.Org libs for client and/or server
88 ifneq ($(BR2_PACKAGE_FREERDP_SERVER)$(BR2_PACKAGE_FREERDP_CLIENT),)
90 # Those two are mandatory for both the server and the client
91 FREERDP_DEPENDENCIES += xlib_libX11 xlib_libXext
92 FREERDP_CONF_OPTS += -DWITH_X11=ON
94 # The following libs are either optional or mandatory only for either
95 # the server or the client. A mandatory library for either one is
96 # selected from Kconfig, so we can make it conditional here
97 ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
98 FREERDP_CONF_OPTS += -DWITH_XCURSOR=ON
99 FREERDP_DEPENDENCIES += xlib_libXcursor
101 FREERDP_CONF_OPTS += -DWITH_XCURSOR=OFF
104 ifeq ($(BR2_PACKAGE_XLIB_LIBXDAMAGE),y)
105 FREERDP_CONF_OPTS += -DWITH_XDAMAGE=ON
106 FREERDP_DEPENDENCIES += xlib_libXdamage
108 FREERDP_CONF_OPTS += -DWITH_XDAMAGE=OFF
111 ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y)
112 FREERDP_CONF_OPTS += -DWITH_XFIXES=ON
113 FREERDP_DEPENDENCIES += xlib_libXfixes
115 FREERDP_CONF_OPTS += -DWITH_XFIXES=OFF
118 ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y)
119 FREERDP_CONF_OPTS += -DWITH_XI=ON
120 FREERDP_DEPENDENCIES += xlib_libXi
122 FREERDP_CONF_OPTS += -DWITH_XI=OFF
125 ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
126 FREERDP_CONF_OPTS += -DWITH_XINERAMA=ON
127 FREERDP_DEPENDENCIES += xlib_libXinerama
129 FREERDP_CONF_OPTS += -DWITH_XINERAMA=OFF
132 ifeq ($(BR2_PACKAGE_XLIB_LIBXKBFILE),y)
133 FREERDP_CONF_OPTS += -DWITH_XKBFILE=ON
134 FREERDP_DEPENDENCIES += xlib_libxkbfile
136 FREERDP_CONF_OPTS += -DWITH_XKBFILE=OFF
139 ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
140 FREERDP_CONF_OPTS += -DWITH_XRANDR=ON
141 FREERDP_DEPENDENCIES += xlib_libXrandr
143 FREERDP_CONF_OPTS += -DWITH_XRANDR=OFF
146 ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y)
147 FREERDP_CONF_OPTS += -DWITH_XRENDER=ON
148 FREERDP_DEPENDENCIES += xlib_libXrender
150 FREERDP_CONF_OPTS += -DWITH_XRENDER=OFF
153 ifeq ($(BR2_PACKAGE_XLIB_LIBXTST),y)
154 FREERDP_CONF_OPTS += -DWITH_XTEST=ON
155 FREERDP_DEPENDENCIES += xlib_libXtst
157 FREERDP_CONF_OPTS += -DWITH_XTEST=OFF
160 ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
161 FREERDP_CONF_OPTS += -DWITH_XV=ON
162 FREERDP_DEPENDENCIES += xlib_libXv
164 FREERDP_CONF_OPTS += -DWITH_XV=OFF
167 else # ! SERVER && ! CLIENT
169 FREERDP_CONF_OPTS += -DWITH_X11=OFF
171 endif # ! SERVER && ! CLIENT
173 # Install the server key and certificate, so that a client can connect.
174 # A user can override them with its own in a post-build script, if needed.
175 # We install them even if the server is not enabled, since another server
176 # can be built and linked with libfreerdp (e.g. weston with the RDP
177 # backend). Key and cert are installed world-readable, so non-root users
178 # can start a server.
179 define FREERDP_INSTALL_KEYS
180 $(INSTALL) -m 0644 -D $(@D)/server/X11/server.key \
181 $(TARGET_DIR)/etc/freerdp/keys/server.key
182 $(INSTALL) -m 0644 -D $(@D)/server/X11/server.crt \
183 $(TARGET_DIR)/etc/freerdp/keys/server.crt
185 FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_INSTALL_KEYS
187 $(eval $(cmake-package))