glx: fix rotation regression. bug #14963
[mesa.git] / configure.ac
index 1a2a2cb46a9defa7e6086eb29cc11206237ce610..b9ad819fe437df1127d0efcecc3d88f1e0ab2ac5 100644 (file)
@@ -30,6 +30,16 @@ AC_PATH_PROG(MAKE, make)
 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.
@@ -66,9 +76,15 @@ esac
 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
@@ -275,7 +291,13 @@ fi
 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`
@@ -319,6 +341,17 @@ xlib|dri)
     ;;
 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
@@ -333,7 +366,7 @@ xlib)
         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
@@ -442,12 +475,6 @@ if test "$mesa_driver" = dri; then
         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*)
@@ -496,6 +523,13 @@ if test "$mesa_driver" = dri; then
         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
@@ -513,7 +547,7 @@ if test "$mesa_driver" = dri; then
         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)
@@ -568,7 +602,7 @@ case "$mesa_driver" in
 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
@@ -616,11 +650,6 @@ if test "x$enable_glu" = xyes; then
         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"
@@ -777,7 +806,7 @@ linux*)
     ;;
 freebsd*)
     PIC_FLAGS="-fPIC"
-    case "$host_os" in
+    case "$host_cpu" in
     i*86)
         PIC_FLAGS=""
         if test "x$enable_asm" = xyes; then