list_remove  MESALIB_DRIVERS  i915tex  || true
# ordering is important
MESALIB_BUILD=${MESALIB_BUILD/linux-dri/dri}
MESALIB_BUILD=${MESALIB_BUILD/linux-dri-x86-64/dri}
MESALIB_BUILD=${MESALIB_BUILD/linux-dri-x86/dri}
MESALIB_BUILD=${MESALIB_BUILD/linux-dri-ppc/dri}
MESALIB_BUILD=${MESALIB_BUILD/linux-ppc/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-x86-64/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-x86/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-fbdev/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-directfb/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-glide/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-sparc5/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-sparc/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux-ultrasparc/xlib}
MESALIB_BUILD=${MESALIB_BUILD/linux/xlib}

. $GRIMOIRE/config_query_multi.function                                  &&
message "${MESSAGE_COLOR}MesaLib build types:\n"                         \
        "xlib:   Stand-alone software rendering library;\n"              \
	"        Output is via xlib library functions;\n"                \
	"        No X server integration.\n"                             \
        "dri:    Hardware acceleration in Linux with DRI-enabled kernel;\n"\
	"        Integrated with DRI-enabled X server;\n"                \
	"        Required for building xorg-xserver with DRI enabled.\n" \
        "osmesa: Stand-alone software rendering library;\n"              \
	"        Off-screen rendering only;\n"                           \
	"        No connection to X server at all.${DEFAULT_COLOR}"      &&
config_query_list MESALIB_BUILD                                          \
                  "Select build type?"                                   \
                  xlib                                                   \
                  dri                                                    \
                  osmesa                                                 &&

if [[ $MESALIB_BUILD == dri ]]; then
  AVAILABLE_DRIVERS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon savage \
                    sis swrast tdfx unichrome"

  config_query_multi MESALIB_DRIVERS                                       \
                   "What drivers would you like to build?"               \
                   all $AVAILABLE_DRIVERS &&

  if list_find "$MESALIB_DRIVERS" all; then
    MESALIB_DRIVERS="$AVAILABLE_DRIVERS"
  fi &&

  config_query_multi MESALIB_GALLIUM                                       \
                   "What Gallium3D drivers woulld you like to build?"    \
                   none llvm svga i915 i965 radeon r600 nouveau swrast
fi &&

if [[ $MESALIB_BUILD == xlib ]]; then MESALIB_DRIVERS="swrast"
fi &&

config_query_option MESALIB_OPTS "enable TLS support in GLX" n \
                    "--enable-glx-tls" "--disable-glx-tls" &&

config_query_option MESALIB_OPTS "enable EGL library?" y \
                    "--enable-egl" "--disable-egl" &&

config_query_option MESALIB_OPTS "enable OpenGL Utility library?" y \
                    "--enable-glu" "--disable-glu" &&

config_query_option MESALIB_OPTS "enable Xt/Motif widget library?" y \
                    "--enable-glw" "--disable-glw" &&

case "$MESALIB_BRANCH" in
  scm|development)
    config_query_option MESALIB_OPTS "enable support for OpenGL ES 1.x API?" n \
                        "--enable-gles1" "--disable-gles1" &&
    config_query_option MESALIB_OPTS "enable support for OpenGL ES 2.x API?" n \
                        "--enable-gles2" "--disable-gles2" &&

   if list_find "--enable-gles1" $MESALIB_OPTS || \
      list_find "--enable-gles2" $MESALIB_OPTS; then

     config_query_option MESALIB_OPTS "build separate OpenGL ES only libraries?" n \
                         "--enable-gles-overlay" "--disable-gles-overlay"
   fi
esac
