From http://www.jwz.org/xscreensaver/xscreensaver-5.32.tar.gz
[xscreensaver] / configure.in
index 61656f3720696a607cd149b98b3357a4c62a0afb..1f68445fd54342997605c05deccc8298b355caaa 100644 (file)
@@ -1,4 +1,4 @@
-# configure.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski.
+# configure.in --- xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski.
 #
 
 AC_PREREQ(2.52)
 #
 
 AC_PREREQ(2.52)
@@ -15,7 +15,7 @@ echo "command line was: $0 $@"
 ###############################################################################
 
 AH_TOP([
 ###############################################################################
 
 AH_TOP([
-/* config.h.in --- xscreensaver, Copyright (c) 1998-2000 Jamie Zawinski.
+/* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
  *
  *  The best way to set these parameters is by running the included `configure'
  *  script.  That examines your system, and generates `config.h' from 
  *
  *  The best way to set these parameters is by running the included `configure'
  *  script.  That examines your system, and generates `config.h' from 
@@ -169,6 +169,12 @@ AH_TEMPLATE([HAVE_XMU],
            of X, and if your vendor doesn't ship it, you should report that
            as a bug.])
 
            of X, and if your vendor doesn't ship it, you should report that
            as a bug.])
 
+AH_TEMPLATE([HAVE_XUTF8DRAWSTRING],
+           [Define this if you have the function Xutf8DrawString().])
+
+AH_TEMPLATE([HAVE_XFT],
+           [Define this if you have libXft2.])
+
 AH_TEMPLATE([HAVE_GL],
            [Define this if you have OpenGL.  Some of the demos require it,
            so if you don't have it, then those particular demos won't be
 AH_TEMPLATE([HAVE_GL],
            [Define this if you have OpenGL.  Some of the demos require it,
            so if you don't have it, then those particular demos won't be
@@ -193,8 +199,6 @@ AH_TEMPLATE([HAVE_GLE3],[Define this if you have the -lgle from GLE version 3])
 AH_TEMPLATE([HAVE_JWZGLES],[Define this to target the OpenGL ES 1.x API
            instead of OpenGL 1.3.])
 
 AH_TEMPLATE([HAVE_JWZGLES],[Define this to target the OpenGL ES 1.x API
            instead of OpenGL 1.3.])
 
-AH_TEMPLATE([HAVE_GLBITMAP],[Define this if glBitmap exists.])
-
 AH_TEMPLATE([HAVE_XSHM_EXTENSION],
            [Define this if you have the X Shared Memory Extension.])
 
 AH_TEMPLATE([HAVE_XSHM_EXTENSION],
            [Define this if you have the X Shared Memory Extension.])
 
@@ -319,6 +323,9 @@ AH_TEMPLATE([XPointer],
 AH_TEMPLATE([HAVE_PTHREAD],
            [Define this if your system supports POSIX threads.])
 
 AH_TEMPLATE([HAVE_PTHREAD],
            [Define this if your system supports POSIX threads.])
 
+AH_TEMPLATE([HAVE_RECORD_ANIM],
+           [Define this to enable recording of videos.])
+
 # After checking to see that --srcdir is correct (which AC_INIT does)
 # check for some random other files that come later in the tar file,
 # to make sure everything is here.
 # After checking to see that --srcdir is correct (which AC_INIT does)
 # check for some random other files that come later in the tar file,
 # to make sure everything is here.
@@ -368,10 +375,6 @@ AC_DEFUN([AC_PROG_CC_PTHREAD],
     if test "$have_pthread" = yes; then
       AC_DEFINE([HAVE_PTHREAD])
       CC=$PTHREAD_CC
     if test "$have_pthread" = yes; then
       AC_DEFINE([HAVE_PTHREAD])
       CC=$PTHREAD_CC
-
-      # AX_PTHREAD documentation specifically suggests this...
-      LIBS="$PTHREAD_LIBS $LIBS"
-      CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
     fi
   fi
 ])
     fi
   fi
 ])
@@ -818,6 +821,8 @@ AC_DEFUN([AC_PATH_X_APP_DEFAULTS_DIRECT],[
     /usr/lib/X11R5/app-defaults                 \
     /usr/lib/X11R4/app-defaults                 \
                                                 \
     /usr/lib/X11R5/app-defaults                 \
     /usr/lib/X11R4/app-defaults                 \
                                                 \
+    /etc/X11/app-defaults                       \
+                                                \
     /usr/local/X11/lib/app-defaults             \
     /usr/local/X11R6/lib/app-defaults           \
     /usr/local/X11R5/lib/app-defaults           \
     /usr/local/X11/lib/app-defaults             \
     /usr/local/X11R6/lib/app-defaults           \
     /usr/local/X11R5/lib/app-defaults           \
@@ -863,11 +868,13 @@ AC_DEFUN([AC_PATH_X_APP_DEFAULTS_DIRECT],[
 AC_DEFUN([AC_PATH_X_APP_DEFAULTS],
   [AC_REQUIRE_CPP()
     AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
 AC_DEFUN([AC_PATH_X_APP_DEFAULTS],
   [AC_REQUIRE_CPP()
     AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
-     [AC_PATH_X_APP_DEFAULTS_XMKMF
+     [# skip this, it's always wrong these days.
+      #  AC_PATH_X_APP_DEFAULTS_XMKMF
       if test x"$ac_x_app_defaults" = x; then
       if test x"$ac_x_app_defaults" = x; then
-        AC_PATH_X_APP_DEFAULTS_DIRECT
+        true AC_PATH_X_APP_DEFAULTS_DIRECT
       fi
       if test x"$ac_x_app_defaults" = x; then
       fi
       if test x"$ac_x_app_defaults" = x; then
+        /bin/echo -n 'fallback: '
         ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
       else
         # Record where we found app-defaults for the cache.
         ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
       else
         # Record where we found app-defaults for the cache.
@@ -1239,6 +1246,8 @@ AC_SYS_LARGEFILE
 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
 AC_CHECK_FUNCS(setlocale)
 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
 AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
 AC_CHECK_FUNCS(setlocale)
+AC_CHECK_FUNCS(getaddrinfo)
+AC_CHECK_MEMBERS([struct sockaddr.sa_len],,, [[#include <sys/socket.h>]])
 AC_CHECK_ICMP
 AC_CHECK_ICMPHDR
 AC_CHECK_GETIFADDRS
 AC_CHECK_ICMP
 AC_CHECK_ICMPHDR
 AC_CHECK_GETIFADDRS
@@ -2615,6 +2624,9 @@ pkg_check_version() {
 
 jurassic_gtk=no
 gtk_halfassed=no
 
 jurassic_gtk=no
 gtk_halfassed=no
+have_gtk_2_22_or_higher=no
+COMMENT_DEMO_GLADE2_GTK_2_22_HEAD=""
+COMMENT_DEMO_GLADE2_GTK_2_22_TAIL=""
 
 if test "$with_gtk" = yes; then
   have_gtk=no
 
 if test "$with_gtk" = yes; then
   have_gtk=no
@@ -2665,6 +2677,15 @@ if test "$with_gtk" = yes; then
     AC_DEFINE(HAVE_XML)
   fi
 
     AC_DEFINE(HAVE_XML)
   fi
 
+  if test "$have_gtk" = yes; then
+    ok="yes"
+    pkg_check_version gtk+-2.0 2.22
+    have_gtk_2_22_or_higher="$ok"
+    if test "$have_gtk_2_22_or_higher" = yes; then
+      COMMENT_DEMO_GLADE2_GTK_2_22_HEAD="<!-- comment>"
+      COMMENT_DEMO_GLADE2_GTK_2_22_TAIL="</comment -->"
+    fi
+  fi
 fi
 
 
 fi
 
 
@@ -3188,18 +3209,6 @@ elif test "$with_gles" != no; then
   exit 1
 fi
 
   exit 1
 fi
 
-# May want to phase out glBitmap even in a non-GLES world.
-#
-if test "$have_gles" = yes; then
-  GLFPS_OBJS="fps-gl.o glxfonts.o texfont.o"
-  GLFONT_OBJS=""
-else
-  AC_DEFINE(HAVE_GLBITMAP)
-  GLFPS_OBJS="fps-gl.o glxfonts.o"
-  GLFONT_OBJS="texfont.o"
-fi
-
-
 ###############################################################################
 #
 #       Check for -lgdk_pixbuf.
 ###############################################################################
 #
 #       Check for -lgdk_pixbuf.
@@ -3405,6 +3414,94 @@ if test "$with_jpeg" = yes; then
 fi
 
 
 fi
 
 
+###############################################################################
+#
+#       Check for -lXft
+#
+###############################################################################
+
+have_xutf8drawstring=no
+AC_CHECK_X_LIB(X11, Xutf8DrawString,
+               [have_xutf8drawstring=yes],
+               [true], -lX11 -lXext -lm)
+if test "$have_xutf8drawstring" = yes ; then
+  AC_DEFINE(HAVE_XUTF8DRAWSTRING)
+fi
+
+
+have_xft=no
+with_xft_req=unspecified
+xft_halfassed=no
+AC_ARG_WITH(xft,
+[  --with-xft              Include support for the X Freetype library.],
+  [with_xft="$withval"; with_xft_req="$withval"],
+  [with_xft=yes])
+
+HANDLE_X_PATH_ARG(with_xft, --with-xft, Xft)
+
+if test "$with_xft" != yes -a "$with_xft" != no ; then
+  echo "error: must be yes or no: --with-xft=$with_xft"
+  exit 1
+fi
+
+if test "$with_xft" = yes; then
+
+  pkgs=''
+  ok="yes"
+  pkg_check_version xft 2.1.0
+  have_xft="$ok"
+
+  if test "$have_xft" = yes; then
+    AC_CACHE_CHECK([for Xft includes], ac_cv_xft_config_cflags,
+               [ac_cv_xft_config_cflags=`$pkg_config --cflags $pkgs`])
+    AC_CACHE_CHECK([for Xft libs], ac_cv_xft_config_libs,
+               [ac_cv_xft_config_libs=`$pkg_config --libs $pkgs`])
+  fi
+
+  ac_xft_config_cflags=$ac_cv_xft_config_cflags
+  ac_xft_config_libs=$ac_cv_xft_config_libs
+
+  if test "$have_xft" = yes; then
+    #
+    # we appear to have Xft; check for headers/libs to be sure.
+    #
+    ac_save_xft_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $ac_xft_config_cflags"
+
+    have_xft=no
+    AC_CHECK_X_HEADER(X11/Xft/Xft.h, [have_xft=yes])
+
+    CPPFLAGS="$ac_save_xft_CPPFLAGS"
+  fi
+
+  if test "$have_xft" = yes; then
+    # we have the headers, now check for the libraries
+    have_xft=no
+    xft_halfassed=yes
+
+    AC_MSG_RESULT(checking for Xft usability...)
+    AC_CHECK_X_LIB(c, XftDrawStringUtf8, [have_xft=yes],,
+                   $ac_xft_config_libs -lX11 -lXext -lm)
+  fi
+
+  if test "$have_xft" = no; then
+    AC_MSG_RESULT(checking for Xft usability... no)
+  fi
+fi
+
+if test "$have_xft" = yes; then
+  INCLUDES="$INCLUDES $ac_xft_config_cflags"
+  XFT_LIBS="$ac_xft_config_libs"
+  XFT_SRCS=''
+  XFT_OBJS=''
+  AC_DEFINE(HAVE_XFT)
+else
+  XFT_LIBS=''
+  XFT_SRCS='$(UTILS_SRC)/xft.c'
+  XFT_OBJS='$(UTILS_BIN)/xft.o'
+fi
+
+
 ###############################################################################
 #
 #       Check for pty support: this allows 'phosphor' and 'apple2'
 ###############################################################################
 #
 #       Check for pty support: this allows 'phosphor' and 'apple2'
@@ -3743,6 +3840,39 @@ elif test "$setuid_hacks" != no; then
 fi
 
 
 fi
 
 
+###############################################################################
+#
+#       Check for --with-record-animation
+#
+###############################################################################
+
+record_anim_default=no
+record_anim="$record_anim_default"
+AC_ARG_WITH(record-animation,
+[  --with-record-animation Include code for generating MP4 videos.
+],
+  [record_anim="$withval"], [record_anim="$record_anim_default"])
+
+HANDLE_X_PATH_ARG(record_anim, --with-record-animation, record animation)
+
+if test "$record_anim" = yes; then
+  true
+elif test "$record_anim" != no; then
+  echo "error: must be yes or no: --with-record-animation=$record_anim"
+  exit 1
+fi
+
+if test "$record_anim" = yes; then
+  if test "$have_gdk_pixbuf" != yes; then
+    AC_MSG_ERROR(--with-record-animation requires GDK-Pixbuf)
+  else
+    AC_MSG_RESULT(enabling --with-record-animation)
+    AC_DEFINE(HAVE_RECORD_ANIM)
+    ANIM_OBJS='$(ANIM_OBJS)'
+    ANIM_LIBS='$(ANIM_LIBS)'
+  fi
+fi
+
 ###############################################################################
 #
 #       Done testing.  Now, set up the various -I and -L variables,
 ###############################################################################
 #
 #       Done testing.  Now, set up the various -I and -L variables,
@@ -3945,6 +4075,9 @@ AC_SUBST(DEFAULT_IMAGES_P)
 AC_SUBST(DEFAULT_IMAGE_DIRECTORY)
 AC_SUBST(DEFAULT_TEXT_FILE)
 AC_SUBST(WITH_BROWSER)
 AC_SUBST(DEFAULT_IMAGE_DIRECTORY)
 AC_SUBST(DEFAULT_TEXT_FILE)
 AC_SUBST(WITH_BROWSER)
+AC_SUBST(COMMENT_DEMO_GLADE2_GTK_2_22_HEAD)
+AC_SUBST(COMMENT_DEMO_GLADE2_GTK_2_22_TAIL)
+
 
 AC_SUBST(OBJCC)
 AC_SUBST(EXES_OSX)
 
 AC_SUBST(OBJCC)
 AC_SUBST(EXES_OSX)
@@ -3956,6 +4089,9 @@ AC_SUBST(PASSWD_OBJS)
 AC_SUBST(XMU_SRCS)
 AC_SUBST(XMU_OBJS)
 AC_SUBST(XMU_LIBS)
 AC_SUBST(XMU_SRCS)
 AC_SUBST(XMU_OBJS)
 AC_SUBST(XMU_LIBS)
+AC_SUBST(XFT_SRCS)
+AC_SUBST(XFT_OBJS)
+AC_SUBST(XFT_LIBS)
 AC_SUBST(SAVER_GL_SRCS)
 AC_SUBST(SAVER_GL_OBJS)
 AC_SUBST(SAVER_GL_LIBS)
 AC_SUBST(SAVER_GL_SRCS)
 AC_SUBST(SAVER_GL_OBJS)
 AC_SUBST(SAVER_GL_LIBS)
@@ -3971,8 +4107,6 @@ AC_SUBST(GL_KLUDGE)
 AC_SUBST(GLE_EXES)
 AC_SUBST(GLE_KLUDGE)
 AC_SUBST(JWZGLES_OBJS)
 AC_SUBST(GLE_EXES)
 AC_SUBST(GLE_KLUDGE)
 AC_SUBST(JWZGLES_OBJS)
-AC_SUBST(GLFPS_OBJS)
-AC_SUBST(GLFONT_OBJS)
 AC_SUBST(GNOME24)
 AC_SUBST(GNOME22)
 AC_SUBST(NOGNOME)
 AC_SUBST(GNOME24)
 AC_SUBST(GNOME22)
 AC_SUBST(NOGNOME)
@@ -3982,6 +4116,8 @@ AC_SUBST(GTK_DATADIR)
 AC_SUBST(PO_DATADIR)
 AC_SUBST(HACK_CONF_DIR)
 AC_SUBST(GTK_EXTRA_OBJS)
 AC_SUBST(PO_DATADIR)
 AC_SUBST(HACK_CONF_DIR)
 AC_SUBST(GTK_EXTRA_OBJS)
+AC_SUBST(ANIM_OBJS)
+AC_SUBST(ANIM_LIBS)
 
 APPDEFAULTS=$ac_x_app_defaults
 AC_SUBST(APPDEFAULTS)
 
 APPDEFAULTS=$ac_x_app_defaults
 AC_SUBST(APPDEFAULTS)
@@ -3995,6 +4131,7 @@ AC_OUTPUT(Makefile
           utils/Makefile
           driver/Makefile
           driver/xscreensaver.pam
           utils/Makefile
           driver/Makefile
           driver/xscreensaver.pam
+          driver/xscreensaver-demo.glade2
           hacks/Makefile
           hacks/glx/Makefile
           po/Makefile.in
           hacks/Makefile
           hacks/glx/Makefile
           po/Makefile.in
@@ -4290,6 +4427,28 @@ if test "$have_jpeg" = no ; then
 fi
 
 
 fi
 
 
+if test "$have_xft" = no ; then
+  if test "$with_xft_req" = yes ; then
+    warnL "Use of libXft was requested, but it was not found."
+  elif test "$with_xft_req" = no ; then
+    noteL 'The Xft library is not being used.'
+  else
+    noteL "The Xft library was not found."
+  fi
+
+  if test "$xft_halfassed" = yes ; then
+    echo ''
+    warn2 'More specifically, we found the headers, but not the'
+    warn2 'libraries; so either Xft is half-installed on this'
+    warn2 "system, or something else went wrong.  The \`config.log'"
+    warn2 'file might contain some clues.'
+    echo ''
+  fi
+
+  warn2 "This means that fonts won't be anti-aliased."
+fi
+
+
 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
   preferred_mesagl=3.4
   mgv="$ac_mesagl_version_string"
 if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
   preferred_mesagl=3.4
   mgv="$ac_mesagl_version_string"
@@ -4332,10 +4491,7 @@ if test "$have_gl" = no ; then
   echo ''
   warn2 'Those demos which use 3D will not be built or installed.'
   warn2 'You might want to consider installing OpenGL and'
   echo ''
   warn2 'Those demos which use 3D will not be built or installed.'
   warn2 'You might want to consider installing OpenGL and'
-  warn2 "re-running configure.  If your vendor doesn't ship"
-  warn2 'their own implementation of OpenGL, you can get a free'
-  warn2 'version at <http://www.mesa3d.org/>.  For general OpenGL'
-  warn2 'info, see <http://www.opengl.org/>.'
+  warn2 're-running configure.'
 
 fi
 
 
 fi
 
@@ -4355,7 +4511,7 @@ if test "$have_gl" = yes -a "$have_gle" = no ; then
     warn2 'library is not.'
   else
     noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
     warn2 'library is not.'
   else
     noteL 'The OpenGL Library was found, but the GLE (GL Extrusion)'
-    warn2 'was not.'
+    warn2 'library was not.'
   fi
 
   if test "$gle_halfassed" = yes ; then
   fi
 
   if test "$gle_halfassed" = yes ; then
@@ -4370,8 +4526,7 @@ if test "$have_gl" = yes -a "$have_gle" = no ; then
   warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
   warn2 'will not be built or installed.  You might want to consider'
   warn2 'installing GLE and re-running configure.  You can find the'
   warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)'
   warn2 'will not be built or installed.  You might want to consider'
   warn2 'installing GLE and re-running configure.  You can find the'
-  warn2 'GLE library at <http://www.linas.org/gle/>.  For general'
-  warn2 'OpenGL info, see <http://www.opengl.org/>.'
+  warn2 'GLE library at <http://www.linas.org/gle/>'
 
  fi
 fi
 
  fi
 fi
@@ -4506,7 +4661,7 @@ if test "$do_dir_warning" = yes; then
   echo '      "xscreensaver-demo", and "xscreensaver-command" executables'
   echo "      will be installed in ${bindir}/."
   echo ""
   echo '      "xscreensaver-demo", and "xscreensaver-command" executables'
   echo "      will be installed in ${bindir}/."
   echo ""
-  echo "      The various graphics demos (190+ different executables) will"
+  echo "      The various graphics demos (200+ different executables) will"
   echo "      be installed in ${HACKDIR}/."
   echo ""
   echo "      If you would prefer the demos to be installed elsewhere,"
   echo "      be installed in ${HACKDIR}/."
   echo ""
   echo "      If you would prefer the demos to be installed elsewhere,"