r7920: changes to compile on new automake and xfree_4.3.0_0pre1v1
[ctsim.git] / configure.ac
index 6bfbe85ea25052596105d96f3c5c026903d8cc06..e9f4c40389fa97e3115bb88eedd10303a38062fc 100644 (file)
@@ -3,8 +3,10 @@ dnl Process this file with autoconf to produce a configure script.
 dnl Must reset CDPATH so that bash's cd does not print to stdout
 dnl CDPATH=
 
-AC_INIT(src/ctsim.cpp)
-AM_INIT_AUTOMAKE(ctsim,3.5.0)
+AC_INIT
+AC_CONFIG_SRCDIR([src/ctsim.cpp])
+AM_MAINTAINER_MODE
+AM_INIT_AUTOMAKE(ctsim,4.2.6)
 AM_CONFIG_HEADER(config.h)
 
 dnl Checks for programs.
@@ -13,18 +15,12 @@ AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 AC_PROG_RANLIB
 
-CPPFLAGS='$(CPPFLAGS) -DDATADIR="$(datadir)"'
-CFLAGS="$CFLAGS -I/usr/local/include"
-LDFLAGS="$LDFLAGS -L/usr/local/lib"
 AC_PROG_CC
 AC_PROG_CXX
 AC_C_BIGENDIAN
 
 AC_PATH_PROG(wxconfig,wx-config)
 
-dnl AC_MSG_CHECKING([that the compiler works])
-dnl AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],     AC_MSG_RESULT(yes),     AC_MSG_RESULT(no)     AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.),     AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.))
-
 dnl Check for C operation
 AC_CANONICAL_HOST 
 AC_C_INLINE
@@ -34,24 +30,25 @@ AC_CHECK_SIZEOF(long, 4)
 AC_CHECK_SIZEOF(float, 4)
 AC_CHECK_SIZEOF(double, 8)
 
+dnl Add define templates
+
 dnl Checks for libraries.
 AC_CHECK_LIB(z, deflate, [ zlib="true" ], [ zlib="false" ;  AC_MSG_WARN([zlib missing. Will need zlib for PNG support])])
 AC_CHECK_LIB(m, sin)
 AC_CHECK_LIB(curses, main, [curses=true], [curses=false])
 AC_CHECK_LIB(ncurses, main, [ncurses=true], [ncurses=false])
-AC_CHECK_LIB(readline, main, [readline=true; AC_DEFINE(HAVE_READLINE)], [readline=false], [-lcurses])
-AC_CHECK_LIB(ncurses, main, [ncurses=true; AC_DEFINE(HAVE_NCURSES)], [ncurses=false])
-AC_CHECK_LIB(curses, main, [curses=true; AC_DEFINE(HAVE_CURSES)], [curses=false])
+AC_CHECK_LIB(readline, main, [readline=true; 
+                 AC_DEFINE([HAVE_READLINE],1,[Readline library])],
+                [readline=false], [-lcurses])  
 wxwin=false
-AC_CHECK_LIB(wx_gtk-2.2, main, [wxwin=true; wx_gtk=true; AC_DEFINE(HAVE_WXWINDOWS)])
-AC_CHECK_LIB(wx, main, [wxwin=true; wx_msw=true; AC_DEFINE(HAVE_WXWINDOWS)])
-AC_CHECK_LIB(hdf4, main, [hdf4=true], [hdf4=false], -lz)
-AC_CHECK_LIB(fftw, fftw_one, [fftw=true; AC_DEFINE(HAVE_FFTW)], [fftw=false])
+AC_CHECK_LIB(wx_gtk-2.4, main, [wxwin=true; wx_gtk=true; AC_DEFINE(HAVE_WXWINDOWS,1,[wxwindows library])])
+AC_CHECK_LIB(wx_mac-2.4, main, [wxwin=true; wx_mac=true; AC_DEFINE(HAVE_WXWINDOWS,1,[wxwindows library])])
+AC_CHECK_LIB(fftw, fftw_one, [fftw=true; AC_DEFINE(HAVE_FFTW,1,[FFTW library])], [fftw=false])
 AC_CHECK_LIB(GL, main, [libgl=true], [libgl=false], [-L/usr/X11R6/lib -lXt -lXext])
 AC_CHECK_LIB(pthread, main, [pthread=true], [pthread=false])
 
 if test "$zlib" = "true" ; then
-  AC_CHECK_LIB(png, main, [png=true ; AC_DEFINE(HAVE_PNG)], [png=false])
+  AC_CHECK_LIB(png, main, [png=true ; AC_DEFINE(HAVE_PNG,1,[PNG library])], [png=false], [-lz -lm])
 fi
 
 dnl Checks for header files.
