mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 10:20:09 +01:00
configure.ac: remove --with-state-trackers
There is an obvious redundancy: --with-driver=dri VS --with-state-trackers=dri --with-driver=xlib VS --with-state-trackers=glx --enable-openvg VS --with-state-trackers=vega --enable-egl VS --with-state-trackers=egl This patch adds two new options for the remaining state trackers: --enable-xorg --enable-d3d1x Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
This commit is contained in:
parent
ad50abbac9
commit
440d71db78
1 changed files with 75 additions and 142 deletions
217
configure.ac
217
configure.ac
|
|
@ -507,7 +507,7 @@ if test "x$enable_selinux" = "xyes"; then
|
|||
DEFINES="$DEFINES -DMESA_SELINUX"
|
||||
fi
|
||||
|
||||
dnl Determine which APIs to support
|
||||
dnl Options for APIs
|
||||
AC_ARG_ENABLE([opengl],
|
||||
[AS_HELP_STRING([--disable-opengl],
|
||||
[disable support for standard OpenGL API @<:@default=no@:>@])],
|
||||
|
|
@ -528,27 +528,40 @@ AC_ARG_ENABLE([gles-overlay],
|
|||
[DEPRECATED. Same as --enable-gles1 and --enable-gles2])],
|
||||
[enable_gles1="$enableval"; enable_gles2="$enableval"],
|
||||
[])
|
||||
|
||||
AC_ARG_ENABLE([openvg],
|
||||
[AS_HELP_STRING([--enable-openvg],
|
||||
[enable support for OpenVG API @<:@default=no@:>@])],
|
||||
[enable_openvg="$enableval"],
|
||||
[enable_openvg=no])
|
||||
AC_ARG_ENABLE([xorg],
|
||||
[AS_HELP_STRING([--enable-xorg],
|
||||
[enable support for X.Org DDX API @<:@default=no@:>@])],
|
||||
[enable_xorg="$enableval"],
|
||||
[enable_xorg=no])
|
||||
AC_ARG_ENABLE([d3d1x],
|
||||
[AS_HELP_STRING([--enable-d3d1x],
|
||||
[enable support for Direct3D 10 & 11 low-level API @<:@default=no@:>@])],
|
||||
[enable_d3d1x="$enableval"],
|
||||
[enable_d3d1x=no])
|
||||
AC_ARG_ENABLE([egl],
|
||||
[AS_HELP_STRING([--disable-egl],
|
||||
[disable EGL library @<:@default=enabled@:>@])],
|
||||
[enable_egl="$enableval"],
|
||||
[enable_egl=yes])
|
||||
|
||||
dnl smooth the transition; should be removed eventually
|
||||
if test "x$enable_openvg" = xno; then
|
||||
case "x$with_state_trackers" in
|
||||
x*vega*)
|
||||
AC_MSG_WARN([vega state tracker is enabled without --enable-openvg])
|
||||
enable_openvg=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# Option for Gallium
|
||||
AC_ARG_ENABLE([gallium],
|
||||
[AS_HELP_STRING([--disable-gallium],
|
||||
[build gallium @<:@default=enabled@:>@])],
|
||||
[enable_gallium="$enableval"],
|
||||
[enable_gallium=yes])
|
||||
|
||||
if test "x$enable_opengl" = xno -a \
|
||||
"x$enable_gles1" = xno -a \
|
||||
"x$enable_gles2" = xno -a \
|
||||
"x$enable_openvg" = xno; then
|
||||
"x$enable_openvg" = xno -a \
|
||||
"x$enable_xorg" = xno -a \
|
||||
"x$enable_d3d1x" = xno; then
|
||||
AC_MSG_ERROR([at least one API should be enabled])
|
||||
fi
|
||||
|
||||
|
|
@ -657,11 +670,6 @@ if test "x$enable_gles2" = xyes; then
|
|||
CORE_DIRS="$CORE_DIRS mapi/es2api"
|
||||
fi
|
||||
|
||||
# build vgapi if OpenVG is enabled
|
||||
if test "x$enable_openvg" = xyes; then
|
||||
CORE_DIRS="$CORE_DIRS mapi/vgapi"
|
||||
fi
|
||||
|
||||
# build glsl and mesa if OpenGL or OpenGL ES is enabled
|
||||
case "x$enable_opengl$enable_gles1$enable_gles2" in
|
||||
x*yes*)
|
||||
|
|
@ -674,11 +682,14 @@ xlib)
|
|||
DRIVER_DIRS="x11"
|
||||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
|
||||
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
|
||||
GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
;;
|
||||
dri)
|
||||
SRC_DIRS="$SRC_DIRS glx"
|
||||
DRIVER_DIRS="dri"
|
||||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
|
||||
GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
HAVE_ST_DRI="yes"
|
||||
;;
|
||||
osmesa)
|
||||
DRIVER_DIRS="osmesa"
|
||||
|
|
@ -1184,24 +1195,19 @@ AC_SUBST([OSMESA_PC_LIB_PRIV])
|
|||
dnl
|
||||
dnl EGL configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([egl],
|
||||
[AS_HELP_STRING([--disable-egl],
|
||||
[disable EGL library @<:@default=enabled@:>@])],
|
||||
[enable_egl="$enableval"],
|
||||
[enable_egl=yes])
|
||||
EGL_CLIENT_APIS=""
|
||||
|
||||
if test "x$enable_egl" = xno; then
|
||||
if test "x$mesa_driver" = xno; then
|
||||
AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
|
||||
fi
|
||||
if test "x$enable_openvg" = xyes; then
|
||||
AC_MSG_ERROR([cannot enable OpenVG without EGL])
|
||||
fi
|
||||
fi
|
||||
if test "x$enable_egl" = xyes; then
|
||||
SRC_DIRS="$SRC_DIRS egl"
|
||||
EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
|
||||
EGL_DRIVERS_DIRS=""
|
||||
GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
|
||||
GALLIUM_STATE_TRACKERS_DIRS="egl $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
|
||||
HAVE_ST_EGL="yes"
|
||||
|
||||
if test "$enable_static" != yes; then
|
||||
|
|
@ -1235,6 +1241,49 @@ fi
|
|||
AC_SUBST([EGL_LIB_DEPS])
|
||||
AC_SUBST([EGL_DRIVERS_DIRS])
|
||||
|
||||
dnl
|
||||
dnl X.Org DDX configuration
|
||||
dnl
|
||||
if test "x$enable_xorg" = xyes; then
|
||||
PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
|
||||
PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
|
||||
PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
|
||||
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
|
||||
HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
|
||||
HAVE_XEXTPROTO_71="no")
|
||||
GALLIUM_STATE_TRACKERS_DIRS="xorg $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
HAVE_ST_XORG=yes
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl OpenVG configuration
|
||||
dnl
|
||||
VG_LIB_DEPS=""
|
||||
|
||||
if test "x$enable_openvg" = xyes; then
|
||||
if test "x$enable_egl" = xno; then
|
||||
AC_MSG_ERROR([cannot enable OpenVG without EGL])
|
||||
fi
|
||||
if test "x$enable_gallium" = xno; then
|
||||
AC_MSG_ERROR([cannot enable OpenVG without Gallium])
|
||||
fi
|
||||
|
||||
EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
|
||||
VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
|
||||
CORE_DIRS="$CORE_DIRS mapi/vgapi"
|
||||
GALLIUM_STATE_TRACKERS_DIRS="vega $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
HAVE_ST_VEGA=yes
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl D3D1X configuration
|
||||
dnl
|
||||
|
||||
if test "x$enable_d3d1x" = xyes; then
|
||||
GALLIUM_STATE_TRACKERS_DIRS="d3d1x $GALLIUM_STATE_TRACKERS_DIRS"
|
||||
HAVE_ST_D3D1X=yes
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl GLU configuration
|
||||
dnl
|
||||
|
|
@ -1451,14 +1500,6 @@ AC_SUBST([PROGRAM_DIRS])
|
|||
dnl
|
||||
dnl Gallium configuration
|
||||
dnl
|
||||
AC_ARG_ENABLE([gallium],
|
||||
[AS_HELP_STRING([--disable-gallium],
|
||||
[build gallium @<:@default=enabled@:>@])],
|
||||
[enable_gallium="$enableval"],
|
||||
[enable_gallium=yes])
|
||||
if test "x$enable_gallium" = xno -a "x$enable_openvg" = xyes; then
|
||||
AC_MSG_ERROR([cannot enable OpenVG without Gallium])
|
||||
fi
|
||||
if test "x$enable_gallium" = xyes; then
|
||||
SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
|
||||
AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
|
||||
|
|
@ -1469,125 +1510,17 @@ AC_SUBST([LLVM_LIBS])
|
|||
AC_SUBST([LLVM_LDFLAGS])
|
||||
AC_SUBST([LLVM_VERSION])
|
||||
|
||||
dnl
|
||||
dnl Gallium state trackers configuration
|
||||
dnl
|
||||
|
||||
AC_ARG_WITH([state-trackers],
|
||||
[AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@],
|
||||
[comma delimited state_trackers list, e.g.
|
||||
"egl,glx" @<:@default=auto@:>@])],
|
||||
[with_state_trackers="$withval"],
|
||||
[with_state_trackers=yes])
|
||||
|
||||
case "$with_state_trackers" in
|
||||
no)
|
||||
GALLIUM_STATE_TRACKERS_DIRS=""
|
||||
;;
|
||||
yes)
|
||||
# look at what else is built
|
||||
case "$mesa_driver" in
|
||||
xlib)
|
||||
GALLIUM_STATE_TRACKERS_DIRS=glx
|
||||
;;
|
||||
dri)
|
||||
GALLIUM_STATE_TRACKERS_DIRS="dri"
|
||||
HAVE_ST_DRI="yes"
|
||||
# Have only tested st/xorg on 1.6.0 servers
|
||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
|
||||
HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
|
||||
HAVE_ST_XORG="no")
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "x$enable_egl" = xyes; then
|
||||
if test "$enable_openvg" = yes; then
|
||||
GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vega"
|
||||
st_egl="yes"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# verify the requested state tracker exist
|
||||
state_trackers=""
|
||||
_state_trackers=`IFS=', '; echo $with_state_trackers`
|
||||
for tracker in $_state_trackers; do
|
||||
case "$tracker" in
|
||||
dri)
|
||||
if test "x$mesa_driver" != xdri; then
|
||||
AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri])
|
||||
fi
|
||||
HAVE_ST_DRI="yes"
|
||||
;;
|
||||
egl)
|
||||
if test "x$enable_egl" != xyes; then
|
||||
AC_MSG_ERROR([cannot build egl state tracker without EGL library])
|
||||
fi
|
||||
HAVE_ST_EGL="yes"
|
||||
;;
|
||||
xorg)
|
||||
PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
|
||||
PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
|
||||
PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
|
||||
HAVE_ST_XORG="yes"
|
||||
;;
|
||||
vega)
|
||||
if test "x$enable_openvg" != xyes; then
|
||||
AC_MSG_ERROR([cannot build vega state tracker without --enable-openvg])
|
||||
fi
|
||||
have_st_vega="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -n "$tracker"; then
|
||||
test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
|
||||
AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
|
||||
if test -n "$state_trackers"; then
|
||||
state_trackers="$state_trackers $tracker"
|
||||
else
|
||||
state_trackers="$tracker"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
|
||||
|
||||
# append --enable-openvg/--enable-gallium-egl to --with-state-trackers
|
||||
if test "x$have_st_vega" != xyes -a "x$enable_openvg" = xyes; then
|
||||
AC_MSG_ERROR([--with-state-trackers specified but vega is missing])
|
||||
fi
|
||||
if test "x$HAVE_ST_EGL" != xyes; then
|
||||
AC_MSG_ERROR([--with-state-trackers specified but egl is missing])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
EGL_CLIENT_APIS=""
|
||||
VG_LIB_DEPS=""
|
||||
|
||||
case "x$enable_opengl$enable_gles1$enable_gles2" in
|
||||
x*yes*)
|
||||
EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
|
||||
;;
|
||||
esac
|
||||
if test "x$enable_openvg" = xyes; then
|
||||
EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
|
||||
VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS -lpthread"
|
||||
fi
|
||||
|
||||
AC_SUBST([VG_LIB_DEPS])
|
||||
AC_SUBST([EGL_CLIENT_APIS])
|
||||
|
||||
if test "x$HAVE_ST_EGL" = xyes; then
|
||||
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
|
||||
fi
|
||||
|
||||
if test "x$HAVE_ST_XORG" = xyes; then
|
||||
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
|
||||
HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
|
||||
HAVE_XEXTPROTO_71="no")
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([egl-platforms],
|
||||
[AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
|
||||
[comma delimited native platforms libEGL supports, e.g.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue