2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2012-06-05 13:19:53 +02:00
|
|
|
#
|
2013-07-22 07:30:22 +02:00
|
|
|
# freerdp
|
2012-06-05 13:19:53 +02:00
|
|
|
#
|
2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2012-06-05 13:19:53 +02:00
|
|
|
|
2020-04-10 20:40:59 +02:00
|
|
|
FREERDP_VERSION = 2.0.0
|
|
|
|
FREERDP_SITE = https://pub.freerdp.com/releases
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
FREERDP_DEPENDENCIES = libglib2 openssl zlib
|
2014-01-02 14:01:48 +01:00
|
|
|
FREERDP_LICENSE = Apache-2.0
|
2014-06-24 20:55:54 +02:00
|
|
|
FREERDP_LICENSE_FILES = LICENSE
|
2012-06-05 13:19:53 +02:00
|
|
|
|
2015-02-21 23:36:22 +01:00
|
|
|
FREERDP_INSTALL_STAGING = YES
|
|
|
|
|
2020-02-07 15:50:23 +01:00
|
|
|
FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev -DWITH_GSTREAMER_0_10=OFF
|
package/freerdp: re-add support for gstreamer
Previously, we expected the user to select gstreamer-0.x on his own,
to enable gstreamer support in FreeRDP. This could have been a bit
confusing to the user, as he may have enabled gst-1.x but FreeRDP did
only support gst-0.x.
Also, gstreamer support needs xlib-libxrandr, which was missing in
FreeRDP's dependencies, so it was never enabled (AFAICS).
(Re-)introduce support for gstreamer-0.x and gstreamer-1.x, since both
are supported.
We're doing it in a choice, and select whichever version the user chooses,
rather than automatically detect it as previosuly done. We can select the
gstreamer packages, as their dependencies are anyway already covered by the
ones of FreeRDP.
This also now requires xlib-libxrandr, so hide the choice if X.org is
not enabled, still offer the option of not using gstreamer if it is.
[Peter: Hide option if gstreamer{,1} aren't enabled,
Default to gstreamer{,1} support enabled
GStreamer 0.10 support needs host-pkgconf and libxml2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:20 +02:00
|
|
|
|
|
|
|
ifeq ($(BR2_PACKAGE_FREERDP_GSTREAMER1),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_GSTREAMER_1_0=ON
|
|
|
|
FREERDP_DEPENDENCIES += gstreamer1 gst1-plugins-base
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_GSTREAMER_1_0=OFF
|
|
|
|
endif
|
2015-02-21 23:36:15 +01:00
|
|
|
|
2012-06-05 13:19:53 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_CUPS),y)
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_CUPS=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += cups
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_CUPS=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BR2_PACKAGE_FFMPEG),y)
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_FFMPEG=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += ffmpeg
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_FFMPEG=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
2014-10-24 21:37:43 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER),y)
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_ALSA=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += alsa-lib
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_ALSA=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
2020-04-10 20:40:59 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_LIBUSB),y)
|
|
|
|
FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=ON
|
|
|
|
FREERDP_DEPENDENCIES += libusb
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DCHANNEL_URBDRC=OFF
|
|
|
|
endif
|
|
|
|
|
2012-06-05 13:19:53 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
|
2019-11-05 10:42:15 +01:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_PULSE=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += pulseaudio
|
|
|
|
else
|
2019-11-05 10:42:15 +01:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_PULSE=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
2017-11-12 09:13:24 +01:00
|
|
|
# For the systemd journal
|
|
|
|
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_LIBSYSTEMD=ON
|
|
|
|
FREERDP_DEPENDENCIES += systemd
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_LIBSYSTEMD=OFF
|
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:20 +01:00
|
|
|
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_NEON=ON
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_NEON=OFF
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_SSE2=ON
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_SSE2=OFF
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BR2_arm)$(BR2_armeb),y)
|
2018-09-12 12:22:53 +02:00
|
|
|
FREERDP_CONF_OPTS += -DARM_FP_ABI=$(GCC_TARGET_FLOAT_ABI)
|
2015-02-21 23:36:20 +01:00
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:21 +01:00
|
|
|
#---------------------------------------
|
|
|
|
# Enabling server and/or client
|
|
|
|
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
# Clients and server interface must always be enabled to build the
|
|
|
|
# corresponding libraries.
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_SERVER_INTERFACE=ON
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_CLIENT_INTERFACE=ON
|
|
|
|
|
2015-02-21 23:36:21 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_FREERDP_SERVER),y)
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_SERVER=ON
|
2015-02-21 23:36:19 +01:00
|
|
|
endif
|
|
|
|
|
2015-09-06 21:54:22 +02:00
|
|
|
ifneq ($(BR2_PACKAGE_FREERDP_CLIENT_X11)$(BR2_PACKAGE_FREERDP_CLIENT_WL),)
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_CLIENT=ON
|
2015-02-21 23:36:21 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
#---------------------------------------
|
2015-09-06 21:54:22 +02:00
|
|
|
# Libraries for client and/or server
|
2015-02-21 23:36:21 +01:00
|
|
|
|
package/freerdp: prepare for adding another client
Currently, the only client we can build is the X11 client.
FreeRDP now has support for building a wayland client.
However, that means we need to rethink the way we build FreeRDP, because
of some "inconsistencies" in its build system. This is because FreeRDP's
buildsystem does not have orthogonal options; some of the options can be
used for different components.
For example, the set of X11 libraries needed to build the server is a
superset of the X11 libraries needed to build the X11 client. So,
whenever the server is enabled, it means the X11 libraries required to
build the X11 client are available.
Now, if the user also wants to build the waland client (but not the X11
client), there is no way to tell FreeRDP not to build the X11 client,
because there is a single option, WITH_CLIENT, to drive whether any of
the clients is built. The decision is made on the availability of the
required libraries. And since the server is enabled, the X11 libs
required to build the X11 client are available. So, we end up with the
X11 client, even though it is not wanted.
And conversely with wayland...
So, we redesign the way we build FreeRDP. WE do not care what is
actually built; we just build whatever is buildable with the current
set of enabled libraries. But at install time (both in staging/ and
target/) we remove whatever the user does not want.
We also take the opportunity to rename the X11 client option, so it is
coherent with the soon-to-be-introduced wayland client.
Note: since FreeRDP has gained new dependencies, we can not just
introduce the legacy option as-is, otherwise we run the risk that it
selects the new option even though the new FreeRDP dependencies are not
enabled, spitting out the infamous 'unmet direct dependencies" kconfig
error.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:21 +02:00
|
|
|
# The FreeRDP buildsystem uses non-orthogonal options. For example it
|
|
|
|
# is not possible to build the server and the wayland client without
|
|
|
|
# also building the X client. That's because the dependencies of the
|
|
|
|
# server (the X libraries) are a superset of those of the X client.
|
|
|
|
# So, as soon as FreeRDP is configured for the server and the wayland
|
|
|
|
# client, it will believe it also has to build the X client, because
|
|
|
|
# the libraries it needs are enabled.
|
|
|
|
#
|
|
|
|
# Furthermore, the shadow server is always built, even if there's nothing
|
|
|
|
# it can serve (i.e. the X libs are disabled).
|
|
|
|
#
|
|
|
|
# So, we do not care whether we build too much; we remove, as
|
|
|
|
# post-install hooks, whatever we do not want.
|
|
|
|
|
|
|
|
# If Xorg is enabled, and the server or the X client are, then libX11
|
|
|
|
# and libXext are forcibly enabled at the Kconfig level. However, if
|
|
|
|
# Xorg is enabled but neither the server nor the X client are, then
|
|
|
|
# there's nothing that guarantees those two libs are enabled. So we
|
|
|
|
# really must check for them.
|
2016-09-06 17:31:17 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBX11)$(BR2_PACKAGE_XLIB_LIBXEXT),yy)
|
2015-02-21 23:36:21 +01:00
|
|
|
FREERDP_DEPENDENCIES += xlib_libX11 xlib_libXext
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_X11=ON
|
package/freerdp: prepare for adding another client
Currently, the only client we can build is the X11 client.
FreeRDP now has support for building a wayland client.
However, that means we need to rethink the way we build FreeRDP, because
of some "inconsistencies" in its build system. This is because FreeRDP's
buildsystem does not have orthogonal options; some of the options can be
used for different components.
For example, the set of X11 libraries needed to build the server is a
superset of the X11 libraries needed to build the X11 client. So,
whenever the server is enabled, it means the X11 libraries required to
build the X11 client are available.
Now, if the user also wants to build the waland client (but not the X11
client), there is no way to tell FreeRDP not to build the X11 client,
because there is a single option, WITH_CLIENT, to drive whether any of
the clients is built. The decision is made on the availability of the
required libraries. And since the server is enabled, the X11 libs
required to build the X11 client are available. So, we end up with the
X11 client, even though it is not wanted.
And conversely with wayland...
So, we redesign the way we build FreeRDP. WE do not care what is
actually built; we just build whatever is buildable with the current
set of enabled libraries. But at install time (both in staging/ and
target/) we remove whatever the user does not want.
We also take the opportunity to rename the X11 client option, so it is
coherent with the soon-to-be-introduced wayland client.
Note: since FreeRDP has gained new dependencies, we can not just
introduce the legacy option as-is, otherwise we run the risk that it
selects the new option even though the new FreeRDP dependencies are not
enabled, spitting out the infamous 'unmet direct dependencies" kconfig
error.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:21 +02:00
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_X11=OFF
|
|
|
|
endif
|
2015-02-21 23:36:21 +01:00
|
|
|
|
|
|
|
# The following libs are either optional or mandatory only for either
|
|
|
|
# the server or the client. A mandatory library for either one is
|
|
|
|
# selected from Kconfig, so we can make it conditional here
|
2015-02-21 23:36:19 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XCURSOR=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXcursor
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XCURSOR=OFF
|
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:21 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXDAMAGE),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XDAMAGE=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXdamage
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XDAMAGE=OFF
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XFIXES=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXfixes
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XFIXES=OFF
|
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:16 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XI=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXi
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XI=OFF
|
|
|
|
endif
|
|
|
|
|
2012-06-05 13:19:53 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_XINERAMA=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += xlib_libXinerama
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_XINERAMA=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXKBFILE),y)
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_XKBFILE=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += xlib_libxkbfile
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_XKBFILE=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:21 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XRANDR=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXrandr
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XRANDR=OFF
|
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:17 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XRENDER=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXrender
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XRENDER=OFF
|
|
|
|
endif
|
|
|
|
|
2015-02-21 23:36:21 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXTST),y)
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XTEST=ON
|
|
|
|
FREERDP_DEPENDENCIES += xlib_libXtst
|
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_XTEST=OFF
|
|
|
|
endif
|
|
|
|
|
2012-06-05 13:19:53 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_XV=ON
|
2012-06-05 13:19:53 +02:00
|
|
|
FREERDP_DEPENDENCIES += xlib_libXv
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
FREERDP_CONF_OPTS += -DWITH_XV=OFF
|
2012-06-05 13:19:53 +02:00
|
|
|
endif
|
|
|
|
|
2017-11-25 20:33:05 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_FREERDP_CLIENT_WL),y)
|
2017-11-12 09:13:26 +01:00
|
|
|
FREERDP_DEPENDENCIES += wayland libxkbcommon
|
|
|
|
FREERDP_CONF_OPTS += \
|
|
|
|
-DWITH_WAYLAND=ON \
|
|
|
|
-DWAYLAND_SCANNER=$(HOST_DIR)/bin/wayland-scanner
|
2015-09-06 21:54:22 +02:00
|
|
|
else
|
|
|
|
FREERDP_CONF_OPTS += -DWITH_WAYLAND=OFF
|
|
|
|
endif
|
|
|
|
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
#---------------------------------------
|
|
|
|
# Post-install hooks to cleanup and install missing stuff
|
|
|
|
|
|
|
|
# Shadow server is always installed, no matter what, so we manually
|
|
|
|
# remove it if the user does not want the server.
|
|
|
|
ifeq ($(BR2_PACKAGE_FREERDP_SERVER),)
|
|
|
|
define FREERDP_RM_SHADOW_SERVER
|
|
|
|
rm -f $(TARGET_DIR)/usr/bin/freerdp-shadow
|
|
|
|
endef
|
|
|
|
FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_RM_SHADOW_SERVER
|
|
|
|
endif # ! server
|
|
|
|
|
package/freerdp: prepare for adding another client
Currently, the only client we can build is the X11 client.
FreeRDP now has support for building a wayland client.
However, that means we need to rethink the way we build FreeRDP, because
of some "inconsistencies" in its build system. This is because FreeRDP's
buildsystem does not have orthogonal options; some of the options can be
used for different components.
For example, the set of X11 libraries needed to build the server is a
superset of the X11 libraries needed to build the X11 client. So,
whenever the server is enabled, it means the X11 libraries required to
build the X11 client are available.
Now, if the user also wants to build the waland client (but not the X11
client), there is no way to tell FreeRDP not to build the X11 client,
because there is a single option, WITH_CLIENT, to drive whether any of
the clients is built. The decision is made on the availability of the
required libraries. And since the server is enabled, the X11 libs
required to build the X11 client are available. So, we end up with the
X11 client, even though it is not wanted.
And conversely with wayland...
So, we redesign the way we build FreeRDP. WE do not care what is
actually built; we just build whatever is buildable with the current
set of enabled libraries. But at install time (both in staging/ and
target/) we remove whatever the user does not want.
We also take the opportunity to rename the X11 client option, so it is
coherent with the soon-to-be-introduced wayland client.
Note: since FreeRDP has gained new dependencies, we can not just
introduce the legacy option as-is, otherwise we run the risk that it
selects the new option even though the new FreeRDP dependencies are not
enabled, spitting out the infamous 'unmet direct dependencies" kconfig
error.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:21 +02:00
|
|
|
# X client is always built as soon as a client is enabled and the
|
|
|
|
# necessary libs are enabled (e.g. because of the server), so manually
|
|
|
|
# remove it if the user does not want it.
|
|
|
|
ifeq ($(BR2_PACKAGE_FREERDP_CLIENT_X11),)
|
|
|
|
define FREERDP_RM_CLIENT_X11
|
|
|
|
rm -f $(TARGET_DIR)/usr/bin/xfreerdp
|
|
|
|
rm -f $(TARGET_DIR)/usr/lib/libxfreerdp-client*
|
|
|
|
endef
|
|
|
|
FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_RM_CLIENT_X11
|
|
|
|
define FREERDP_RM_CLIENT_X11_LIB
|
|
|
|
rm -f $(STAGING_DIR)/usr/lib/libxfreerdp-client*
|
|
|
|
endef
|
|
|
|
FREERDP_POST_INSTALL_STAGING_HOOKS += FREERDP_RM_CLIENT_X11_LIB
|
|
|
|
endif # ! X client
|
|
|
|
|
2015-09-06 21:54:22 +02:00
|
|
|
# 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
|
|
|
|
|
package/freerdp: prepare for adding another client
Currently, the only client we can build is the X11 client.
FreeRDP now has support for building a wayland client.
However, that means we need to rethink the way we build FreeRDP, because
of some "inconsistencies" in its build system. This is because FreeRDP's
buildsystem does not have orthogonal options; some of the options can be
used for different components.
For example, the set of X11 libraries needed to build the server is a
superset of the X11 libraries needed to build the X11 client. So,
whenever the server is enabled, it means the X11 libraries required to
build the X11 client are available.
Now, if the user also wants to build the waland client (but not the X11
client), there is no way to tell FreeRDP not to build the X11 client,
because there is a single option, WITH_CLIENT, to drive whether any of
the clients is built. The decision is made on the availability of the
required libraries. And since the server is enabled, the X11 libs
required to build the X11 client are available. So, we end up with the
X11 client, even though it is not wanted.
And conversely with wayland...
So, we redesign the way we build FreeRDP. WE do not care what is
actually built; we just build whatever is buildable with the current
set of enabled libraries. But at install time (both in staging/ and
target/) we remove whatever the user does not want.
We also take the opportunity to rename the X11 client option, so it is
coherent with the soon-to-be-introduced wayland client.
Note: since FreeRDP has gained new dependencies, we can not just
introduce the legacy option as-is, otherwise we run the risk that it
selects the new option even though the new FreeRDP dependencies are not
enabled, spitting out the infamous 'unmet direct dependencies" kconfig
error.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:21 +02:00
|
|
|
# Remove static libraries in unusual dir
|
|
|
|
define FREERDP_CLEANUP
|
|
|
|
rm -rf $(TARGET_DIR)/usr/lib/freerdp
|
|
|
|
endef
|
|
|
|
FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_CLEANUP
|
|
|
|
|
2015-02-22 18:45:50 +01:00
|
|
|
# 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
|
|
|
|
# can be built and linked with libfreerdp (e.g. weston with the RDP
|
|
|
|
# backend). Key and cert are installed world-readable, so non-root users
|
|
|
|
# can start a server.
|
|
|
|
define FREERDP_INSTALL_KEYS
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
$(INSTALL) -m 0644 -D $(@D)/server/Sample/server.key \
|
2016-03-10 22:48:53 +01:00
|
|
|
$(TARGET_DIR)/etc/freerdp/keys/server.key
|
package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 21:54:18 +02:00
|
|
|
$(INSTALL) -m 0644 -D $(@D)/server/Sample/server.crt \
|
2016-03-10 22:48:53 +01:00
|
|
|
$(TARGET_DIR)/etc/freerdp/keys/server.crt
|
2015-02-22 18:45:50 +01:00
|
|
|
endef
|
|
|
|
FREERDP_POST_INSTALL_TARGET_HOOKS += FREERDP_INSTALL_KEYS
|
|
|
|
|
2012-07-03 00:07:32 +02:00
|
|
|
$(eval $(cmake-package))
|