dnl was explicitly requested.
case "x$enable_static$enable_shared" in
xyesyes)
- AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
- enable_shared=no
+ AC_MSG_ERROR([Cannot enable both static and shared. Building using --enable-shared is strongly recommended])
;;
xnono)
- AC_MSG_WARN([Cannot disable both static and shared libraries, enabling shared])
- enable_shared=yes
+ AC_MSG_ERROR([Cannot disable both static and shared. Building using --enable-shared is strongly recommended])
;;
esac
fi
if test "x$enable_dri" = xyes; then
- if test "$enable_static" = yes; then
- AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
- fi
+ require_dri_shared_libs_and_glapi "DRI"
# not a hard requirement as swrast does not depend on it
if test "x$have_libdrm" = xyes; then
AC_SUBST([OSMESA_PC_REQ])
AC_SUBST([OSMESA_PC_LIB_PRIV])
+require_dri_shared_libs_and_glapi() {
+ if test "x$enable_static" = xyes; then
+ AC_MSG_ERROR([$1 cannot be build as static library])
+ fi
+
+ if test "x$enable_dri" != xyes; then
+ # There is only a single backend which won't be build/used otherwise.
+ # XXX: Revisit this as the egl/haiku is a thing.
+ AC_MSG_ERROR([$1 requires --enable-dri])
+ fi
+
+ if test "x$enable_shared_glapi" != xyes; then
+ AC_MSG_ERROR([$1 requires --enable-shared-glapi])
+ fi
+}
+
dnl
dnl gbm configuration
dnl
if test "x$enable_gbm" = xyes; then
- if test "x$enable_dri" = xyes; then
- if test "x$enable_shared_glapi" = xno; then
- AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
- fi
- else
- # Strictly speaking libgbm does not require --enable-dri, although
- # both of its backends do. Thus one can build libgbm without any
- # backends if --disable-dri is set.
- # To avoid unnecessary complexity of checking if at least one backend
- # is available when building, just mandate --enable-dri.
- AC_MSG_ERROR([gbm requires --enable-dri])
- fi
+ require_dri_shared_libs_and_glapi "gbm"
fi
AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
# FINISHME: GBM has a number of dependencies which we should add below
AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
- if test "$enable_static" != yes; then
- if test "x$enable_dri" = xyes; then
- HAVE_EGL_DRIVER_DRI2=1
- if test "x$enable_shared_glapi" = xno; then
- AC_MSG_ERROR([egl_dri2 requires --enable-shared-glapi])
- fi
- if test "x$enable_dri3" = xyes; then
- HAVE_EGL_DRIVER_DRI3=1
- if test "x$enable_shared_glapi" = xno; then
- AC_MSG_ERROR([egl_dri3 requires --enable-shared-glapi])
- fi
- fi
- else
- # Avoid building an "empty" libEGL. Drop/update this
- # when other backends (haiku?) come along.
- AC_MSG_ERROR([egl requires --enable-dri])
- fi
-
- fi
+ require_dri_shared_libs_and_glapi "egl"
fi
AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
AC_SUBST([EGL_LIB_DEPS])
AM_CONDITIONAL(HAVE_EGL_PLATFORM_SURFACELESS, echo "$egl_platforms" | grep -q 'surfaceless')
AM_CONDITIONAL(HAVE_EGL_PLATFORM_ANDROID, echo "$egl_platforms" | grep -q 'android')
-AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
-
AC_SUBST([EGL_NATIVE_PLATFORM])
AC_SUBST([EGL_CFLAGS])
echo " EGL platforms: $egl_platforms"
egl_drivers=""
- if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then
+ if test "x$enable_dri" != "xno"; then
egl_drivers="$egl_drivers builtin:egl_dri2"
fi
- if test "x$HAVE_EGL_DRIVER_DRI3" != "x"; then
+ if test "x$enable_dri3" != "xno"; then
egl_drivers="$egl_drivers builtin:egl_dri3"
fi