@@ -72,6 +69,7 @@ AC_CHECK_FUNC(setjmp)
 AC_CHECK_FUNC(setpriority)
 AC_CHECK_FUNC(time)
 AC_CHECK_FUNC(gettimeofday)
+AC_CHECK_FUNC(getopt, [ getopt=true ], [ getopt=false ])
 
 if test "${OSTYPE}" = "cygwin" ; then
   getopt_long=false
@@ -81,11 +79,12 @@ fi
 
 if test "${getopt_long}" = "false" ; then
   my_includes="$my_includes -I../getopt"
-  AC_DEFINE(HAVE_GETOPT_LONG)
+  AC_DEFINE(HAVE_GETOPT_LONG,1,[getopt_long library])
   ctlibs_base="$ctlibs_base -lgetopt"
   LDFLAGS="$LDFLAGS -L../getopt"
-  AM_CONDITIONAL(INCLUDED_GETOPT_LONG, test 1==1)
+  GETOPTLONG=1
 fi
+AM_CONDITIONAL(INCLUDED_GETOPT_LONG, test $GETOPTLONG==1)
 
 if test "${readline}" = "true" ; then
   ctlibs_base="$ctlibs_base -lreadline"
@@ -113,26 +112,34 @@ esac],
 [debug=false; AC_MSG_RESULT(no)])
 AM_CONDITIONAL(DEBUG, test "$debug" = "true")
 
+if test "$datadir" != "" ; then
+  CPPFLAGS="$CPPFLAGS -DDATADIR=\"\\\"$datadir\\\"\""
+fi
+dnl CFLAGS="$CFLAGS -I/usr/local/include"
+dnl LDFLAGS="$LDFLAGS -L/usr/local/lib"
+
 if test "$debug" = "true" ; then
-  CFLAGS="-g -DDEBUG"
-  AC_DEFINE(DEBUG)
+  CFLAGS="$CFLAGS -g -DDEBUG"
+  AC_DEFINE(DEBUG,1,[turn on debugging])
 else
-  CFLAGS="-O3 -DNDEBUG -fomit-frame-pointer"
-  AC_DEFINE(NDEBUG)
+  CFLAGS="$CFLAGS -O2 -DNDEBUG -fomit-frame-pointer"
+  AC_DEFINE(NDEBUG,1,[no debugging])
 fi
 
 if test "${pthread}" = "true" ; then
-  CFLAGS="$FLAGS -pthread -D_REENTRANT"
-  AC_DEFINE(HAVE_WXTHREADS)
+dnl  CFLAGS="$CFLAGS -D_REENTRANT"
+  AC_DEFINE(HAVE_WXTHREADS,1,[have wxthreads library])
 fi
 
 AC_MSG_CHECKING(sstream)
  if [ test -f /usr/include/sstream || test -f /usr/include/g++/sstream ||
-     test -f /usr/include/g++-2/sstream || test -f /usr/include/g++-3/sstream ]; then
-  AC_DEFINE(HAVE_SSTREAM)
-  AC_MSG_RESULT(yes)
-fi
-AC_MSG_RESULT(no)
+     test -f /usr/include/g++-2/sstream || test -f /usr/include/g++-3/sstream ||
+     test -f /usr/include/gcc/darwin/3.1/g++-v3/sstream ]; then
+   AC_DEFINE(HAVE_SSTREAM,1,[sstream header])
+   AC_MSG_RESULT(yes)
+  else
+   AC_MSG_RESULT(no)
+ fi
 
 
 CFLAGS="$CFLAGS -Wall"
