From: curt Date: Tue, 27 Aug 2002 21:44:39 +0000 (+0000) Subject: Modernize the autoconf scripts a bit. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=8c4ee69aeba5b8f0d1620be6a9e96f258604f9da;p=simgear.git Modernize the autoconf scripts a bit. --- diff --git a/acconfig.h b/acconfig.h deleted file mode 100644 index c81a4a8a..00000000 --- a/acconfig.h +++ /dev/null @@ -1,327 +0,0 @@ -/* acconfig.h - This file is in the public domain. - - Descriptive text for the C preprocessor macros that - the distributed Autoconf macros can define. - No software package will use all of them; autoheader copies the ones - your configure.in uses into your configuration header file templates. - - The entries are in sort -df order: alphabetical, case insensitive, - ignoring punctuation (such as underscores). Although this order - can split up related entries, it makes it easier to check whether - a given entry is in the file. - - Leave the following blank line there!! Autoheader needs it. */ - - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -#undef _ALL_SOURCE -#endif - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define if type char is unsigned and you are not using gcc. */ -#ifndef __CHAR_UNSIGNED__ -#undef __CHAR_UNSIGNED__ -#endif - -/* Define if the closedir function returns void instead of int. */ -#undef CLOSEDIR_VOID - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define for DGUX with . */ -#undef DGUX - -/* Define if you have . */ -#undef DIRENT - -/* Define to enable audio support */ -#undef ENABLE_AUDIO_SUPPORT - -/* Define to enable GLUT joystick support (limited to 3 axes) */ -#undef ENABLE_GLUT_JOYSTICK - -/* Define to enable plib joystick support (recommended) */ -#undef ENABLE_PLIB_JOYSTICK - -/* Define to eliminate all trace of debugging messages such as for a - release build */ -#undef FG_NDEBUG - -/* Define to include Oliver's networking support */ -#undef FG_NETWORK_OLK - -/* Define to avoid Christian's new weather code */ -#undef FG_OLD_WEATHER - -/* Define if we are building FGFS (should always be defined) */ -#undef FGFS - -/* Define to enable 3dfx/glide render in a window hack under unix. - This probably won't work under windows. */ -#undef XMESA -#undef FX - -/* Define to the type of elements in the array set by `getgroups'. - Usually this is either `int' or `gid_t'. */ -#undef GETGROUPS_T - -/* Define if the `getloadavg' function needs to be run setuid or setgid. */ -#undef GETLOADAVG_PRIVILEGED - -/* Define if the `getpgrp' function takes no argument. */ -#undef GETPGRP_VOID - -/* Define to `int' if doesn't define. */ -#undef gid_t - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you external variables daylight. */ -#undef HAVE_DAYLIGHT - -/* Define if you don't have vprintf but do have _doprnt. */ -#undef HAVE_DOPRNT - -/* Define if your system has a working fnmatch function. */ -#undef HAVE_FNMATCH - -/* Define if your system has its own `getloadavg' function. */ -#undef HAVE_GETLOADAVG - -/* Define if you have getrusage() */ -#undef HAVE_GETRUSAGE - -/* Define if you have the getmntent function. */ -#undef HAVE_GETMNTENT - -/* Define if you have the gpc library and headers installed. */ -#undef HAVE_GPC_H - -/* Define if the `long double' type works. */ -#undef HAVE_LONG_DOUBLE - -/* Define if you support file names longer than 14 characters. */ -#undef HAVE_LONG_FILE_NAMES - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define if system calls automatically restart after interruption - by a signal. */ -#undef HAVE_RESTARTABLE_SYSCALLS - -/* Define if you have rint() which rounds to closest int but returns - result as a double data type. */ -#undef HAVE_RINT - -/* Define if your struct stat has st_blksize. */ -#undef HAVE_ST_BLKSIZE - -/* Define if your struct stat has st_blocks. */ -#undef HAVE_ST_BLOCKS - -/* Define if you have the strcoll function and it is properly defined. */ -#undef HAVE_STRCOLL - -/* Define if your struct stat has st_rdev. */ -#undef HAVE_ST_RDEV - -/* Define if you have the stdint.h include. */ -#undef HAVE_STDINT_H - -/* Define if you have the strftime function. */ -#undef HAVE_STRFTIME - -/* Define if you have */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define if you have timegm() */ -#undef HAVE_TIMEGM - -/* Define if you external variables timezone. */ -#undef HAVE_TIMEZONE - -/* Define if your struct tm has tm_zone. */ -#undef HAVE_TM_ZONE - -/* Define if you don't have tm_zone but do have the external array - tzname. */ -#undef HAVE_TZNAME - -/* Define if you have . */ -#undef HAVE_UNISTD_H - -/* Define if utime(file, NULL) sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL - -/* Define if you have . */ -#undef HAVE_VFORK_H - -/* Define if you have the vprintf function. */ -#undef HAVE_VPRINTF - -/* Define if you have the wait3 system call. */ -#undef HAVE_WAIT3 - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define if int is 16 bits instead of 32. */ -#undef INT_16_BITS - -/* Define if long int is 64 bits. */ -#undef LONG_64_BITS - -/* Define if major, minor, and makedev are declared in . */ -#undef MAJOR_IN_MKDEV - -/* Define if major, minor, and makedev are declared in . */ -#undef MAJOR_IN_SYSMACROS - -/* Define if on MINIX. */ -#undef _MINIX - -/* Define to `int' if doesn't define. */ -#undef mode_t - -/* Define if you don't have , but have . */ -#undef NDIR - -/* Define if you have , and doesn't declare the - mem* functions. */ -#undef NEED_MEMORY_H - -/* Define if your struct nlist has an n_un member. */ -#undef NLIST_NAME_UNION - -/* Define if you have . */ -#undef NLIST_STRUCT - -/* Define if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define to package name */ -#undef PACKAGE - -/* Define to `int' if doesn't define. */ -#undef pid_t - -/* Define if the system does not provide POSIX.1 features except - with this defined. */ -#undef _POSIX_1_SOURCE - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define if the `setpgrp' function takes no argument. */ -#undef SETPGRP_VOID - -/* Define if the setvbuf function takes the buffering type as its second - argument and the buffer pointer as the third, as on System V - before release 3. */ -#undef SETVBUF_REVERSED - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define on System V Release 4. */ -#undef SVR4 - -/* Define if you don't have , but have . */ -#undef SYSDIR - -/* Define if you don't have , but have . */ -#undef SYSNDIR - -/* Define if `sys_siglist' is declared by . */ -#undef SYS_SIGLIST_DECLARED - -/* Define if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define if your declares struct tm. */ -#undef TM_IN_SYS_TIME - -/* Define to `int' if doesn't define. */ -#undef uid_t - -/* Define for Encore UMAX. */ -#undef UMAX - -/* Define for Encore UMAX 4.3 that has - instead of . */ -#undef UMAX4_3 - -/* Define if you do not have , index, bzero, etc.. */ -#undef USG - -/* Define to version number */ -#undef VERSION - -/* Define vfork as fork if vfork does not work. */ -#undef vfork - -/* Define if the closedir function returns void instead of int. */ -#undef VOID_CLOSEDIR - -/* Define if compiling on a Winbloze (95, NT, etc.) platform */ -#undef WIN32 - -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define if the X Window System is missing or not being used. */ -#undef X_DISPLAY_MISSING - -/* Define if lex declares yytext as a char * by default, not a char[]. */ -#undef YYTEXT_POINTER - - -/* Leave that blank line there!! Autoheader needs it. - If you're adding to this file, keep in mind: - The entries are in sort -df order: alphabetical, case insensitive, - ignoring punctuation (such as underscores). */ - diff --git a/configure.ac b/configure.ac new file mode 100644 index 00000000..3fdc71ed --- /dev/null +++ b/configure.ac @@ -0,0 +1,385 @@ +dnl Process this file with aclocal ; automake -a ; autoconf to produce a +dnl working configure script. +dnl +dnl $Id$ + +AC_INIT(simgear/bucket/newbucket.cxx) + +# Require at least automake 2.53 +AC_PREREQ(2.53) + +dnl Initialize the automake stuff +AM_INIT_AUTOMAKE(SimGear, 0.0.19pre1) + +dnl Specify KAI C++ compiler and flags. +dnl Borrowed with slight modification from blitz distribution. +AC_ARG_WITH(cxx, + [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)], + [case "$withval" in + KCC*) # KAI C++ http://www.kai.com/ + echo "Configuring for KAI C++" + AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings") + CXX_OPTIMIZE_FLAGS=="+K3 -O3" + CXX_DEBUG_FLAGS="-g +K0" + ;; + esac +]) + +echo CXX = $CXX +echo CC = $CC + +dnl Checks for programs. +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CXX +AC_PROG_RANLIB +AC_PROG_INSTALL +AC_PROG_LN_S + +AR="ar" +OS=`uname -s` +if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then + if test "$CXX" = "CC"; then + AR="CC -ar" + AC_SUBST(AR) + fi +fi + +if echo $includedir | egrep "simgear$" > /dev/null; then + echo "includedir is" $includedir "libdir is" $libdir +else + includedir="${includedir}/simgear" + echo "includedir changed to" $includedir "libdir is" $libdir +fi + +# Determine version of automake ... important because of +# incompatibilities between versions +AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\-p[[0-9]]$//' | sed -e 's/\.//'` +AM_CONDITIONAL(ANCIENT_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 14) +AM_CONDITIONAL(OLD_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 15) + +# set logging default value +# with_logging=yes +AC_ARG_WITH(logging, [ --with-logging Include logging output (default)]) +if test "x$with_logging" = "xno" ; then + AC_DEFINE([FG_NDEBUG], 1, [Define for no logging output]) +fi + +# Specify if we want to build with Norman's jpeg image server support. +# This requires libjpeg to be installed and available. +# Default to with_jpeg_server=no +JPEGLIB='' +AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code]) +if test "x$with_jpeg_factory" = "xyes" ; then + echo "Building with Norman's jpeg image factory support" + AC_CHECK_LIB(jpeg, jpeg_start_compress) + if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then + echo + echo "In order to build the jpeg factory code you need libjpeg installed." + echo "otherwise please configure with the --with-jpeg-sever=no option" + echo + echo "libjpeg is available at :" + echo " ftp://ftp.uu.net in the directory graphics/jpeg" + exit 1 + fi +else + echo "Building without Norman's jpeg image server support" +fi +AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes") + + +dnl Check for MS Windows environment +AC_CHECK_HEADER(windows.h) + +AC_EGREP_CPP(yes, +[#ifdef __MINGW32__ + yes + #endif +],is_mingw=yes, is_mingw=no) + +echo "IS_MINGW = $is_mingw" +AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes") + +AC_EGREP_CPP(yes, +[#ifdef __CYGWIN__ + yes + #endif +],is_cygwin=yes, is_cygwin=no) + +echo "IS_CYGWIN = $is_cygwin" +AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes") + +if test "x$HOSTTYPE" != "xmacintosh" -a "x$is_mingw" != "xyes"; then + dnl extra library and include directories + EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6" + + if test -d /opt/X11R6 ; then + EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6" + fi +fi + +wi_EXTRA_DIRS(no, ${EXTRA_DIRS}) + +dnl Using AM_CONDITIONAL is a step out of the protected little +dnl automake fold so it is potentially dangerous. But, we are +dnl beginning to run into cases where the standard checks are not +dnl enough. AM_CONDITIONALS are then referenced to conditionally +dnl build a Makefile.in from a Makefile.am which lets us define custom +dnl includes, compile alternative source files, etc. + +dnl X11 might be installed on Mac OS X, don't want to use it if it is. +if test "x$HOSTTYPE" != "xmacintosh" ; then + dnl Check for X11 (fancy) + AC_PATH_XTRA +fi + +dnl Checks for libraries. + +null_LIBS="$LIBS" + +AC_CHECK_LIB(m, cos) + +base_LIBS="$LIBS" + +dnl Thread related checks +AC_CHECK_LIB(pthread, pthread_exit) +AC_CHECK_HEADER(pthread.h) +if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then + CXXFLAGS="$CXXFLAGS -D_REENTRANT" + CFLAGS="$CFLAGS -D_REENTRANT" +fi +AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes") + +AC_CHECK_LIB(socket, socket) + +dnl X11 might be installed, but we don't want to use it for OSX -dw- +if test "x$HOSTTYPE" != "xmacintosh" ; then + AC_CHECK_LIB(X11, XCreateWindow) + AC_CHECK_LIB(Xext, XShmCreateImage) + AC_CHECK_LIB(Xi, XGetExtensionVersion) + AC_CHECK_LIB(ICE, IceOpenConnection) + AC_CHECK_LIB(SM, SmcOpenConnection) + AC_CHECK_LIB(Xt, XtMalloc) + AC_CHECK_LIB(Xmu, XmuLookupStandardColormap) +fi + +dnl check for OpenGL related libraries + +if test "x$HOSTTYPE" = "xmacintosh" ; then + dnl Macintosh OSX + LIBS="$LIBS -framework OpenGL -framework GLUT" +elif test "x$ac_cv_header_windows_h" != "xyes" ; then + dnl Reasonable stuff for X-Windows based machines + + AC_CHECK_LIB(GLcore, glNewList) + if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then + dnl if no GLcore, check for GL + AC_CHECK_LIB(GL, glNewList) + if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then + dnl if no GL, check for MesaGL + AC_CHECK_LIB(MesaGL, glNewList) + fi + else + dnl if GLcore found, then also check for GL + AC_CHECK_LIB(GL, glXCreateContext) + fi + + dnl if using mesa, check for xmesa.h + if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then + AC_CHECK_HEADER(GL/fxmesa.h) + if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then + AC_DEFINE([XMESA], 1, [Define for fxmesa]) + AC_DEFINE([FX], 1, [Define for fxmesa]) + fi + fi + + AC_CHECK_LIB(GLU, gluLookAt) + if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then + dnl if no GLU, check for MesaGLU + AC_CHECK_LIB(MesaGLU, gluLookAt) + fi + + dnl check for glut + AC_CHECK_LIB(glut, glutGetModifiers) + + dnl test for glutGameModeString, but avoid adding glut a second time into + dnl the list of libraries + save_LIBS="$LIBS" + AC_CHECK_LIB(glut, glutGameModeString) + LIBS="$save_LIBS" +else + dnl Win32 libs + + echo Win32 specific hacks... + AC_DEFINE([WIN32], 1, [Define for Win32 platforms]) + + dnl force a failed check since we will be building under windoze + AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes") + + dnl just define these to true and hope for the best + ac_cv_lib_glut_glutGetModifiers="yes" + ac_cv_lib_glut_glutGameModeString="yes" + + if test "x$with_sgi_opengl" = "xyes" ; then + echo "Building with glut.dll, glu.dll, and opengl.dll" + WIN32_GLUT=glut + WIN32_GLU=glu + WIN32_OPENGL=opengl + else + echo "Building with glut32.dll, glu32.dll, and opengl32.dll" + WIN32_GLUT=glut32 + WIN32_GLU=glu32 + WIN32_OPENGL=opengl32 + fi + + LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}" + LIBS="$LIBS -luser32 -lgdi32" + if test "x$is_mingw" = "xyes" ; then + EXTRA_DIRS="${EXTRA_DIRS}" + fi + echo "Will link apps with $LIBS" +fi + +if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then + echo + echo "Unable to find the necessary OpenGL or GLUT libraries." + echo "See config.log for automated test details and results ..." + exit 1 +fi + +if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then + echo + echo "Your version of glut doesn't support game mode." + echo "You need to install the latest version of glut. If your" + echo "distribution doesn't provide a newer version, you can get the source" + echo "code from:" + echo + echo " http://reality.sgi.com/opengl/glut3/glut3.html" + exit 1 +fi + +opengl_LIBS="$LIBS" +LIBS="$base_LIBS" + +AC_SUBST(base_LIBS) +AC_SUBST(opengl_LIBS) + +AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" ) + +dnl Check for "plib" without which we cannot go on +AC_CHECK_HEADER(plib/pu.h) +if test "x$ac_cv_header_plib_pu_h" != "xyes"; then + echo + echo "You *must* have the plib library installed on your system to build" + echo "the FGFS simulator!" + echo + echo "Please see README.plib for more details." + echo + echo "configure aborted." + exit +fi + +AC_CHECK_HEADER(plib/ssgaLensFlare.h) +if test "x$ac_cv_header_plib_ssgaLensFlare_h" = "xyes"; then + AC_DEFINE([FG_CHEESY_LENS_FLARE], 1, [Define for cheesy lens flare effect]) +fi + +dnl Check for system installed metakit +AC_CHECK_HEADER(mk4.h) +if test "x$ac_cv_header_mk4_h" != "xyes"; then + echo + echo "Metakit not found, you will need to install this first." + echo "Please read the README.metakit for more information." + exit +fi + + +dnl Specify if we want logging (testing build) or not (release build) + +dnl Check for system installed zlib +AC_CHECK_HEADER(zlib.h) +if test "x$ac_cv_header_zlib_h" != "xyes"; then + echo + echo "zlib not found, you will need to install this first." + echo "Please read the README.zlib for more information." + exit +fi + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS( \ + fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \ + sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h ) + +if test "x$ac_cv_header_stdint_h" = "xyes"; then + AC_DEFINE([HAVE_STDINT_H], 1, [Define if stdint.h exists]) +fi + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T +AC_HEADER_TIME +AC_STRUCT_TM + +dnl Checks for library functions. +AC_TYPE_SIGNAL +AC_FUNC_VPRINTF +AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \ + random drand48 setitimer getitimer signal GetLocalTime rint getrusage ) + +AM_CONFIG_HEADER(simgear/simgear_config.h) + +AC_OUTPUT( \ + Makefile \ + SimGear.spec \ + src-libs/Makefile \ + simgear/Makefile \ + simgear/version.h \ + simgear/bucket/Makefile \ + simgear/debug/Makefile \ + simgear/ephemeris/Makefile \ + simgear/interpreter/Makefile \ + simgear/io/Makefile \ + simgear/magvar/Makefile \ + simgear/math/Makefile \ + simgear/metar/Makefile \ + simgear/misc/Makefile \ + simgear/route/Makefile \ + simgear/screen/Makefile \ + simgear/serial/Makefile \ + simgear/sky/Makefile \ + simgear/threads/Makefile \ + simgear/timing/Makefile \ + simgear/xgl/Makefile \ + simgear/xml/Makefile \ +) + +# AC_OUTPUT_COMMANDS([]) + +echo "" +echo "Configure Summary" +echo "=================" + +echo "Prefix: $prefix" + +if test "x$with_logging" != "x"; then + echo "Debug messages: $with_logging" +else + echo "Debug messages: yes" +fi + +echo -n "Automake version: ($AUTO_MAKE_VERSION) " +automake --version | head -1 + +if test "x$with_jpeg_factory" = "xyes"; then + echo "With JPEG Factory support" +else + echo "Without JPEG Factory support" +fi + +if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then + echo "Threads: pthread lib found." +else + echo "Threads: no threads (pthread lib not found.)" +fi diff --git a/configure.in b/configure.in deleted file mode 100644 index cf7769c8..00000000 --- a/configure.in +++ /dev/null @@ -1,380 +0,0 @@ -dnl Process this file with aclocal ; automake -a ; autoconf to produce a -dnl working configure script. -dnl -dnl $Id$ - -AC_INIT(simgear/bucket/newbucket.cxx) - -# Require at least automake 2.13 -AC_PREREQ(2.13) - -dnl Initialize the automake stuff -AM_INIT_AUTOMAKE(SimGear, 0.0.19pre1) - -dnl Specify KAI C++ compiler and flags. -dnl Borrowed with slight modification from blitz distribution. -AC_ARG_WITH(cxx, - [ --with-cxx=COMPILER[:name-flags] set options for COMPILER (KCC)], - [case "$withval" in - KCC*) # KAI C++ http://www.kai.com/ - echo "Configuring for KAI C++" - AC_SG_SET_COMPILER($withval,"KCC","--restrict --strict_warnings") - CXX_OPTIMIZE_FLAGS=="+K3 -O3" - CXX_DEBUG_FLAGS="-g +K0" - ;; - esac -]) - -echo CXX = $CXX -echo CC = $CC - -dnl Checks for programs. -AC_PROG_MAKE_SET -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CXX -AC_PROG_RANLIB -AC_PROG_INSTALL -AC_PROG_LN_S - -AR="ar" -OS=`uname -s` -if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then - if test "$CXX" = "CC"; then - AR="CC -ar" - AC_SUBST(AR) - fi -fi - -if echo $includedir | egrep "simgear$" > /dev/null; then - echo "includedir is" $includedir "libdir is" $libdir -else - includedir="${includedir}/simgear" - echo "includedir changed to" $includedir "libdir is" $libdir -fi - -# Determine version of automake ... important because of -# incompatibilities between versions -AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\-p[[0-9]]$//' | sed -e 's/\.//'` -AM_CONDITIONAL(ANCIENT_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 14) -AM_CONDITIONAL(OLD_AUTOMAKE, test $AUTO_MAKE_VERSION -lt 15) - -# set logging default value -# with_logging=yes -AC_ARG_WITH(logging, [ --with-logging Include logging output (default)]) -if test "x$with_logging" = "xno" ; then - AC_DEFINE(FG_NDEBUG) -fi - -# Specify if we want to build with Norman's jpeg image server support. -# This requires libjpeg to be installed and available. -# Default to with_jpeg_server=no -JPEGLIB='' -AC_ARG_WITH(jpeg_factory, [ --with-jpeg-factory Include Norman's jpeg image factory support code]) -if test "x$with_jpeg_factory" = "xyes" ; then - echo "Building with Norman's jpeg image factory support" - AC_CHECK_LIB(jpeg, jpeg_start_compress) - if test "x$ac_cv_lib_jpeg_jpeg_start_compress" != "xyes" ; then - echo - echo "In order to build the jpeg factory code you need libjpeg installed." - echo "otherwise please configure with the --with-jpeg-sever=no option" - echo - echo "libjpeg is available at :" - echo " ftp://ftp.uu.net in the directory graphics/jpeg" - exit 1 - fi -else - echo "Building without Norman's jpeg image server support" -fi -AM_CONDITIONAL(ENABLE_JPEG_SERVER, test "x$with_jpeg_factory" = "xyes") - - -dnl Check for MS Windows environment -AC_CHECK_HEADER(windows.h) - -AC_EGREP_CPP(yes, -[#ifdef __MINGW32__ - yes - #endif -],is_mingw=yes, is_mingw=no) - -echo "IS_MINGW = $is_mingw" -AM_CONDITIONAL(IS_MINGW, test "x$is_mingw" = "xyes") - -AC_EGREP_CPP(yes, -[#ifdef __CYGWIN__ - yes - #endif -],is_cygwin=yes, is_cygwin=no) - -echo "IS_CYGWIN = $is_cygwin" -AM_CONDITIONAL(IS_CYGWIN, test "x$is_cygwin" = "xyes") - -if test "x$HOSTTYPE" != "xmacintosh" -a "x$is_mingw" != "xyes"; then - dnl extra library and include directories - EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6" - - if test -d /opt/X11R6 ; then - EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6" - fi -fi - -wi_EXTRA_DIRS(no, ${EXTRA_DIRS}) - -dnl Using AM_CONDITIONAL is a step out of the protected little -dnl automake fold so it is potentially dangerous. But, we are -dnl beginning to run into cases where the standard checks are not -dnl enough. AM_CONDITIONALS are then referenced to conditionally -dnl build a Makefile.in from a Makefile.am which lets us define custom -dnl includes, compile alternative source files, etc. - -dnl X11 might be installed on Mac OS X, don't want to use it if it is. -if test "x$HOSTTYPE" != "xmacintosh" ; then - dnl Check for X11 (fancy) - AC_PATH_XTRA -fi - -dnl Checks for libraries. - -null_LIBS="$LIBS" - -AC_CHECK_LIB(m, cos) - -base_LIBS="$LIBS" - -dnl Thread related checks -AC_CHECK_LIB(pthread, pthread_exit) -AC_CHECK_HEADER(pthread.h) -if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then - CXXFLAGS="$CXXFLAGS -D_REENTRANT" - CFLAGS="$CFLAGS -D_REENTRANT" -fi -AM_CONDITIONAL(HAVE_THREADS, test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes") - -AC_CHECK_LIB(socket, socket) - -dnl X11 might be installed, but we don't want to use it for OSX -dw- -if test "x$HOSTTYPE" != "xmacintosh" ; then - AC_CHECK_LIB(X11, XCreateWindow) - AC_CHECK_LIB(Xext, XShmCreateImage) - AC_CHECK_LIB(Xi, XGetExtensionVersion) - AC_CHECK_LIB(ICE, IceOpenConnection) - AC_CHECK_LIB(SM, SmcOpenConnection) - AC_CHECK_LIB(Xt, XtMalloc) - AC_CHECK_LIB(Xmu, XmuLookupStandardColormap) -fi - -dnl check for OpenGL related libraries - -if test "x$HOSTTYPE" = "xmacintosh" ; then - dnl Macintosh OSX - LIBS="$LIBS -framework OpenGL -framework GLUT" -elif test "x$ac_cv_header_windows_h" != "xyes" ; then - dnl Reasonable stuff for X-Windows based machines - - AC_CHECK_LIB(GLcore, glNewList) - if test "x$ac_cv_lib_GLcore_glNewList" = "xno" ; then - dnl if no GLcore, check for GL - AC_CHECK_LIB(GL, glNewList) - if test "x$ac_cv_lib_GL_glNewList" = "xno" ; then - dnl if no GL, check for MesaGL - AC_CHECK_LIB(MesaGL, glNewList) - fi - else - dnl if GLcore found, then also check for GL - AC_CHECK_LIB(GL, glXCreateContext) - fi - - dnl if using mesa, check for xmesa.h - if test "x$ac_cv_lib_MesaGL_glNewList" = "xyes" ; then - AC_CHECK_HEADER(GL/fxmesa.h) - if test "x$ac_cv_header_GL_fxmesa_h" = "xyes"; then - AC_DEFINE(XMESA) - AC_DEFINE(FX) - fi - fi - - AC_CHECK_LIB(GLU, gluLookAt) - if test "x$ac_cv_lib_GLU_gluLookAt" = "xno" ; then - dnl if no GLU, check for MesaGLU - AC_CHECK_LIB(MesaGLU, gluLookAt) - fi - - dnl check for glut - AC_CHECK_LIB(glut, glutGetModifiers) - - dnl test for glutGameModeString, but avoid adding glut a second time into - dnl the list of libraries - save_LIBS="$LIBS" - AC_CHECK_LIB(glut, glutGameModeString) - LIBS="$save_LIBS" -else - dnl Win32 libs - - echo Win32 specific hacks... - AC_DEFINE(WIN32) - - dnl force a failed check since we will be building under windoze - AM_CONDITIONAL(ENABLE_XMESA_FX, test "no" = "yes") - - dnl just define these to true and hope for the best - ac_cv_lib_glut_glutGetModifiers="yes" - ac_cv_lib_glut_glutGameModeString="yes" - - if test "x$with_sgi_opengl" = "xyes" ; then - echo "Building with glut.dll, glu.dll, and opengl.dll" - WIN32_GLUT=glut - WIN32_GLU=glu - WIN32_OPENGL=opengl - else - echo "Building with glut32.dll, glu32.dll, and opengl32.dll" - WIN32_GLUT=glut32 - WIN32_GLU=glu32 - WIN32_OPENGL=opengl32 - fi - - LIBS="$LIBS -l${WIN32_GLUT} -l${WIN32_GLU} -l${WIN32_OPENGL}" - LIBS="$LIBS -luser32 -lgdi32" - if test "x$is_mingw" = "xyes" ; then - EXTRA_DIRS="${EXTRA_DIRS}" - fi - echo "Will link apps with $LIBS" -fi - -if test "x$ac_cv_lib_glut_glutGetModifiers" = "xno"; then - echo - echo "Unable to find the necessary OpenGL or GLUT libraries." - echo "See config.log for automated test details and results ..." - exit 1 -fi - -if test "x$ac_cv_lib_glut_glutGameModeString" = "xno"; then - echo - echo "Your version of glut doesn't support game mode." - echo "You need to install the latest version of glut. If your" - echo "distribution doesn't provide a newer version, you can get the source" - echo "code from:" - echo - echo " http://reality.sgi.com/opengl/glut3/glut3.html" - exit 1 -fi - -opengl_LIBS="$LIBS" -LIBS="$base_LIBS" - -AC_SUBST(base_LIBS) -AC_SUBST(opengl_LIBS) - -AM_CONDITIONAL(HAVE_XWINDOWS, test "x$ac_cv_lib_X11_XCreateWindow" = "xyes" ) - -dnl Check for "plib" without which we cannot go on -AC_CHECK_HEADER(plib/pu.h) -if test "x$ac_cv_header_plib_pu_h" != "xyes"; then - echo - echo "You *must* have the plib library installed on your system to build" - echo "the FGFS simulator!" - echo - echo "Please see README.plib for more details." - echo - echo "configure aborted." - exit -fi - -dnl Check for system installed metakit -AC_CHECK_HEADER(mk4.h) -if test "x$ac_cv_header_mk4_h" != "xyes"; then - echo - echo "Metakit not found, you will need to install this first." - echo "Please read the README.metakit for more information." - exit -fi - - -dnl Specify if we want logging (testing build) or not (release build) - -dnl Check for system installed zlib -AC_CHECK_HEADER(zlib.h) -if test "x$ac_cv_header_zlib_h" != "xyes"; then - echo - echo "zlib not found, you will need to install this first." - echo "Please read the README.zlib for more information." - exit -fi - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS( \ - fcntl.h getopt.h malloc.h memory.h stdint.h stdlib.h sys/param.h \ - sys/stat.h sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h ) - -if test "x$ac_cv_header_stdint_h" = "xyes"; then - AC_DEFINE(HAVE_STDINT_H) -fi - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T -AC_HEADER_TIME -AC_STRUCT_TM - -dnl Checks for library functions. -AC_TYPE_SIGNAL -AC_FUNC_VPRINTF -AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \ - random drand48 setitimer getitimer signal GetLocalTime rint getrusage ) - -AM_CONFIG_HEADER(simgear/simgear_config.h) - -AC_OUTPUT( \ - Makefile \ - SimGear.spec \ - src-libs/Makefile \ - simgear/Makefile \ - simgear/version.h \ - simgear/bucket/Makefile \ - simgear/debug/Makefile \ - simgear/ephemeris/Makefile \ - simgear/interpreter/Makefile \ - simgear/io/Makefile \ - simgear/magvar/Makefile \ - simgear/math/Makefile \ - simgear/metar/Makefile \ - simgear/misc/Makefile \ - simgear/route/Makefile \ - simgear/screen/Makefile \ - simgear/serial/Makefile \ - simgear/sky/Makefile \ - simgear/threads/Makefile \ - simgear/timing/Makefile \ - simgear/xgl/Makefile \ - simgear/xml/Makefile \ -) - -# AC_OUTPUT_COMMANDS([]) - -echo "" -echo "Configure Summary" -echo "=================" - -echo "Prefix: $prefix" - -if test "x$with_logging" != "x"; then - echo "Debug messages: $with_logging" -else - echo "Debug messages: yes" -fi - -echo -n "Automake version: ($AUTO_MAKE_VERSION) " -automake --version | head -1 - -if test "x$with_jpeg_factory" = "xyes"; then - echo "With JPEG Factory support" -else - echo "Without JPEG Factory support" -fi - -if test "x$ac_cv_lib_pthread_pthread_exit" = "xyes" -a "x$ac_cv_header_pthread_h" = "xyes"; then - echo "Threads: pthread lib found." -else - echo "Threads: no threads (pthread lib not found.)" -fi