xserver_xorg-server: provide more options for SHA1 library
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 6 Jan 2013 11:29:24 +0000 (11:29 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sat, 12 Jan 2013 21:39:27 +0000 (22:39 +0100)
Until now, the X.org server was forcefully selecting OpenSSL, just to
have a SHA1 implementation. However, in fact, the X.org server is
capable of using a SHA1 implementation from multiple libraries:
OpenSSL, libgcrypt and libsha1 amongst others.

So, this patch changes the X.org server package so that we use the
SHA1 functions from OpenSSL is OpenSSL is already available, or the
SHA1 functions from libgcrypt is libgcrypt is already available, or if
neither OpenSSL nor libgcrypt are enabled in the configuration, we
select the much smaller libsha1, that has been specifically written to
fulfill the X.org server requirements.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/x11r7/xserver_xorg-server/Config.in
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk

index c192ef4d192507dfc203b2ef2c724aa23e982b26..5b60398183af3b44dc40ac106bfc4532584ba7bb 100644 (file)
@@ -2,7 +2,10 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
        bool "xorg-server"
        select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
        select BR2_PACKAGE_MCOOKIE
-       select BR2_PACKAGE_OPENSSL
+       # We need a SHA1 implementation. If either openssl or
+       # libgcrypt are already part of the build, we'll use one of
+       # them, otherwise, use the small libsha1 library.
+       select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT)
        select BR2_PACKAGE_PIXMAN
        select BR2_PACKAGE_XFONT_FONT_ALIAS if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS
        select BR2_PACKAGE_XFONT_FONT_MISC_MISC if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS
index 92aa4b38500ef238a8b5a3fe1a883d7052b17ed9..140cb8b7ff6714a46c981067ce065413c3d58e92 100644 (file)
@@ -51,7 +51,6 @@ XSERVER_XORG_SERVER_DEPENDENCIES =    \
        xproto_xproto                   \
        xkeyboard-config                \
        pixman                          \
-       openssl                         \
        mcookie                         \
        host-pkgconf
 
@@ -178,4 +177,15 @@ else
 XSERVER_XORG_SERVER_CONF_OPT += --disable-glx
 endif
 
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+XSERVER_XORG_SERVER_CONF_OPT += --with-sha1=libcrypto
+XSERVER_XORG_SERVER_DEPENDENCIES += openssl
+else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
+XSERVER_XORG_SERVER_CONF_OPT += --with-sha1=libgcrypt
+XSERVER_XORG_SERVER_DEPENDENCIES += libgcrypt
+else
+XSERVER_XORG_SERVER_CONF_OPT += --with-sha1=libsha1
+XSERVER_XORG_SERVER_DEPENDENCIES += libsha1
+endif
+
 $(eval $(autotools-package))