tests/gem_flink_race: check for expected flink failure code
[platform/upstream/intel-gpu-tools.git] / configure.ac
index 3e1218e..1626ce8 100644 (file)
 #
 # Process this file with autoconf to produce a configure script
 
-AC_PREREQ([2.63])
+AC_PREREQ([2.60])
 AC_INIT([intel-gpu-tools],
-        [1.0.2],
-        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
-        [intel-gpu-tools])
+       [1.3],
+       [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+       [intel-gpu-tools])
 
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
+AC_GNU_SOURCE
 
-AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2])
-AM_MAINTAINER_MODE([enable])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_PATH_PYTHON([3],, [:])
 
-# Support silent build rules, requires at least automake-1.11. Disable
-# by either passing --disable-silent-rules to configure or passing V=1
-# to make
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-# Checks for programs.
 AC_PROG_CC
-AC_PROG_CC_C99
-AM_PROG_CC_C_O
+AM_PROG_LEX
+AC_PROG_YACC
+
+# Checks for functions, headers, structures, etc.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([termios.h])
+AC_CHECK_MEMBERS([struct sysinfo.totalram],[],[],[AC_INCLUDES_DEFAULT
+                 #include <sys/sysinfo.h>
+                 ])
+AC_CHECK_FUNCS([swapctl])
+AC_CHECK_FUNCS([asprintf])
 
 # Initialize libtool
-LT_PREREQ([2.2])
-LT_INIT([disable-static])
+AC_DISABLE_STATIC
+AC_PROG_LIBTOOL
 
-PKG_CHECK_MODULES(DRM, [libdrm_intel >= 2.4.23 libdrm])
-PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
+# Require X.Org macros 1.16 or later for XORG_TESTSET_CFLAG
+m4_ifndef([XORG_MACROS_VERSION],
+         [m4_fatal([must install xorg-macros 1.16 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.16)
+XORG_DEFAULT_OPTIONS
 
-PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no])
-if test "x$HAVE_CAIRO" = xyes; then
-       AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support])
+# warning flags for the assembler. We can't quite use CWARNFLAGS for it yet as
+# it generates waaaay too many warnings.
+ASSEMBLER_WARN_CFLAGS=""
+if test "x$GCC" = "xyes"; then
+       ASSEMBLER_WARN_CFLAGS="-Wall -Wstrict-prototypes \
+       -Wmissing-prototypes -Wmissing-declarations \
+       -Wnested-externs -fno-strict-aliasing"
 fi
-AM_CONDITIONAL(HAVE_CAIRO, [test "x$HAVE_CAIRO" = xyes])
+AC_SUBST(ASSEMBLER_WARN_CFLAGS)
 
-PKG_CHECK_MODULES(LIBUDEV, libudev, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
-if test "x$HAVE_LIBUDEV" = xyes; then
-       AC_DEFINE(HAVE_LIBUDEV, 1, [Have libudev support])
-fi
-AM_CONDITIONAL(HAVE_LIBUDEV, [test "x$HAVE_LIBUDEV" = xyes])
+PKG_CHECK_MODULES(DRM, [libdrm_intel >= 2.4.38 libdrm])
+PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
 
-PKG_CHECK_MODULES(GLIB, glib-2.0, [HAVE_GLIB=yes], [HAVE_GLIB=no])
-if test "x$HAVE_GLIB" = xyes; then
-       AC_DEFINE(HAVE_GLIB, 1, [Have glib support])
+# for testdisplay
+PKG_CHECK_MODULES(CAIRO, [cairo >= 1.12.0])
+PKG_CHECK_MODULES(LIBUDEV, [libudev], [udev=yes], [udev=no])
+if test x"$udev" = xyes; then
+       AC_DEFINE(HAVE_UDEV,1,[Enable udev-based monitor hotplug detection])
+fi
+PKG_CHECK_MODULES(GLIB, glib-2.0)
+
+# can we build the assembler?
+AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc],
+      [enable_assembler=yes],
+      [enable_assembler=no])
+AM_CONDITIONAL(BUILD_ASSEMBLER, [test "x$enable_assembler" = xyes])
+
+# -----------------------------------------------------------------------------
+#                      Configuration options
+# -----------------------------------------------------------------------------
+# for dma-buf tests
+AC_ARG_ENABLE(nouveau, AS_HELP_STRING([--disable-nouveau],
+             [Enable use of nouveau API for prime tests (default: enabled)]),
+             [NOUVEAU=$enableval], [NOUVEAU=yes])
+if test "x$NOUVEAU" = xyes; then
+       PKG_CHECK_MODULES(DRM_NOUVEAU, [libdrm_nouveau >= 2.4.33])
+       AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau support])
+fi
+AM_CONDITIONAL(HAVE_NOUVEAU, [test "x$NOUVEAU" = xyes])
+
+#Configure options for the python quick-dumper
+AC_ARG_ENABLE(dumper,
+             AS_HELP_STRING([--disable-dumper],
+                            [Disable the python based register dumper (default: enabled)]),
+                            [DUMPER=$enableval], [DUMPER=yes])
+if test "x$DUMPER" == xyes; then
+       AC_DEFINE(HAVE_DUMPER, 1, [Have dumper support])
+       # SWIG configuration
+       AX_PKG_SWIG(2.0.0, [], [ AC_MSG_ERROR([SWIG 2.0.0 or higher is required to build..]) ])
+       AX_PYTHON_DEVEL([>= '3.0'])
+       AX_SWIG_PYTHON
+fi
+AM_CONDITIONAL(HAVE_DUMPER, [test "x$DUMPER" = xyes])
+
+# Define a configure option for the shadder debugger
+AC_ARG_ENABLE(shader-debugger, AS_HELP_STRING([--enable-shader-debugger],
+             [Enable shader debugging support [autodetected]]),
+             [BUILD_SHADER_DEBUGGER="$enableval"], [BUILD_SHADER_DEBUGGER=auto])
+
+# Shadder debugger depends on python3, intel-genasm and objcopy
+if test "x$BUILD_SHADER_DEBUGGER" != xno; then
+       # Check Python 3 is installed
+       if test "$PYTHON" = ":" ; then
+               if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
+                       AC_MSG_ERROR([Shader debugger requested, python version 3 not found.])
+               else
+                       BUILD_SHADER_DEBUGGER=no
+               fi
+       fi
+       # Check for the Intel Chipset assembler compiler
+       AC_PATH_PROGS([GEN4ASM], intel-gen4asm)
+       if test -z "$GEN4ASM" ; then
+               if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
+                       AC_MSG_ERROR([Shader debugger requested, but intel-gen4asm not found.])
+               else
+                       BUILD_SHADER_DEBUGGER=no
+               fi
+       fi
+       # Check for the objcopy GNU binary utiliy command
+       AC_PATH_PROGS([OBJCOPY], objcopy)
+       if test -z "$OBJCOPY" ; then
+               if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
+                       AC_MSG_ERROR([Shader debugger requested, but objcopy command not found.])
+               else
+                       BUILD_SHADER_DEBUGGER=no
+               fi
+       fi
 fi
