summaryrefslogtreecommitdiffstats
path: root/graphics-libs/mesalib/CONFIGURE
blob: f02758b3876bed3e02de90bec85f3206920a9e8c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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="i915 i965 intel r200 radeon swrast"

  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 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 GLUT library" y \
#                     "--enable-glut" "--disable-glut"

case "$MESALIB_BRANCH" in
  scm|development)
    config_query_multi MESA_EGL "which EGL platforms?" drm fbdev wayland x11 none
    if list_find wayland MESA_EGL;then
      list_remove MESALIB_OPTS "--disable-shared-glapi" &&
      list_remove MESALIB_OPTS "--disable-gbm"     &&
      list_remove MESALIB_OPTS "--disable-gles2"   &&
      list_add MESALIB_OPTS "--enable-shared-glapi"&&
      list_add MESALIB_OPTS "--enable-gbm"         &&
      list_add MESALIB_OPTS "--enable-gles2"
    else
      config_query_option MESALIB_OPTS "enable shared GLapi" n \
                         "--enable-shared-glapi" "--disable-shared-glapi" &&

      config_query_option MESALIB_OPTS "enable Generic Buffer Management?" n \
                         "--enable-gbm" "--disable-gbm"
      config_query_option MESALIB_OPTS "enable support for OpenGL ES 2.x API?" n \
                        "--enable-gles2" "--disable-gles2"
    fi &&
    config_query_option MESALIB_OPTS "enable support for OpenGL ES 1.x API?" n \
                        "--enable-gles1" "--disable-gles1" &&

    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
   ;;
  *)
    config_query_multi MESA_EGL "which EGL platforms?" drm fbdev x11 none
   ;;
esac