d83eacaaa8
We need ":0.0 vt01" to make sure Xorg finds the correct terminal. Quoting https://www.x.org/archive/X11R6.8.0/doc/Xorg.1.html -allowMouseOpenFail Allow the server to start up even if the mouse device can't be opened or initialised. We need this option in case BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE was not enabled. -noreset prevents a server reset when the last client connection is closed. We need this option to prevent auto-close of Xorg. Tested with a qemu image and Kodi. Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> [Arnout: copy an abbreviate version of the explanation above to the script.] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
267 lines
7.8 KiB
Makefile
267 lines
7.8 KiB
Makefile
################################################################################
|
|
#
|
|
# xserver_xorg-server
|
|
#
|
|
################################################################################
|
|
|
|
XSERVER_XORG_SERVER_VERSION = $(call qstrip,$(BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION))
|
|
XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.bz2
|
|
XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver
|
|
XSERVER_XORG_SERVER_LICENSE = MIT
|
|
XSERVER_XORG_SERVER_LICENSE_FILES = COPYING
|
|
XSERVER_XORG_SERVER_INSTALL_STAGING = YES
|
|
# xfont_font-util is needed only for autoreconf
|
|
XSERVER_XORG_SERVER_AUTORECONF = YES
|
|
XSERVER_XORG_SERVER_DEPENDENCIES = \
|
|
xfont_font-util \
|
|
xutil_util-macros \
|
|
xlib_libX11 \
|
|
xlib_libXau \
|
|
xlib_libXdmcp \
|
|
xlib_libXext \
|
|
xlib_libXfixes \
|
|
xlib_libXi \
|
|
xlib_libXrender \
|
|
xlib_libXres \
|
|
xlib_libXft \
|
|
xlib_libXcursor \
|
|
xlib_libXinerama \
|
|
xlib_libXrandr \
|
|
xlib_libXdamage \
|
|
xlib_libXxf86vm \
|
|
xlib_libxkbfile \
|
|
xlib_xtrans \
|
|
xdata_xbitmaps \
|
|
xproto_bigreqsproto \
|
|
xproto_compositeproto \
|
|
xproto_damageproto \
|
|
xproto_fixesproto \
|
|
xproto_fontsproto \
|
|
xproto_glproto \
|
|
xproto_inputproto \
|
|
xproto_kbproto \
|
|
xproto_randrproto \
|
|
xproto_renderproto \
|
|
xproto_resourceproto \
|
|
xproto_videoproto \
|
|
xproto_xcmiscproto \
|
|
xproto_xextproto \
|
|
xproto_xf86bigfontproto \
|
|
xproto_xf86dgaproto \
|
|
xproto_xf86vidmodeproto \
|
|
xproto_xproto \
|
|
xkeyboard-config \
|
|
pixman \
|
|
mcookie \
|
|
host-pkgconf
|
|
|
|
# We force -O2 regardless of the optimization level chosen by the
|
|
# user, as the X.org server is known to trigger some compiler bugs at
|
|
# -Os on several architectures.
|
|
XSERVER_XORG_SERVER_CONF_OPTS = \
|
|
--disable-config-hal \
|
|
--disable-xnest \
|
|
--disable-xephyr \
|
|
--disable-dmx \
|
|
--with-builder-addr=buildroot@buildroot.org \
|
|
CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \
|
|
--with-fontrootdir=/usr/share/fonts/X11/ \
|
|
--$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb
|
|
|
|
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += \
|
|
--with-systemd-daemon \
|
|
--enable-systemd-logind
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += \
|
|
systemd \
|
|
xproto_dri2proto
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += \
|
|
--without-systemd-daemon \
|
|
--disable-systemd-logind
|
|
endif
|
|
|
|
# Xwayland support needs libdrm, libepoxy, wayland and libxcomposite
|
|
ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_LIBEPOXY)$(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_WAYLAND_PROTOCOLS)$(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),yyyyy)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-xwayland
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libdrm libepoxy wayland wayland-protocols xlib_libXcomposite
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-xwayland
|
|
endif
|
|
|
|
# Present protocol only required for xserver 1.15+, but does not matter if
|
|
# enabled for older versions as they don't use it (not even optionally).
|
|
ifeq ($(BR2_PACKAGE_XPROTO_PRESENTPROTO),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xproto_presentproto
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-xorg
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libpciaccess
|
|
ifeq ($(BR2_PACKAGE_LIBDRM),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-libdrm
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-libdrm
|
|
endif
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-xorg
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += \
|
|
--enable-kdrive \
|
|
--enable-xfbdev \
|
|
--disable-glx \
|
|
--disable-dri \
|
|
--disable-xsdl
|
|
define XSERVER_CREATE_X_SYMLINK
|
|
ln -f -s Xfbdev $(TARGET_DIR)/usr/bin/X
|
|
endef
|
|
XSERVER_XORG_SERVER_POST_INSTALL_TARGET_HOOKS += XSERVER_CREATE_X_SYMLINK
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-kdrive-evdev
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive-evdev
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-kdrive-kbd
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive-kbd
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-kdrive-mouse
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive-mouse
|
|
endif
|
|
|
|
else # modular
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive --disable-xfbdev
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-glx
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-aiglx
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-aiglx
|
|
endif
|
|
|
|
# Optional packages
|
|
ifeq ($(BR2_PACKAGE_TSLIB),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += tslib
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-tslib LDFLAGS="-lts"
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += udev
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev
|
|
# udev kms support depends on libdrm and dri2
|
|
ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XPROTO_DRI2PROTO),yy)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-config-udev-kms
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_DBUS),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += dbus
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-dbus
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_FREETYPE),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += freetype
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libunwind
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-libunwind
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-libunwind
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XPROTO_RECORDPROTO),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xproto_recordproto
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-record
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-record
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXFONT2),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libXfont2
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXFONT),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libXfont
|
|
endif
|
|
|
|
ifneq ($(BR2_PACKAGE_XLIB_LIBXVMC),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-xvmc
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libXcomposite
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-composite
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y)
|
|
ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xproto_dri2proto
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri2
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri2
|
|
endif
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri3
|
|
ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libepoxy
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-glamor
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-glamor
|
|
endif
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri3 --disable-glamor
|
|
endif
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri2 --disable-dri3 --disable-glamor
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBXSCRNSAVER),y)
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libXScrnSaver
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --enable-screensaver
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-screensaver
|
|
endif
|
|
|
|
ifneq ($(BR2_PACKAGE_XLIB_LIBDMX),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --disable-dmx
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libcrypto
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += openssl
|
|
else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libgcrypt
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libgcrypt
|
|
else
|
|
XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libsha1
|
|
XSERVER_XORG_SERVER_DEPENDENCIES += libsha1
|
|
endif
|
|
|
|
define XSERVER_XORG_SERVER_INSTALL_INIT_SYSV
|
|
$(INSTALL) -D -m 755 package/x11r7/xserver_xorg-server/S40xorg \
|
|
$(TARGET_DIR)/etc/init.d/S40xorg
|
|
endef
|
|
|
|
$(eval $(autotools-package))
|