-AM_CONDITIONAL(HAVE_GLIB, [test "x$HAVE_GLIB" = xyes])
 
-dnl Use lots of warning flags with GCC
+AM_CONDITIONAL(BUILD_SHADER_DEBUGGER, [test "x$BUILD_SHADER_DEBUGGER" != xno])
+AS_IF([test "x$BUILD_SHADER_DEBUGGER" != xno],
+      [enable_debugger=yes], [enable_debugger=no])
 
-WARN_CFLAGS=""
+# -----------------------------------------------------------------------------
 
-if test "x$GCC" = "xyes"; then
-       WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
-       -Wmissing-prototypes -Wmissing-declarations \
-       -Wnested-externs -fno-strict-aliasing"
-fi
+# To build multithread code, gcc uses -pthread, Solaris Studio cc uses -mt
+XORG_TESTSET_CFLAG([THREAD_CFLAGS], [-pthread], [-mt])
+AC_SUBST([THREAD_CFLAGS])
 
-AC_SUBST([WARN_CFLAGS])
-
-AC_ARG_ENABLE(shader-debugger,
-             AS_HELP_STRING([--enable-shader-debugger],
-                            [Enable shader debugging support [default=no]]),
-             [SHADER_DEBUGGER="$enableval"],
-             [SHADER_DEBUGGER=no])
-AM_CONDITIONAL(HAVE_SHADER_DEBUGGER, [test "x$SHADER_DEBUGGER" = xyes])
-if test "x$SHADER_DEBUGGER" = xyes; then
-       AC_CHECK_PROG([GEN4ASM], intel-gen4asm, intel-gen4asm)
-       if test -z "$GEN4ASM"; then
-               AC_MSG_ERROR([Cannot find intel-gen4asm in your path; please set GEN4ASM env variable])
-       else
-               AC_CONFIG_FILES([debugger/system_routine/GNUmakefile])
-               AC_DEFINE(HAVE_SHADER_DEBUGGER, 1, [Have shader debugging support])
-       fi
+AC_ARG_ENABLE(tests,
+             AS_HELP_STRING([--disable-tests],
+             [Disable tests build (default: enabled)]),
+             [BUILD_TESTS=$enableval], [BUILD_TESTS="yes"])
+if test "x$BUILD_TESTS" = xyes; then
+       AC_DEFINE(BUILD_TESTS, 1, [Build tests])
 fi
-
-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.3)
-XORG_DEFAULT_OPTIONS
+AM_CONDITIONAL(BUILD_TESTS, [test "x$BUILD_TESTS" = xyes])
 
 AC_CONFIG_FILES([
-       Makefile
-       benchmarks/Makefile
-       lib/Makefile
-       man/Makefile
-       scripts/Makefile
-       tests/Makefile
-       tools/Makefile
-       debugger/Makefile
-])
+                Makefile
+                benchmarks/Makefile
+                demos/Makefile
+                lib/Makefile
+                man/Makefile
+                scripts/Makefile
+                tests/Makefile
+                tools/Makefile
+                tools/quick_dump/Makefile
+                debugger/Makefile
+                debugger/system_routine/Makefile
+                assembler/Makefile
+                assembler/doc/Makefile
+                assembler/test/Makefile
+                assembler/intel-gen4asm.pc
+                ])
 AC_OUTPUT
+
+# Print a summary of the compilation
+echo ""
+echo "Intel GPU tools"
+
+echo ""
+echo " • Tests:"
+echo "       Build tests        : ${BUILD_TESTS}"
+echo "       Compile prime tests: ${NOUVEAU}"
+echo ""
+echo " • Tools:"
+echo "       Assembler          : ${enable_assembler}"
+echo "       Debugger           : ${enable_debugger}"
+echo "       Python dumper      : ${DUMPER}"
+echo ""
+
+# vim: set ft=config ts=8 sw=8 tw=0 noet :