Bump version to 4.0.1.
[terminatorX.git] / configure.ac
index 52e9e387839dd549c3827a6c0164b5f64c089d40..8c99afbe10b47abd3d4c23d86254df3af3999d34 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT([terminatorX], [3.90], [https://terminatorx.org/bugs/], [terminatorX])
+AC_INIT([terminatorX], [4.0.1], [https://terminatorX.org/bugs/], [terminatorX], [https://terminatorX.org])
 
 AC_CONFIG_SRCDIR([src/tX_global.h])
 AM_INIT_AUTOMAKE
@@ -15,7 +15,8 @@ AC_ARG_ENABLE(wav,            [  --enable-wav            enables the built-in wav-loader (
 AC_ARG_ENABLE(alsa,            [  --enable-alsa           use ALSA for sound output (default=auto) ])
 AC_ARG_ENABLE(jack,            [  --enable-jack           use JACK for sound output (default=auto) ])
 AC_ARG_ENABLE(oss,             [  --enable-oss            use OSS for sound output (default=auto) ])
-AC_ARG_ENABLE(pulse,           [  --enable-pulse          use PULSE for sound output (default=auto) ])
+AC_ARG_ENABLE(pulse,           [  --enable-pulse          use PulseAudio for sound output (default=auto) ])
+AC_ARG_ENABLE(x11,    [  --enable-x11            include X11 specific code (default=auto) ])
 AC_ARG_ENABLE(libxml2,         [  --disable-libxml2       use libxml even if verion 2 detected (default=auto) ])
 AC_ARG_ENABLE(mad,             [  --disable-mad           disable mad for mp3 support (default=auto) ])
 AC_ARG_ENABLE(vorbis,          [  --disable-vorbis        disable libvorbis support (default=auto) ])
@@ -26,6 +27,7 @@ AC_ARG_ENABLE(alsamidi,               [  --disable-alsamidi      disable support  ALSA MIDI i
 AC_ARG_ENABLE(lrdf,            [  --disable-lrdf          disable support for liblrdf (default=auto) ])
 AC_ARG_ENABLE(capabilities,    [  --enable-capabilities   to use rt-scheduling (default=auto) ])
 AC_ARG_ENABLE(deprecated,      [  --disable-deprecated    compile without deprecated G*-headers (default=no) ])
+AC_ARG_ENABLE(suidroot,   [  --enable-suidroot      install terminatorX setuid root (default=no) ])
 AC_ARG_WITH(docdir,            [  --with-docdir=/some/dir the final location the docs will be installed to. ])
 
 dnl Checks for programs.
@@ -40,6 +42,7 @@ OPTION_OSS="no"
 OPTION_ALSA="no"
 OPTION_JACK="no"
 OPTION_PULSE="no"
+OPTION_X11="no"
 OPTION_SOX="no"
 OPTION_MPG123="no"
 OPTION_MAD="no"
@@ -52,6 +55,7 @@ OPTION_ALSAMIDI="no"
 OPTION_LEGACY="no"
 OPTION_LRDF="no"
 OPTION_CAP="no"
+OPTION_SUIDROOT="no"
 
 dnl Checks for libraries.
 AC_CHECK_LIB(m, floor,, AC_MSG_ERROR([** math-lib not installed or broken **]))
@@ -135,6 +139,11 @@ else
        AC_MSG_ERROR([** couldn't find gtk+ > Version 3. Please upgrade (http://www.gtk.org). **])
 fi
 
+AC_PATH_PROG([GLIB_COMPILE_RESOURCES],[glib-compile-resources])
+AS_IF([test "$GLIB_COMPILE_RESOURCES" == ""],[
+               AC_MSG_ERROR([glib-compile-resources not found])
+               ])
+
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS(fcntl.h limits.h malloc.h unistd.h)
@@ -405,6 +414,28 @@ if test "$using_alsa" != "yes"; then
                fi
        fi
 fi     
+
+if test "$enable_x11" != "no"; then
+               AC_CHECK_LIB(X11, XOpenDisplay, x11lib=yes, x11lib=no)
+               AC_CHECK_HEADERS(X11/Xlib.h, x11header=yes, x11header=no)
+
+    if test "$x11lib" = "yes"; then
+           if test "$x11header" = "yes"; then
+                   AC_DEFINE_UNQUOTED([USE_X11], 1, [ Define to enable X11 specific code (e.g. fullscreen mode ).])
+                                               LIBS="$LIBS -lX11"
+                   using_x11=yes
+                                               OPTION_X11=yes
+           else 
+                   if test "$enable_x11" = "yes"; then
+                           AC_MSG_ERROR([** X11 headers not installed or broken **])
+                   fi
+           fi
+    else
+           if test "$enable_x11" = "yes"; then
+                   AC_MSG_ERROR([** X11 libs not installed or broken **])
+           fi
+    fi
+fi
        
 if test "$enable_wav" != "no";
 then
@@ -451,8 +482,6 @@ if test "$enable_capabilities" = "yes"; then
        fi
 fi
 
-
-
 if test "$enable_deprecated" = "no"; then
        DEPRECATED_FLAGS="-DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED"
 else 
@@ -461,6 +490,14 @@ fi
 
 AC_SUBST(DEPRECATED_FLAGS)
 
+if test "$enable_suidroot" = "yes"; then
+       OPTION_SUIDROOT="yes"
+else
+       OPTION_SUIDROOT="no"
+fi
+
+AM_CONDITIONAL([SUIDROOT], [ test x$OPTION_SUIDROOT = xyes])
+
 AC_MSG_CHECKING(for necessary scratching skillz)
 AC_MSG_RESULT(yes)
 
@@ -550,17 +587,6 @@ GNOME_DOC_INIT
 
 xml_man="\\\"${datadir}/gnome/help/terminatorX-manual/C/terminatorX-manual.xml\\\""
 
-dnl Now Check for Xlibs - I do this here as other tests fail if these run earlier
-AC_PATH_XTRA
-
-AC_SUBST(X_CFLAGS)
-AC_SUBST(X_PRE_LIBS)
-AC_SUBST(X_EXTRA_LIBS)
-AC_SUBST(X_LIBS)
-AC_SUBST(x_libraries)
-
-GTK_LIBS="$GTK_LIBS $X_LIBS"
-AC_CHECK_LIB(X11, XOpenDisplay,, AC_MSG_ERROR([** X11-libs not installed or broken **]), $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS)
 
 CFLAGS="$XML_CFLAGS $CFLAGS -DXML_MANUAL=$xml_man"
 LIBS="$XML_LIBS $LIBS"
@@ -630,9 +656,16 @@ option_info;
 option=lrdf; option_val=$OPTION_LRDF; option_url=http://plugin.org.uk/releases/lrdf/
 option_info;
 
+echo "x11 support: $OPTION_X11"
 echo "legacy files support: $OPTION_LEGACY"
 echo "builtin-wav support: $OPTION_WAV"
 echo "enhanced scheduling support: $OPTION_SCHEDULER"
 echo "capabilities support: $OPTION_CAP"
+echo "install setuid-root: $OPTION_SUIDROOT"
 echo
 echo You can now run \'make\' to compile terminatorX
+
+if test "$OPTION_SUIDROOT" = "yes"; then
+    echo As setuid-root is enabled, \'make install\' must be run with root privileges.
+fi