AC_PATH_PROG(MKDEP, makedepend)
AC_PATH_PROG(SED, sed)
+MKDEP_OPTIONS=-fdepend
+dnl Ask gcc where it's keeping its secret headers
+if test "x$GCC" = xyes; then
+ GCC_INCLUDES=`$CC -print-file-name=include`
+ if test "x$GCC_INCLUDES" != x; then
+ MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
+ fi
+fi
+AC_SUBST(MKDEP_OPTIONS)
+
dnl Make sure the pkg-config macros are defined
m4_ifdef([PKG_PROG_PKG_CONFIG],,[
AC_MSG_ERROR([The pkg-config autoconf macros are not defined.
dnl Add flags for gcc and g++
if test "x$GCC" = xyes; then
CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99 -ffast-math"
+
+ # Work around aliasing bugs - developers should comment this out
+ CFLAGS="$CFLAGS -fno-strict-aliasing"
fi
if test "x$GXX" = xyes; then
CXXFLAGS="$CXXFLAGS -Wall"
+
+ # Work around aliasing bugs - developers should comment this out
+ CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
fi
dnl These should be unnecessary, but let the user set them if they want
dnl If $with_demos is yes, directories will be added as libs available
PROGRAM_DIRS=""
case "$with_demos" in
-no|yes) ;;
+no) ;;
+yes)
+ # If the driver isn't osmesa, we have libGL and can build xdemos
+ if test "$mesa_driver" != osmesa; then
+ PROGRAM_DIRS="xdemos"
+ fi
+ ;;
*)
# verify the requested demos directories exist
demos=`IFS=,; echo $with_demos`
;;
esac
+# SELinux awareness.
+AC_ARG_ENABLE(selinux, AS_HELP_STRING([--enable-selinux], [Build SELinux-aware Mesa (default: disabled)]), [MESA_SELINUX=$enableval], [MESA_SELINUX=no])
+if test "x$enable_selinux" = "xyes"; then
+ AC_CHECK_HEADER(selinux/selinux.h,,
+ AC_MSG_ERROR([SELinux headers not found]))
+ AC_CHECK_LIB(selinux,is_selinux_enabled,,
+ AC_MSG_ERROR([SELinux library not found]))
+ SELINUX_LIBS="-lselinux"
+ DEFINES="$DEFINES -DMESA_SELINUX"
+fi
+
dnl
dnl libGL configuration per driver
dnl
X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
fi
- GL_LIB_DEPS="$GL_LIB_DEPS -lm -lpthread"
+ GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread"
# if static, move the external libraries to the programs
# and empty the libraries for libGL
PROGRAM_DIRS="egl"
fi
- # default drivers
- if test "x$DRI_DIRS" = x; then
- DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
- savage sis tdfx trident unichrome ffb"
- fi
-
# Platform specific settings and drivers to build
case "$host_os" in
linux*)
fi
;;
esac
+
+ # default drivers
+ if test "x$DRI_DIRS" = x; then
+ DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
+ savage sis tdfx trident unichrome ffb"
+ fi
+
DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
# Check for expat
AC_MSG_ERROR([Expat required for DRI.]))
# put all the necessary libs together
- DRI_LIB_DEPS="$LIBDRM_LIBS $EXPAT_LIB -lm -lpthread -ldl"
+ DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread -ldl"
fi
AC_SUBST(DRI_DIRS)
AC_SUBST(EXPAT_INCLUDES)
osmesa)
# only link librararies with osmesa if shared
if test "$enable_static" = no; then
- OSMESA_LIB_DEPS="-lm -lpthread"
+ OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS"
else
OSMESA_LIB_DEPS=""
fi
fi
;;
*)
- # If GLU is available, we can build the xdemos
- if test "$with_demos" = yes; then
- PROGRAM_DIRS="$PROGRAM_DIRS xdemos"
- fi
-
# If static, empty GLU_LIB_DEPS and add libs for programs to link
if test "$enable_static" = no; then
GLU_LIB_DEPS="-lm"
;;
freebsd*)
PIC_FLAGS="-fPIC"
- case "$host_os" in
+ case "$host_cpu" in
i*86)
PIC_FLAGS=""
if test "x$enable_asm" = xyes; then