package/freerdp: prepare for adding another client
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 6 Sep 2015 19:54:21 +0000 (21:54 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 3 Oct 2015 11:43:46 +0000 (13:43 +0200)
commit4d131b4da9bb1cd6dc67bdc7946744e76640df00
tree11607abebafc50e68ae7ceeb58d8d54a0e733e3d
parent6c7f3b28e694da032a80cc5f55ef124f2c6e81ee
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>
Config.in.legacy
package/freerdp/Config.in
package/freerdp/freerdp.mk