. $GRIMOIRE/FUNCTIONS

case "$XORG_SHA1" in
  nettle)
    depends nettle '--with-sha1=libnettle'
  ;;
  libgcrypt)
    depends libgcrypt '--with-sha1=libgcrypt'
  ;;
  openssl)
    depends SSL '--with-sha1=libcrypto'
  ;;
esac &&

depends font-util &&
depends xcb-util &&
depends xcb-util-image &&
depends xcb-util-wm &&
depends xcb-util-keysyms &&
depends xcb-util-renderutil &&

depends xorgproto &&
#
## Check this every release as X.org likes to change things on us...
#
##Check this on updates
depends  libxv "--enable-xv"             &&

optional_depends  libxinerama             \
                    "--enable-xinerama"            \
                    "--disable-xinerama"           \
                    "Multi screen support" &&
##
optional_depends  libselinux                       \
                  ""              \
                  ""             \
                  "Enable SELinux support"         &&
optional_depends  libxscrnsaver                    \
                  "--enable-screensaver"           \
                  "--disable-screensaver"          \
                  "Build ScreenSaver extension"    &&
optional_depends  libxvmc                          \
                  "--enable-xvmc"                  \
                  "--disable-xvmc"                 \
                  "Enable support for XvMC"        &&

optional_depends  LOGIN-DAEMON \
                 '--enable-systemd-logind' \
                 '--disable-systemd-logind' \
                 'login daemon' &&

#
# May only select one:
# configure: error: Hotplugging through both libudev and hal not allowed
#
# hal is preferred by upstream:
#  --enable-config-udev    Build udev support (default: auto)
#  --disable-config-hal    Build HAL support (default: auto)
#
message "You can either use hal OR udev for hotplugging" &&
message "but NOT both" &&
optional_depends  hal \
         "--enable-config-hal  --disable-config-udev" \
         "--disable-config-hal " \
         "Enable HAL support" &&

if ! is_depends_enabled $SPELL hal; then
  optional_depends DEVICE-MANAGER \
    "--enable-config-udev --disable-config-hal" \
    "--disable-config-udev" \
    "enable udev kernel config support"
fi &&

if    is_depends_enabled $SPELL $(get_spell_provider $SPELL LOGIN-DAEMON) \
   || is_depends_enabled $SPELL hal; then
  depends dbus
fi &&

optional_depends  lbdmx                           \
                  "--enable-dmx"                   \
                  "--disable-dmx"                  \
                  "Build DMX server"               &&
if is_depends_enabled $SPELL libdmx;then
  depends -sub XAW7 libxaw &&
  depends libxt  &&
  depends libxpm &&
  depends libxmu
fi &&


if  list_find  "$XORG_SERVER_OPTS"  "--enable-glamor";  then
  depends libepoxy
fi &&

optional_depends wayland '--enable-xwayland'  \
                         '--disable-xwayland' \
                         'build Xwayland DDX' &&
if is_depends_enabled $SPELL wayland;then
  depends wayland-protocols
fi &&
optional_depends libunwind '--enable-libunwind' '--disable-libunwind' 'debugging support' &&

depends  freetype2                                 &&
depends  libxxf86dga "--enable-dga"                &&
depends  libxcomposite  "--enable-composite"       &&
depends  libxxf86vm "--enable-xf86vidmode"         &&
depends  libxi                                     &&
depends  util-macros                               &&
depends  xinit                                     &&
depends  xhost                                     &&
depends  xauth                                     &&
depends  pixman                                    &&
depends  libxshmfence  &&

depends  libxkbui                                  &&
depends  libxfont2                                 &&
depends  xtrans                                    &&
depends  libxau                                    &&
depends  libxkbfile                                &&
depends  libxdmcp                                  &&
depends  libdrm                                    &&
depends  libxres                                   &&
depends  bison                                     &&
depends  flex                                      &&
depends  pkgconfig                                 &&
depends  libtool                                   &&
depends  AWK                                       &&
depends  MESA                                   &&
depends  smgl-gl_select                            &&
depends  rgb                                       &&
depends  libpciaccess                              &&
depends  libxtst                                   &&

message 'additional fonts are not needed, but can be installed indiviually' &&

message 'choose an input or video driver' &&
message 'if these drivers are not suitable, choose from the xorg-drivers section' &&

suggest_depends xf86-input-evdev '' ''  'modern input drivers' &&
suggest_depends xf86-input-synaptics '' '' 'modern input drivers' &&
suggest_depends xf86-input-libinput '' '' 'modern input drivers' &&
suggest_depends xf86-video-ati   '' '' 'modern ATI drivers' &&
suggest_depends xf86-video-amdgpu '' '' 'hardware accellerated AMD drivers' &&
suggest_depends xf86-video-intel '' '' 'modern Intel drivers' &&
suggest_depends xf86-video-nouveau '' '' 'modern NVidia drivers'
