tests/pm_rpm: Convert to new optparsing
[platform/upstream/intel-gpu-tools.git] / configure.ac
index b8e34d3..301ea11 100644 (file)
@@ -22,7 +22,7 @@
 
 AC_PREREQ([2.60])
 AC_INIT([intel-gpu-tools],
-       [1.3],
+       [1.7],
        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
        [intel-gpu-tools])
 
@@ -33,12 +33,26 @@ AC_CONFIG_AUX_DIR([build-aux])
 AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
 AC_GNU_SOURCE
+AC_CANONICAL_HOST
 
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_PATH_PYTHON([3],, [:])
-AM_MAINTAINER_MODE
+
+AC_PROG_CC
+AM_PROG_LEX
+AC_PROG_YACC
+
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+enable_gtk_doc=no
+])
+
 
 # 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>
@@ -50,65 +64,112 @@ AC_CHECK_FUNCS([asprintf])
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 
-# 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
-
 # 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(DRM, [libdrm_intel >= 2.4.38 libdrm])
+# 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
+AC_SUBST(ASSEMBLER_WARN_CFLAGS)
+
+PKG_CHECK_MODULES(DRM, [libdrm_intel >= 2.4.52 libdrm])
 PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
+PKG_CHECK_MODULES(OVERLAY_XVLIB, [xv x11 xext dri2proto >= 2.6], enable_overlay_xvlib=yes, enable_overlay_xvlib=no)
+PKG_CHECK_MODULES(OVERLAY_XLIB, [cairo-xlib dri2proto >= 2.6], enable_overlay_xlib=yes, enable_overlay_xlib=no)
+
+AM_CONDITIONAL(BUILD_OVERLAY_XVLIB, [test "x$enable_overlay_xvlib" = xyes])
+AM_CONDITIONAL(BUILD_OVERLAY_XLIB, [test "x$enable_overlay_xlib" = xyes])
+AM_CONDITIONAL(BUILD_OVERLAY, [test "x$enable_overlay_xlib" = xyes -o "x$enable_overlay_xvlib"])
+if test x$enable_overlay_xvlib = xyes; then
+       AC_DEFINE(HAVE_OVERLAY_XVLIB, 1, [Enable XV backend])
+fi
+if test x$enable_overlay_xlib = xyes; then
+       AC_DEFINE(HAVE_OVERLAY_XLIB, 1, [Enable X backend])
+fi
+PKG_CHECK_MODULES(XRANDR, xrandr >= 1.3, AC_DEFINE(HAVE_XRANDR, 1, [Have libXrandr]), [have_xrandr=no])
 
 # for testdisplay
-PKG_CHECK_MODULES(CAIRO, cairo)
+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])
+             [Enable use of nouveau API for prime tests (default: auto)]),
+             [NOUVEAU=$enableval], [NOUVEAU=auto])
+if test "x$NOUVEAU" = xauto; then
+       PKG_CHECK_EXISTS([libdrm_nouveau >= 2.4.33], [NOUVEAU=yes], [NOUVEAU=no])
+fi
 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])
 
-# Define a configure option for the shadder debugger
+#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=auto])
+if test "x$DUMPER" = xauto; then
+       # AX_PYTHON_DEVEL/AX_SWIG_PYTHON are not super friendly and don't
+       # easily allow us to introspect the result of their checks. So if we
+       # find SWING on the system, that's enough to try compiling the dumper.
+       AX_PKG_SWIG(2.0.0, [DUMPER=yes], [DUMPER=no])
+fi
+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 shader 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
+# Shader 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
+       # Check that the assembler is built
+       if test "x$enable_assembler" = xno; then
+               BUILD_SHADER_DEBUGGER=no
                if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
-                       AC_MSG_ERROR([Shader debugger requested, python version 3 not found.])
-               else
-                       BUILD_SHADER_DEBUGGER=no
+                       AC_MSG_ERROR([Shader debugger requested, but assembler not enabled.])
                fi
        fi
-       # Check for the Intel Chipset assembler compiler
-       AC_PATH_PROGS([GEN4ASM], intel-gen4asm)
-       if test -z "$GEN4ASM" ; then
+
+       # Check Python 3 is installed
+       if test "$PYTHON" = ":" ; then
                if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
-                       AC_MSG_ERROR([Shader debugger requested, but intel-gen4asm not found.])
+                       AC_MSG_ERROR([Shader debugger requested, python version 3 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
@@ -121,6 +182,9 @@ if test "x$BUILD_SHADER_DEBUGGER" != xno; then
 fi
 
 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])
+
 # -----------------------------------------------------------------------------
 
 # To build multithread code, gcc uses -pthread, Solaris Studio cc uses -mt
@@ -135,20 +199,55 @@ if test "x$BUILD_TESTS" = xyes; then
        AC_DEFINE(BUILD_TESTS, 1, [Build tests])
 fi
 AM_CONDITIONAL(BUILD_TESTS, [test "x$BUILD_TESTS" = xyes])
+AC_DEFINE_UNQUOTED(TARGET_CPU_PLATFORM, ["$host_cpu"], [Target platform])
+
+files="broadwell cherryview haswell ivybridge sandybridge valleyview"
+for file in $files; do
+       QUICK_DUMP_EXTRA_DIST+="$file `tr '\n' ' ' < tools/quick_dump/$file`"
+done
+AC_SUBST(QUICK_DUMP_EXTRA_DIST)
 
 AC_CONFIG_FILES([
                 Makefile
                 benchmarks/Makefile
                 demos/Makefile
+                docs/Makefile
+                docs/reference/Makefile
+                docs/reference/intel-gpu-tools/Makefile
+                docs/reference/intel-gpu-tools/version.xml
                 lib/Makefile
                 man/Makefile
                 scripts/Makefile
                 tests/Makefile
                 tools/Makefile
                 tools/quick_dump/Makefile
+                tools/null_state_gen/Makefile
                 debugger/Makefile
                 debugger/system_routine/Makefile
+                assembler/Makefile
+                assembler/doc/Makefile
+                assembler/test/Makefile
+                assembler/intel-gen4asm.pc
+                overlay/Makefile
                 ])
 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 "       Overlay            : X: ${enable_overlay_xlib}, Xv: ${enable_overlay_xvlib}"
+echo ""
+echo " • API-Documentation      : ${enable_gtk_doc}"
+echo ""
+
 # vim: set ft=config ts=8 sw=8 tw=0 noet :