X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=configure.in;h=03ceaa1a578a6ee74d9c28c38dc3c84e4d44215a;hb=220a43bf4607c46a28a78c43b6037886884bd98f;hp=2079f694ba0c727400c23bcab0cdcca0f1393075;hpb=82f410e9559fc33cb87515c0659d5f24115d1386;p=simgear.git diff --git a/configure.in b/configure.in index 2079f694..03ceaa1a 100644 --- a/configure.in +++ b/configure.in @@ -6,25 +6,56 @@ dnl $Id$ AC_INIT(simgear/bucket/newbucket.cxx) dnl Initialize the automake stuff -AM_INIT_AUTOMAKE(SimGear, 0.0.4) +AM_INIT_AUTOMAKE(SimGear, 0.0.17) + +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 becuase 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) - -dnl Specify if we want logging (testing build) or not (release build) # set logging default value # with_logging=yes AC_ARG_WITH(logging, [ --with-logging Include logging output (default)]) @@ -37,24 +68,28 @@ AC_ARG_WITH(efence, [ --with-efence Specify if we are building with " if test "x$with_efence" = "xyes" ; then echo "Building with efence" - LIBS= "$LIBS -lefence" + LIBS="$LIBS -lefence" fi dnl Check for MS Windows environment AC_CHECK_HEADER(windows.h) -dnl extra library and include directories -EXTRA_DIRS="/usr/local /usr/local/plib /usr/X11R6" +if test "$HOSTTYPE" != "macintosh" ; 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 + if test -d /opt/X11R6 ; then + EXTRA_DIRS="$EXTRA_DIRS /opt/X11R6" + fi -if test "x$ac_cv_header_windows_h" = "xyes" ; then - EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32" -# elif test `uname -s` = "SunOS" ; then -# EXTRA_DIRS="${EXTRA_DIRS} `pwd`/SunOS" + if test "x$ac_cv_header_windows_h" = "xyes" ; then + if test -d /usr/mingw/usr ; then + EXTRA_DIRS="$EXTRA_DIRS /usr/mingw/usr" + fi + EXTRA_DIRS="${EXTRA_DIRS} `pwd`/Win32" + fi fi + wi_EXTRA_DIRS(no, ${EXTRA_DIRS}) dnl Using AM_CONDITIONAL is a step out of the protected little @@ -67,8 +102,11 @@ dnl includes, compile alternative source files, etc. dnl Enable serial support on Unix type systems AM_CONDITIONAL(ENABLE_UNIX_SERIAL, true) -dnl Check for X11 (fancy) -AC_PATH_XTRA +dnl X11 might be installed on Mac OS X, don't want to use it if it is. +if test "$HOSTTYPE" != "macintosh" ; then + dnl Check for X11 (fancy) + AC_PATH_XTRA +fi dnl Checks for libraries. @@ -78,18 +116,34 @@ 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) -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) + +dnl X11 might be installed, but we don't want to use it for OSX -dw- +if test "$HOSTTYPE" != "macintosh" ; 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$ac_cv_header_windows_h" != "xyes" ; then +if test "$HOSTTYPE" = "macintosh" ; then + dnl Macintosh OSX + LIBS="$LIBS -framework OpenGL -framework GLUT" +elif test "x$ac_cv_header_windows_h" != "xyes" ; then dnl Reasonable stuff for non-windoze variants ... :-) AC_CHECK_LIB(GLcore, glNewList) @@ -196,6 +250,27 @@ if test "x$ac_cv_header_plib_pu_h" != "xyes"; then exit fi +# dnl Check for system installed gdbm +# AC_CHECK_HEADER(gdbm.h) +# if test "x$ac_cv_header_gdbm_h" = "xyes"; then +# AC_DEFINE( HAVE_GDBM ) +# else +# echo "no gdbm found, configuring and building." +# fi +# AM_CONDITIONAL(HAVE_GDBM, test "x$ac_cv_header_gdbm_h" = "xyes" ) + +dnl Check for system installed metakit +AC_CHECK_HEADER(mk4.h) +if test "x$ac_cv_header_mk4_h" != "xyes"; then + echo "no metakit found, configuring and building." + # Run configure in the metakit subdir + AC_CONFIG_SUBDIRS( simgear/metakit/unix ) +fi +AM_CONDITIONAL(HAVE_METAKIT, test "x$ac_cv_header_mk4_h" = "xyes" ) + + +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 @@ -208,8 +283,12 @@ AM_CONDITIONAL(HAVE_ZLIB, test "x$ac_cv_header_zlib_h" = "xyes" ) dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS( \ - fcntl.h getopt.h malloc.h memory.h stdlib.h sys/param.h sys/stat.h \ - sys/time.h sys/timeb.h unistd.h windows.h winbase.h values.h ) + 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 @@ -223,24 +302,37 @@ AC_FUNC_VPRINTF AC_CHECK_FUNCS( ftime gettimeofday timegm memcpy bcopy mktime strstr rand \ random setitimer getitimer signal GetLocalTime rint getrusage ) -AM_CONFIG_HEADER(simgear/include/config.h) +AM_CONFIG_HEADER(simgear/simgear_config.h) AC_OUTPUT( \ Makefile \ + SimGear.spec \ simgear/Makefile \ - simgear/include/Makefile \ - simgear/include/version.h \ + simgear/version.h \ simgear/bucket/Makefile \ simgear/debug/Makefile \ + simgear/ephemeris/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 \ simgear/zlib/Makefile \ ) -# AC_OUTPUT_COMMANDS([./mksymlinks.sh]) +AC_OUTPUT_COMMANDS([ +# if test "x$ac_cv_header_windows_h" = "xyes" ; then +# cp simgear/gdbm/autoconf.h.cygwin32 simgear/gdbm/autoconf.h +# fi +]) echo "" echo "Configure Summary" @@ -259,3 +351,26 @@ if test "x$with_efence" != "x"; then else echo "Electric fence: no" fi + +echo -n "Automake version: ($AUTO_MAKE_VERSION) " +automake --version | head -1 + +if test "x$ac_cv_header_mk4_h" != "xyes"; then + echo "Building metakit" +fi + +if test "x$ac_cv_header_zlib_h" != "xyes"; then + echo "Building zlib" +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 + +if test "$OS" = "IRIX" -o "$OS" = "IRIX64"; then + if test "$CXX" = "CC"; then + echo "\nRemember to run: sh ../FlightGear/irix-hack.sh!\07\n" + fi +fi