1# Process this file with autoconf to produce a configure script. 2AC_INIT([gliv], esyscmd([echo -n $(head -n 1 NEWS)]), [guichaz@gmail.com]) 3AC_CONFIG_SRCDIR([src/main.c]) 4AM_INIT_AUTOMAKE([foreign]) 5AM_CONFIG_HEADER([config.h]) 6AC_LANG([C]) 7AC_GNU_SOURCE 8 9 10# We check this before AC_PROG_CC fills blank CFLAGS with "-g -O2". 11if test "x$CFLAGS" = "x"; then 12 DEFAULT_CFLAGS=yes 13else 14 DEFAULT_CFLAGS=no 15fi 16 17# Checks for programs. 18AC_PROG_CC 19AC_PROG_RANLIB 20 21 22# Default CFLAGS. 23if test "x$GCC" = "xyes" && test "$DEFAULT_CFLAGS" = "yes"; then 24 CFLAGS="-Wall -O2 -fomit-frame-pointer -ffast-math" 25fi 26CFLAGS="$CFLAGS -I${srcdir}/../lib" 27 28# Checks for LFS flags, we may not handle big files, but it doesn't hurt. 29AC_SYS_LARGEFILE 30 31 32AC_DEFUN([CHECK_MATH], 33 [OLD_CFLAGS="$CFLAGS"] 34 [CFLAGS="$CFLAGS -w"] 35 [AC_SEARCH_LIBS([$1], 36 [m mx], 37 [AC_DEFINE(AS_TR_CPP([HAVE_$1]), 38 1, 39 [Define to 1 if you have the `$1' function.])])] 40 [CFLAGS="$OLD_CFLAGS"]) 41 42CHECK_MATH([atan2]) 43 44 45# Checks for hypot (SVID 3, BSD 4.3). 46# The replacement is #defined in the source. 47CHECK_MATH([hypot]) 48 49 50# Checks for math functions using floats. 51# Using floats instead of doubles makes gcc use SSE with -msse 52# The replacement are #defined in math_floats.h. 53CHECK_MATH([sqrtf]) 54CHECK_MATH([hypotf]) 55CHECK_MATH([atan2f]) 56CHECK_MATH([powf]) 57CHECK_MATH([ceilf]) 58CHECK_MATH([cosf]) 59CHECK_MATH([sinf]) 60CHECK_MATH([acosf]) 61CHECK_MATH([fmodf]) 62CHECK_MATH([fabsf]) 63CHECK_MATH([log10f]) 64 65# If we don't have ftello, we'll use ftell. 66AC_CHECK_FUNCS([ftello]) 67 68# If we don't have fseeko, we'll use fseek. 69AC_CHECK_FUNCS([fseeko]) 70 71 72# Checks for getdelim, this is a GNU extension. 73CFLAGS="$CFLAGS -D_GNU_SOURCE" 74AC_CHECK_FUNCS([getdelim], [ 75 have_getdelim="yes" 76 ], [ 77 have_getdelim="no" 78]) 79 80AM_CONDITIONAL([GETDELIM], [test "$have_getdelim" = "yes"]) 81 82 83# Checks for getopt_long, another GNU extension. 84AC_CHECK_FUNCS([getopt_long], [ 85 have_getopt_long="yes" 86 ], [ 87 have_getopt_long="no" 88]) 89 90AM_CONDITIONAL([GETOPT_LONG], [test "$have_getopt_long" = "yes"]) 91 92 93if test "$have_getdelim" = "no" || 94 test "$have_getopt_long" = "no"; then 95 AM_CONDITIONAL([NEED_REPLACEMENTS], [true]) 96else 97 AM_CONDITIONAL([NEED_REPLACEMENTS], [false]) 98fi 99 100 101# Checks for flavours of varargs macros (borrowed from glib-2) 102# ISO C99 103AC_MSG_CHECKING([for ISO C99 varargs macros]) 104 105AC_TRY_COMPILE([],[ 106 int a(int p1, int p2, int p3); 107 #define call_a(...) a(1,__VA_ARGS__) 108 call_a(2,3); 109 ], [have_iso_c_varargs=yes], [have_iso_c_varargs=no]) 110 111AC_MSG_RESULT([$have_iso_c_varargs]) 112 113if test $have_iso_c_varargs = yes; then 114 iso_c_varargs=1 115else 116 iso_c_varargs=0 117fi 118 119AC_DEFINE_UNQUOTED([HAVE_ISO_C_VARARGS], [$iso_c_varargs], 120 [ISO C99 varargs macros in C]) 121 122if test $have_iso_c_varargs = no; then 123 AC_MSG_WARN([No ISO C99 variadic macros]) 124fi 125 126# 32bit or 64bit ? 127AC_CHECK_SIZEOF([unsigned long]) 128 129# Checks for X. 130AC_PATH_XTRA 131CFLAGS="$X_CFLAGS $CFLAGS" 132LDFLAGS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS $LDFLAGS" 133 134# Checks for GtkGLExt. 135PKG_CHECK_MODULES(GTKGLEXT, [gtkglext-1.0 >= 0.7.0]) 136CFLAGS="$GTKGLEXT_CFLAGS $CFLAGS" 137LDFLAGS="$GTKGLEXT_LIBS $LDFLAGS" 138GTKGL_VERSION="$($PKG_CONFIG --modversion gtkglext-1.0)" 139 140# Checks for OpenGL. 141AC_TRY_LINK([#include "GL/gl.h"], 142 [glBegin(GL_QUADS);], 143 [ogl="yes"], 144 [ogl="no"]) 145 146if test "x$ogl" = "xno"; then 147 AC_MSG_NOTICE([maybe libGL requires libpthread...]) 148 OLD_LDFLAGS="$LDFLAGS" 149 LDFLAGS="$LDFLAGS -lpthread" 150 AC_TRY_LINK([#include "GL/gl.h"], 151 [glBegin(GL_QUADS);], 152 [], 153 AC_MSG_ERROR([cannot use -lGL])) 154fi 155 156# Checks for gtk. 157AM_PATH_GTK_2_0([2.6.0], [ 158 CFLAGS="$GTK_CFLAGS $CFLAGS" 159 LDFLAGS="$GTK_LIBS $LDFLAGS" 160 GTK_VERSION="$($PKG_CONFIG --modversion gtk+-2.0)" 161 ], [exit 1], [gthread]) 162 163# I18n. 164ALL_LINGUAS=$(echo po/*.po | sed -e 's|\.po||g' -e 's|po/||g') 165AM_GNU_GETTEXT_VERSION 166AM_GNU_GETTEXT 167CFLAGS="$CFLAGS -I../${srcdir}/intl" 168LIBS="$LIBS $LIBINTL" 169 170 171AC_CONFIG_FILES([ intl/Makefile 172 Makefile 173 lib/Makefile 174 po/Makefile.in 175 tools/Makefile 176 tools/glade/Makefile 177 tools/glade/actions/Makefile 178 tools/glade/image_nr/Makefile 179 tools/glade/options/Makefile 180 man/Makefile 181 man/cs/Makefile 182 man/de/Makefile 183 man/en/Makefile 184 man/fr/Makefile 185 man/ru/Makefile 186 src/Makefile 187 gliv.spec 188]) 189 190AC_OUTPUT 191 192echo 193echo "Using GTK+ $GTK_VERSION with GtkGLExt $GTKGL_VERSION" 194echo 195