--- configure.orig 2014-03-14 20:50:56.000000000 +0100 +++ configure 2014-03-14 20:51:25.000000000 +0100 @@ -779,6 +779,8 @@ GBM_PC_REQ_PRIV LIBUDEV_LIBS LIBUDEV_CFLAGS +LIBDEVQ_LIBS +LIBDEVQ_CFLAGS OSMESA_PC_LIB_PRIV OSMESA_PC_REQ OSMESA_MESA_DEPS @@ -1126,6 +1128,8 @@ NOUVEAU_LIBS RADEON_CFLAGS RADEON_LIBS +LIBDEVQ_CFLAGS +LIBDEVQ_LIBS LIBUDEV_CFLAGS LIBUDEV_LIBS XORG_CFLAGS @@ -1930,6 +1934,10 @@ RADEON_CFLAGS C compiler flags for RADEON, overriding pkg-config RADEON_LIBS linker flags for RADEON, overriding pkg-config + LIBDEVQ_CFLAGS + C compiler flags for LIBDEVQ, overriding pkg-config + LIBDEVQ_LIBS + linker flags for LIBDEVQ, overriding pkg-config LIBUDEV_CFLAGS C compiler flags for LIBUDEV, overriding pkg-config LIBUDEV_LIBS @@ -21184,9 +21192,34 @@ DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1" DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS" - if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 nouveau r200 radeon swrast" - fi + case "$host_cpu" in + x86_64|ia64) + # i810 is missing because there is no x86-64 system where it + # could *ever* be used. + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" + fi + ;; + i*86) + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" + fi + ;; + powerpc*) + # Build only the drivers for cards that exist on PowerPC. + # At some point MGA will be added, but not yet. + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="r200 radeon swrast" + fi + ;; + sparc*) + # Build only the drivers for cards that exist on SPARC. + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="r200 radeon swrast" + fi + ;; + esac + ;; gnu*) DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" @@ -21684,6 +21717,81 @@ if test "x$enable_gbm" = xyes; then SRC_DIRS="$SRC_DIRS gbm" + case "$host_os" in + *freebsd*) + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBDEVQ" >&5 +$as_echo_n "checking for LIBDEVQ... " >&6; } + +if test -n "$LIBDEVQ_CFLAGS"; then + pkg_cv_LIBDEVQ_CFLAGS="$LIBDEVQ_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libdevq-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDEVQ_CFLAGS=`$PKG_CONFIG --cflags "libdevq-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBDEVQ_LIBS"; then + pkg_cv_LIBDEVQ_LIBS="$LIBDEVQ_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libdevq-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDEVQ_LIBS=`$PKG_CONFIG --libs "libdevq-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libdevq-1.0" 2>&1` + else + LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libdevq-1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBDEVQ_PKG_ERRORS" >&5 + + as_fn_error $? "gbm needs libdevq" "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "gbm needs libdevq" "$LINENO" 5 +else + LIBDEVQ_CFLAGS=$pkg_cv_LIBDEVQ_CFLAGS + LIBDEVQ_LIBS=$pkg_cv_LIBDEVQ_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + ;; + *) pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUDEV" >&5 @@ -21755,6 +21863,8 @@ $as_echo "yes" >&6; } fi + ;; + esac if test "x$enable_dri" = xyes; then GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri" @@ -21763,7 +21873,14 @@ fi fi fi -GBM_PC_REQ_PRIV="libudev" +case "$host_os" in +*freebsd*) + GBM_PC_REQ_PRIV="libdevq-1.0" + ;; +*) + GBM_PC_REQ_PRIV="libudev" + ;; +esac GBM_PC_LIB_PRIV="$DLOPEN_LIBS" @@ -21782,6 +21899,81 @@ if test "$enable_static" != yes; then # build egl_glx when libGL is built + case "$host_os" in + *freebsd*) + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBDEVQ" >&5 +$as_echo_n "checking for LIBDEVQ... " >&6; } + +if test -n "$LIBDEVQ_CFLAGS"; then + pkg_cv_LIBDEVQ_CFLAGS="$LIBDEVQ_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libdevq-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDEVQ_CFLAGS=`$PKG_CONFIG --cflags "libdevq-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBDEVQ_LIBS"; then + pkg_cv_LIBDEVQ_LIBS="$LIBDEVQ_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libdevq-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDEVQ_LIBS=`$PKG_CONFIG --libs "libdevq-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libdevq-1.0" 2>&1` + else + LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libdevq-1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBDEVQ_PKG_ERRORS" >&5 + + have_libdevq=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_libdevq=no +else + LIBDEVQ_CFLAGS=$pkg_cv_LIBDEVQ_CFLAGS + LIBDEVQ_LIBS=$pkg_cv_LIBDEVQ_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_libdevq=yes +fi + ;; + *) pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUDEV" >&5 @@ -21853,8 +22045,12 @@ $as_echo "yes" >&6; } have_libudev=yes fi + ;; + esac if test "$have_libudev" = yes; then DEFINES="$DEFINES -DHAVE_LIBUDEV" + elif test "$have_libdevq" = yes; then + DEFINES="$DEFINES -DHAVE_LIBDEVQ" fi if test "x$enable_dri" = xyes; then @@ -23053,9 +23249,19 @@ ;; esac - case "$plat$have_libudev" in - waylandno|drmno) - as_fn_error $? "cannot build $plat platfrom without udev" "$LINENO" 5 ;; + case "$host_os" in + *freebsd*) + case "$plat$have_libdevq" in + waylandno|drmno) + as_fn_error $? "cannot build $plat platfrom without libdevq" "$LINENO" 5 ;; + esac + ;; + *) + case "$plat$have_libudev" in + waylandno|drmno) + as_fn_error $? "cannot build $plat platfrom without udev" "$LINENO" 5 ;; + esac + ;; esac done @@ -23348,29 +23554,6 @@ CLANG_LIBDIR=${LLVM_LIBDIR} fi CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} - as_ac_File=`$as_echo "ac_cv_file_"$CLANG_RESOURCE_DIR/include/stddef.h"" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"$CLANG_RESOURCE_DIR/include/stddef.h\"" >&5 -$as_echo_n "checking for \"$CLANG_RESOURCE_DIR/include/stddef.h\"... " >&6; } -if eval \${$as_ac_File+:} false; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r ""$CLANG_RESOURCE_DIR/include/stddef.h""; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes"; then : - -else - as_fn_error $? "Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries." "$LINENO" 5 -fi - fi else MESA_LLVM=0 @@ -23453,6 +23636,81 @@ gallium_require_drm_loader() { if test "x$enable_gallium_loader" = xyes; then + case "$host_os" in + *freebsd*) + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBDEVQ" >&5 +$as_echo_n "checking for LIBDEVQ... " >&6; } + +if test -n "$LIBDEVQ_CFLAGS"; then + pkg_cv_LIBDEVQ_CFLAGS="$LIBDEVQ_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libdevq-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDEVQ_CFLAGS=`$PKG_CONFIG --cflags "libdevq-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBDEVQ_LIBS"; then + pkg_cv_LIBDEVQ_LIBS="$LIBDEVQ_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdevq-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libdevq-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDEVQ_LIBS=`$PKG_CONFIG --libs "libdevq-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libdevq-1.0" 2>&1` + else + LIBDEVQ_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libdevq-1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBDEVQ_PKG_ERRORS" >&5 + + as_fn_error $? "Gallium drm loader requires libdevq" "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "Gallium drm loader requires libdevq" "$LINENO" 5 +else + LIBDEVQ_CFLAGS=$pkg_cv_LIBDEVQ_CFLAGS + LIBDEVQ_LIBS=$pkg_cv_LIBDEVQ_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + ;; + *) pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUDEV" >&5 @@ -23524,6 +23782,8 @@ $as_echo "yes" >&6; } fi + ;; + esac if test "x$have_libdrm" != xyes; then as_fn_error $? "Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED" "$LINENO" 5 fi @@ -23534,7 +23794,7 @@ radeon_llvm_check() { LLVM_REQUIRED_VERSION_MAJOR="3" LLVM_REQUIRED_VERSION_MINOR="2" - if test "$LLVM_VERSION_INT" -ne "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then + if test "$LLVM_VERSION_INT" -lt "${LLVM_REQUIRED_VERSION_MAJOR}0${LLVM_REQUIRED_VERSION_MINOR}"; then as_fn_error $? "LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR with R600 target enabled is required. To use the r600/radeonsi LLVM backend, you need to fetch the LLVM source from: git://people.freedesktop.org/~tstellar/llvm master