X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=25b827c5b425f4743d7fbee2b31cc93df21d51c0;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hp=748879558d5ea3a0967201433bad0ee939cfc7e5;hpb=019de959b265701cd0c3fccbb61f2b69f06bf9ee;p=xscreensaver diff --git a/configure.in b/configure.in index 74887955..25b827c5 100644 --- a/configure.in +++ b/configure.in @@ -1,9 +1,9 @@ -# configure.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski. +# configure.in --- xscreensaver, Copyright (c) 1997-2014 Jamie Zawinski. # AC_PREREQ(2.52) AC_INIT(driver/subprocs.c) -AC_CONFIG_HEADER(config.h) +AC_CONFIG_HEADERS([config.h]) echo "current directory: `pwd`" echo "command line was: $0 $@" @@ -15,7 +15,7 @@ echo "command line was: $0 $@" ############################################################################### 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 @@ -193,8 +193,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_GLBITMAP],[Define this if glBitmap exists.]) - AH_TEMPLATE([HAVE_XSHM_EXTENSION], [Define this if you have the X Shared Memory Extension.]) @@ -316,6 +314,9 @@ AH_TEMPLATE([GETTIMEOFDAY_TWO_ARGS], AH_TEMPLATE([XPointer], [Define this to void* if you're using X11R4 or earlier.]) +AH_TEMPLATE([HAVE_PTHREAD], + [Define this if your system supports POSIX threads.]) + # 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. @@ -331,13 +332,52 @@ for d in driver utils hacks hacks/glx ; do fi done +############################################################################### +# +# Query AX_PTHREAD, and figure out which compiler gets used. +# +############################################################################### + +AC_DEFUN([AC_PROG_CC_PTHREAD], + [have_pthread=no + with_pthread_req=unspecified + + # AX_PTHREAD is from the GNU Autoconf Archive. + # https://savannah.gnu.org/projects/autoconf-archive/ + m4_include(ax_pthread.m4) + + # This affects CC, LIBS, and CFLAGS, instead of defining new variables. + + AC_ARG_WITH([pthread], + [ --with-pthread Enables POSIX threads, for SMP support.], + [with_pthread="$withval"; with_pthread_req="$withval"], + [with_pthread=yes]) + + if test "$with_pthread" = yes; then + # AX_PTHREAD might want a different compiler. + AX_PTHREAD( + [if test "$CC" = "$PTHREAD_CC" -o -z "$ac_original_cc"; then + have_pthread=yes + else + ac_prog_cc_no_pthread=yes + fi + ]) + + if test "$have_pthread" = yes; then + AC_DEFINE([HAVE_PTHREAD]) + CC=$PTHREAD_CC + fi + fi +]) + + ############################################################################### # # Function to figure out how to run the compiler. # ############################################################################### -AC_DEFUN(AC_PROG_CC_ANSI, +AC_DEFUN([AC_PROG_CC_ANSI], [AC_REQUIRE([AC_PROG_CC]) if test -z "$GCC"; then @@ -408,7 +448,7 @@ AC_DEFUN(AC_PROG_CC_ANSI, # ############################################################################### -AC_DEFUN(AC_CHECK_GCC_ARG, +AC_DEFUN([AC_CHECK_GCC_ARG], [if test -n "$GCC"; then AC_CACHE_CHECK([whether gcc accepts [$2]], ac_cv_gcc_accepts_[$1], @@ -425,16 +465,16 @@ AC_DEFUN(AC_CHECK_GCC_ARG, fi ]) -AC_DEFUN(AC_NO_LONG_STRING_WARNINGS, +AC_DEFUN([AC_NO_LONG_STRING_WARNINGS], [AC_CHECK_GCC_ARG(no_overlength, -Wno-overlength-strings)]) -AC_DEFUN(AC_NO_MISPLACED_DECLARATIONS, +AC_DEFUN([AC_NO_MISPLACED_DECLARATIONS], [AC_CHECK_GCC_ARG(no_decl_after, -Wdeclaration-after-statement)]) # Need to disable Objective C extensions in ANSI C on MacOS X to work # around an Apple-specific gcc bug. # -AC_DEFUN(AC_NO_OBJECTIVE_C, +AC_DEFUN([AC_NO_OBJECTIVE_C], [AC_CHECK_GCC_ARG(no_cpp_precomp, -no-cpp-precomp)]) ############################################################################### @@ -457,7 +497,7 @@ AC_DEFUN(AC_NO_OBJECTIVE_C, # ############################################################################### -AC_DEFUN(AC_GCC_ACCEPTS_STD, [ +AC_DEFUN([AC_GCC_ACCEPTS_STD], [ case "$host" in *-darwin* ) # Fucking Apple let // comments sneak into OpenGL headers, so @@ -469,7 +509,7 @@ AC_DEFUN(AC_GCC_ACCEPTS_STD, [ esac ]) -AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE, +AC_DEFUN([AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE], [if test -n "$GCC"; then AC_GCC_ACCEPTS_STD AC_MSG_RESULT(Disabling C++ comments in ANSI C code.) @@ -508,7 +548,7 @@ AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE, # ############################################################################### -AC_DEFUN(AC_PROG_INSTALL_DIRS, +AC_DEFUN([AC_PROG_INSTALL_DIRS], [AC_CACHE_CHECK([whether "\${INSTALL} -d" creates intermediate directories], ac_cv_install_d_creates_dirs, [ac_cv_install_d_creates_dirs=no @@ -559,7 +599,7 @@ AC_DEFUN(AC_PROG_INSTALL_DIRS, # ############################################################################### -AC_DEFUN(AC_GETTIMEOFDAY_ARGS, +AC_DEFUN([AC_GETTIMEOFDAY_ARGS], [AC_MSG_CHECKING(how to call gettimeofday) AC_CACHE_VAL(ac_cv_gettimeofday_args, [AC_TRY_COMPILE([#include @@ -598,7 +638,7 @@ changequote(X,Y) perl_version_cmd='print $]' changequote([,]) -AC_DEFUN(AC_PROG_PERL, +AC_DEFUN([AC_PROG_PERL], [AC_PATH_PROGS(PERL, [perl5 perl],,) if test -z "$PERL" ; then PERL_VERSION=0 @@ -616,7 +656,7 @@ AC_DEFUN(AC_PROG_PERL, # ############################################################################### -AC_DEFUN(AC_DEMAND_BC, +AC_DEFUN([AC_DEMAND_BC], [ac_bc_result=`echo 6+9 | bc 2>/dev/null` AC_MSG_CHECKING([for bc]) if test "$ac_bc_result" = "15" ; then @@ -636,7 +676,7 @@ AC_DEFUN(AC_DEMAND_BC, # ############################################################################### -AC_DEFUN(AC_CHECK_ICMP, +AC_DEFUN([AC_CHECK_ICMP], [AC_CACHE_CHECK([for struct icmp], ac_cv_have_icmp, [AC_TRY_COMPILE([#include #include @@ -679,7 +719,7 @@ AC_DEFUN(AC_CHECK_ICMP, AC_DEFINE(HAVE_ICMP) fi]) -AC_DEFUN(AC_CHECK_ICMPHDR, +AC_DEFUN([AC_CHECK_ICMPHDR], [AC_CACHE_CHECK([for struct icmphdr], ac_cv_have_icmphdr, [AC_TRY_COMPILE([#include #include @@ -727,7 +767,7 @@ AC_DEFUN(AC_CHECK_ICMPHDR, # Try and find the app-defaults directory. # It sucks that autoconf doesn't do this already... # -AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[ +AC_DEFUN([AC_PATH_X_APP_DEFAULTS_XMKMF],[ rm -fr conftestdir if mkdir conftestdir; then cd conftestdir 2>/dev/null @@ -755,7 +795,7 @@ AC_ARG_WITH(x-app-defaults,[], [eval ac_x_app_defaults="$withval"]) -AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[ +AC_DEFUN([AC_PATH_X_APP_DEFAULTS_DIRECT],[ # Look for the directory under a standard set of common directories. # Check X11 before X11Rn because it's often a symlink to the current release. for ac_dir in \ @@ -814,7 +854,7 @@ AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[ done ]) -AC_DEFUN(AC_PATH_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 @@ -830,7 +870,7 @@ AC_DEFUN(AC_PATH_X_APP_DEFAULTS, eval ac_x_app_defaults="$ac_cv_x_app_defaults"]) -AC_DEFUN(AC_XPOINTER, +AC_DEFUN([AC_XPOINTER], [AC_CACHE_CHECK([for XPointer], ac_cv_xpointer, [AC_TRY_X_COMPILE([#include ], [XPointer foo = (XPointer) 0;], @@ -844,7 +884,7 @@ AC_DEFUN(AC_XPOINTER, # Random special-cases for X on certain pathological OSes. # You know who you are. # -AC_DEFUN(AC_X_RANDOM_PATHS, +AC_DEFUN([AC_X_RANDOM_PATHS], [case "$host" in *-hpux*) @@ -976,7 +1016,7 @@ AC_DEFUN(AC_X_RANDOM_PATHS, ;; esac]) -AC_DEFUN(AC_CHECK_GETIFADDRS, +AC_DEFUN([AC_CHECK_GETIFADDRS], [AC_CACHE_CHECK([for getifaddrs], ac_cv_have_getifaddrs, [AC_TRY_COMPILE([#include #include @@ -1001,7 +1041,7 @@ AC_DEFUN(AC_CHECK_GETIFADDRS, # Like AC_CHECK_HEADER, but it uses the already-computed -I directories. # -AC_DEFUN(AC_CHECK_X_HEADER, [ +AC_DEFUN([AC_CHECK_X_HEADER], [ ac_save_CPPFLAGS="$CPPFLAGS" if test \! -z "$includedir" ; then CPPFLAGS="$CPPFLAGS -I$includedir" @@ -1013,7 +1053,7 @@ AC_DEFUN(AC_CHECK_X_HEADER, [ # Like AC_EGREP_HEADER, but it uses the already-computed -I directories. # -AC_DEFUN(AC_EGREP_X_HEADER, [ +AC_DEFUN([AC_EGREP_X_HEADER], [ ac_save_CPPFLAGS="$CPPFLAGS" if test \! -z "$includedir" ; then CPPFLAGS="$CPPFLAGS -I$includedir" @@ -1025,7 +1065,7 @@ AC_DEFUN(AC_EGREP_X_HEADER, [ # Like AC_TRY_COMPILE, but it uses the already-computed -I directories. # -AC_DEFUN(AC_TRY_X_COMPILE, [ +AC_DEFUN([AC_TRY_X_COMPILE], [ ac_save_CPPFLAGS="$CPPFLAGS" if test \! -z "$includedir" ; then CPPFLAGS="$CPPFLAGS -I$includedir" @@ -1039,7 +1079,7 @@ AC_DEFUN(AC_TRY_X_COMPILE, [ # Like AC_CHECK_LIB, but it uses the already-computed -I and -L directories. # Use this sparingly; it probably doesn't work very well on X programs. # -AC_DEFUN(AC_CHECK_X_LIB, [ +AC_DEFUN([AC_CHECK_X_LIB], [ ac_save_CPPFLAGS="$CPPFLAGS" ac_save_LDFLAGS="$LDFLAGS" # ac_save_LIBS="$LIBS" @@ -1067,7 +1107,7 @@ AC_DEFUN(AC_CHECK_X_LIB, [ # Like AC_TRY_RUN, but it uses the already-computed -I directories. # (But not the -L directories!) # -AC_DEFUN(AC_TRY_X_RUN, [ +AC_DEFUN([AC_TRY_X_RUN], [ ac_save_CPPFLAGS="$CPPFLAGS" if test \! -z "$includedir" ; then CPPFLAGS="$CPPFLAGS -I$includedir" @@ -1094,7 +1134,7 @@ AC_DEFUN(AC_TRY_X_RUN, [ # /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS # as appropriate. # -AC_DEFUN(HANDLE_X_PATH_ARG, [ +AC_DEFUN([HANDLE_X_PATH_ARG], [ case "$[$1]" in yes) ;; no) ;; @@ -1150,6 +1190,11 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # random compiler setup AC_CANONICAL_HOST + +ac_original_cc=$CC +AC_PROG_CC +AC_PROG_CC_PTHREAD # Needs ac_original_cc. + AC_PROG_CC_ANSI AC_NO_LONG_STRING_WARNINGS AC_NO_MISPLACED_DECLARATIONS @@ -1225,7 +1270,7 @@ AC_MSG_RESULT($ac_macosx) # ############################################################################### -AC_PROG_INTLTOOL +IT_PROG_INTLTOOL GETTEXT_PACKAGE=xscreensaver AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [This is the name of the gettext package to use.]) @@ -2564,6 +2609,9 @@ pkg_check_version() { 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 @@ -2614,6 +2662,15 @@ if test "$with_gtk" = yes; then 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="" + fi + fi fi @@ -2889,6 +2946,9 @@ if test "$with_gl" = yes; then # So if the Mesa headers exist, and -lpthread exists, then always # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.) # + # Oftentimes, AX_PTHREAD will bring in -lpthread as well; but that ends + # up before -l(Mesa)GL, instead of after where it would belong. + # if test "$ac_have_mesa_gl" = yes; then AC_CHECK_LIB(pthread, pthread_create, [GL_LIBS="-lpthread"], [],) fi @@ -3134,18 +3194,6 @@ elif test "$with_gles" != no; then 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. @@ -3891,6 +3939,9 @@ AC_SUBST(DEFAULT_IMAGES_P) 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) @@ -3917,8 +3968,6 @@ AC_SUBST(GL_KLUDGE) 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) @@ -3941,6 +3990,7 @@ AC_OUTPUT(Makefile utils/Makefile driver/Makefile driver/xscreensaver.pam + driver/xscreensaver-demo.glade2 hacks/Makefile hacks/glx/Makefile po/Makefile.in @@ -4002,6 +4052,18 @@ noteL() { } +# ac_prog_cc_no_pthread normally only happens on AIX, because according +# to AX_PTHREAD, AIX needs CC=xlc_r or CC=cc_r to do threads. +# If CC is specified, it takes precedence over --with-pthread. +if test "$ac_prog_cc_no_pthread" ; then + warnL "You requested $ac_original_cc for the C compiler, but it doesn't" + warn2 "support POSIX threads." + echo "" + warn2 "If you have multiple CPU cores, try CC=$PTHREAD_CC." +elif test "$with_pthread_req" = yes -a "$have_pthread" = no ; then + warn 'POSIX threads were requested, but were not found.' +fi + if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then warn 'The SGI saver extension was requested, but was not found.' fi @@ -4266,10 +4328,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' - warn2 "re-running configure. If your vendor doesn't ship" - warn2 'their own implementation of OpenGL, you can get a free' - warn2 'version at . For general OpenGL' - warn2 'info, see .' + warn2 're-running configure.' fi @@ -4289,7 +4348,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 'was not.' + warn2 'library was not.' fi if test "$gle_halfassed" = yes ; then @@ -4304,8 +4363,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 'GLE library at . For general' - warn2 'OpenGL info, see .' + warn2 'GLE library at ' fi fi @@ -4440,7 +4498,7 @@ if test "$do_dir_warning" = yes; then 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,"