config BR2_PACKAGE_XSERVER_XORG_SERVER
	bool "xorg-server"
	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_XSERVER_xorg
	select BR2_PACKAGE_MCOOKIE
	select BR2_PACKAGE_OPENSSL
	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
	select BR2_PACKAGE_XFONT_FONT_CURSOR_MISC if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS
	select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_PACKAGE_XSERVER_xorg
	select BR2_PACKAGE_XLIB_LIBX11
	select BR2_PACKAGE_XLIB_LIBXAU
	select BR2_PACKAGE_XLIB_LIBXCURSOR
	select BR2_PACKAGE_XLIB_LIBXDAMAGE
	select BR2_PACKAGE_XLIB_LIBXDMCP
	select BR2_PACKAGE_XLIB_LIBXEXT
	select BR2_PACKAGE_XLIB_LIBXFIXES
	select BR2_PACKAGE_XLIB_LIBXFONT
	select BR2_PACKAGE_XLIB_LIBXFT
	select BR2_PACKAGE_XLIB_LIBXI
	select BR2_PACKAGE_XLIB_LIBXINERAMA
	select BR2_PACKAGE_XLIB_LIBXRANDR
	select BR2_PACKAGE_XLIB_LIBXRENDER
	select BR2_PACKAGE_XLIB_LIBXRES
	select BR2_PACKAGE_XLIB_LIBXXF86VM
	select BR2_PACKAGE_XLIB_LIBXKBFILE
	select BR2_PACKAGE_XLIB_XTRANS
	select BR2_PACKAGE_XDATA_XBITMAPS
	select BR2_PACKAGE_XPROTO_BIGREQSPROTO
	select BR2_PACKAGE_XPROTO_COMPOSITEPROTO
	select BR2_PACKAGE_XPROTO_DAMAGEPROTO
	select BR2_PACKAGE_XPROTO_FIXESPROTO
	select BR2_PACKAGE_XPROTO_FONTSPROTO
	select BR2_PACKAGE_XPROTO_GLPROTO
	select BR2_PACKAGE_XPROTO_INPUTPROTO
	select BR2_PACKAGE_XPROTO_KBPROTO
	select BR2_PACKAGE_XPROTO_RANDRPROTO
	select BR2_PACKAGE_XPROTO_RENDERPROTO
	select BR2_PACKAGE_XPROTO_RESOURCEPROTO
	select BR2_PACKAGE_XPROTO_VIDEOPROTO
	select BR2_PACKAGE_XPROTO_XCMISCPROTO
	select BR2_PACKAGE_XPROTO_XEXTPROTO
	select BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO
	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
	select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_MESA3D
	select BR2_PACKAGE_XPROTO_XF86RUSHPROTO
	select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO
	select BR2_PACKAGE_XPROTO_XPROTO
	select BR2_PACKAGE_XUTIL_UTIL_MACROS
	select BR2_PACKAGE_XKEYBOARD_CONFIG
	depends on !BR2_avr32
	help
	  xorg-server 1.7.5
	  No description available

comment "xorg-xserver is BROKEN on AVR32"
	depends on BR2_avr32

config BR2_PACKAGE_XSERVER_XORG_SERVER_NULL_CURSOR
    bool "Null root cursor"
    depends on BR2_PACKAGE_XSERVER_XORG_SERVER
    help
        Don't display root cursor.

config BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX
    bool "Enable AIGLX Extension"
    depends on BR2_PACKAGE_XSERVER_XORG_SERVER
    help
        Enable/Use AIGLX extension.