@@ -154,7 +161,7 @@ AC_ARG_ENABLE(verbose-warnings,
 AC_MSG_CHECKING(static executables)
 AC_ARG_ENABLE(static,
 [  --enable-static
-                          Enable static executables.],
+                            Enable static executables.],
 [ case "$enableval" in
   yes)
     AC_MSG_RESULT(yes)
@@ -168,7 +175,7 @@ AC_ARG_ENABLE(static,
 
 dnl Set LAM path
 AC_ARG_WITH(lam,
-[  --with-lam[=PATH]       Set path of LAM MPI ],
+[  --with-lam[=PATH]         Set path of LAM MPI ],
 [    if test "$withval" != "no" ; then
          trylamdir=$withval
      fi ]
@@ -202,35 +209,51 @@ fi
 
 dnl Set CTN path
 AC_ARG_WITH(ctn,
-[  --with-ctn[=PATH]       Set path of CTN DICOM library ],
+[  --with-ctn[=PATH]         Set path of CTN DICOM library ],
 [    if test "$withval" != "no" ; then
          tryctndir=$withval
      fi ]
 )
 
-if test "$withval" != "no" ; then
-  if test "$prefix" != "NONE" ; then
-     tryctndir="$tryctndir $prefix"
-  fi
-
+if test "$withval" == "no" -o "$withval" == "NONE" ; then
   AC_MSG_CHECKING([for CTN DICOM installation])
-  for testctndir in "." $tryctndir /usr/local /usr/local/ctn /usr /usr/ctn /opt /opt/ctn ; do
-    if test -f "$testctndir/lib/libctn.a" ; then
-      if test "$testctndir" != "/usr"; then    
-        LDFLAGS="$LDFLAGS -L$testctndir/lib"
-        CFLAGS="$CFLAGS -I$testctndir/include"
-      fi
-      ctndir="$testctndir"
-      ctn="true"
-      AC_DEFINE(HAVE_CTN_DICOM)
+  AC_MSG_RESULT([disabled])
+else
+  AC_MSG_CHECKING([for CTN DICOM installation])
+  for testctndir in $tryctndir/lib /usr/local/lib /usr/local/ctn/lib /usr/lib /usr/ctn/lib /usr/lib/ctn /opt/ctn/lib ; do
+    if test -f "$testctndir/libctn.a" ; then
+      LDFLAGS="$LDFLAGS -L$testctndir"
+      ctnlib="true"
       break
     fi
   done
-  AC_MSG_RESULT($ctndir)
-else
-  AC_MSG_RESULT([no])
+  for testctndir in $tryctndir/include /usr/local/include /usr/local/ctn/include /usr/include /usr/include/ctn /usr/ctn/include /opt/ctn/include ; do
+    if test -f "$testctndir/ctn_os.h" ; then
+      CFLAGS="$CFLAGS -I$testctndir"
+      ctninclude="true"
+      break
+    fi
+  done
+  if test "$ctnlib" == "true" -a "$ctninclude" == "true" ; then
+      ctn="true"
+      AC_DEFINE(HAVE_CTN_DICOM,1,[ctn dicom library])
+      AC_MSG_RESULT([yes])
+  else
+    AC_MSG_RESULT([no])
+  fi
 fi
 
+dnl Set CPU
+AC_MSG_CHECKING([for CPU specification])
+AC_ARG_WITH(mcpu,
+[  --with-mcpu[=CPU]         Set name of CPU for gcc -mcpu])
+
+if test "$withval" == "no" -o "$withval" == "yes" -o "$withval" == ""; then
+  AC_MSG_RESULT([no])
+else
+  AC_MSG_RESULT([$withval])
+  CFLAGS="$CFLAGS -mcpu=$withval"
+fi
 
 AC_MSG_CHECKING([for web access])
 dnl Set cgi-bin directory
@@ -308,21 +331,8 @@ dnl Check whether libXt has thread support.  Some platforms may have
 dnl pthread support in libc, but no thread support in libXt/libX11.
 our_saved_LDFLAGS="$LDFLAGS"
 LDFLAGS="$X_LIBS $LDFLAGS"
-AC_CHECK_LIB(Xt, XtToolkitThreadInitialize, AC_DEFINE(X_THREAD_SUPPORT), , $X_PRE_LIBS $X_BASIC_LIBS $X_EXTRA_LIBS)
-LDFLAGS="$our_saved_LDFLAGS"
-
-dnl Check in -lXext for double buffering extensions to X11, and check
-dnl whether appropriate header files are present.  (Some systems have one
-dnl but not the other.)
-our_saved_LDFLAGS="$LDFLAGS"
-LDFLAGS="$X_LIBS $LDFLAGS"
-AC_CHECK_LIB(Xext, XdbeQueryExtension, AC_DEFINE(HAVE_DBE_SUPPORT), , -lX11 "$X_EXTRA_LIBS")
-AC_CHECK_LIB(Xext, XmbufQueryExtension, AC_DEFINE(HAVE_MBX_SUPPORT), , -lX11 "$X_EXTRA_LIBS")
+AC_CHECK_LIB(Xt, XtToolkitThreadInitialize, AC_DEFINE(X_THREAD_SUPPORT,1,[x thread supported]), , $X_PRE_LIBS $X_BASIC_LIBS $X_EXTRA_LIBS)
 LDFLAGS="$our_saved_LDFLAGS"
-our_saved_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$X_CFLAGS $CPPFLAGS"
-AC_CHECK_HEADERS(X11/extensions/Xdbe.h X11/extensions/multibuf.h)
-CPPFLAGS="$our_saved_CPPFLAGS"
 
 dnl Our Makefile.am files test the automake variable NO_X to determine
 dnl whether X should be supported.
@@ -335,19 +345,25 @@ LDFLAGS="$LDFLAGS -L/usr/local/lib"
 
 AC_MSG_CHECKING([for X])
 if test "$no_x" != "yes" ; then
-  AC_DEFINE(HAVE_X11)
+  AC_DEFINE(HAVE_X11,1,[X11 system])
   LDFLAGS="$LDFLAGS -L../libctgraphics -L/usr/X11R6/lib"
+  my_includes="$my_includes -I/usr/X11R6/include"
   ctlib_graphics="$ctlibs_base -lctgraphics"
   AC_MSG_RESULT(yes)
   ctlib_graphics="$ctlib_graphics $X_BASIC_LIBS $X_TOOLKIT_LIBS"
   if test "$libgl" = "true" ; then
-    ctlib_graphics="$ctlib_graphics -lglut -lGL -lGLU"
+    # Removed "-lglut" for Mac OS X compilation
+    ctlib_graphics="$ctlib_graphics -lGL -lGLU"
     if test "$wxwin" = "true" ; then
-      ctlib_graphics="$ctlib_graphics -lwx_gtk_gl-2.2"
+      if [ "$wx_gtk" ]; then 
+        ctlib_graphics="$ctlib_graphics -lwx_gtk_gl-2.4"
+      elif [ "$wx_mac" ]; then
+        ctlib_graphics="$ctlib_graphics -lwx_mac_gl-2.4"
+      fi
     fi
   fi
   if test "$wxwin" = "true" ; then
-    AC_DEFINE(HAVE_SGP)
+    AC_DEFINE(HAVE_SGP,1,[use sgp library])
     AM_CONDITIONAL(HAVE_SGP, test 1==1)
   fi
 else
@@ -386,7 +402,7 @@ esac],
 
 if test "$dmallocxx" = "true" -a "$usedmalloc" = "true" ; then
   ctlibs_tools="$ctlibs_tools -ldmallocxx"
-  AC_DEFINE(HAVE_DMALLOC)
+  AC_DEFINE(HAVE_DMALLOC,1,[dmalloc library])
   AC_MSG_RESULT(Using dmalloc)
 fi
 
@@ -409,17 +425,17 @@ esac],
 
 if test "$efence" = "true" -a "$useefence" = "true" ; then
   ctlibs_tools="$ctlibs_tools -lefence"
-  AC_DEFINE(HAVE_EFENCE)
+  AC_DEFINE(HAVE_EFENCE,1,[efence library])
   AC_MSG_RESULT(Using efence)
 fi
 
 if test "$wxwin" = "true" ; then
-  if test "$wx_gtk" = "true" ; then    
+  if [ "$wx_gtk" = "true" ] || [ "$wx_mac" == "true" ] ; then  
     wxcflags=`$wxconfig --cflags`
     wxlibs=`$wxconfig --libs`
   else
        wxcflags="-D__WXMSW__ -D__WIN32__ -D__GNUWIN32__"
-   wxlibs="-lwx -lglui -ljpeg -lxpm -lzlib -ltiff"
+        wxlibs="-lwx -lglui -ljpeg -lxpm -lzlib -ltiff"
   fi
   CFLAGS="$CFLAGS -I../include $wxcflags"
   ctlib_graphics="$ctlib_graphics $wxlibs"
@@ -442,4 +458,6 @@ fi
 
 CXXFLAGS="$CFLAGS"
 
-AC_OUTPUT(Makefile libctgraphics/Makefile libctsupport/Makefile libctsim/Makefile Makefile man/Makefile cgi-bin/ctsim.cgi cgi-bin/Makefile html/simulate.html html/Makefile include/Makefile getopt/Makefile tools/sample-ctsim.sh cgi-bin/ctsim.conf tools/Makefile src/Makefile helical/Makefile helical/sample-helical.sh)
+AC_CONFIG_FILES([Makefile libctgraphics/Makefile libctsupport/Makefile libctsim/Makefile man/Makefile cgi-bin/ctsim.cgi cgi-bin/Makefile html/simulate.html html/Makefile include/Makefile getopt/Makefile tools/sample-ctsim.sh cgi-bin/ctsim.conf tools/Makefile src/Makefile helical/Makefile helical/sample-helical.sh])
+
+AC_OUTPUT