+dnl *****************************************************************************
+dnl FILE IDENTIFICATION
+dnl Name: ctsim.cpp
+dnl Purpose: Top-level routines of CTSim program
+dnl Programmer: Kevin Rosenberg
+dnl Date Started: July 2000
+dnl
+dnl This is part of the CTSim program
+dnl Copyright (c) 1983-2009 Kevin Rosenberg
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License (version 2) as
+dnl published by the Free Software Foundation.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+dnl****************************************************************************/
+
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
+AC_INIT([CTSim], [6.0.0], [ctsim-users@kpe.io], [ctsim], [http://www.ctsim.org/])
AC_CONFIG_SRCDIR([src/ctsim.cpp])
+AC_CONFIG_MACRO_DIR([scripts])
+dnl permit auxiliary scripts directory (e.g. config.sub, config.guess, install-sh)
+AC_CONFIG_AUX_DIR(scripts/)
+
+AC_CANONICAL_TARGET
AM_MAINTAINER_MODE
-AM_INIT_AUTOMAKE(ctsim,5.0.0)
+AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
-CFLAGS=""
-CXXFLAGS=""
-
-CFLAGS="${CFLAGS}"
-
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_INSTALL
CFLAGS="${CFLAGS} ${g76GTK_CFLAGS} ${GLIB_CFLAGS}"
fi
-AC_CHECK_LIB(wx_gtk2u_core-2.8, main, [wxwin=true; wx_gtk=true; AC_DEFINE(HAVE_WXWINDOWS,1,[wxwindows library])], [], [-L/usr/lib64 -L/usr/lib ${GTK_LIBS} ${GLIB_LIBS} ])
-AC_CHECK_LIB(wx_mac_core-2.8, main, [wxwin=true; wx_mac=true; AC_DEFINE(HAVE_WXWINDOWS,1,[wxwindows library])])
+AC_CHECK_LIB(wx_gtk2u_core-3.0, main, [wxwin=true; wx_gtk=true; AC_DEFINE(HAVE_WXWINDOWS,1,[wxwindows library])], [], [-L/usr/lib64 -L/usr/lib ${GTK_LIBS} ${GLIB_LIBS} ])
+AC_CHECK_LIB(wx_mac_core-3.0, main, [wxwin=true; wx_mac=true; AC_DEFINE(HAVE_WXWINDOWS,1,[wxwindows library])])
AC_CHECK_LIB(fftw3, fftw_malloc, [fftw=true; AC_DEFINE(HAVE_FFTW,1,[FFTW library])], [fftw=false], [-L/usr/lib64 -L/usr/lib])
AC_CHECK_LIB(GL, main, [libgl=true], [libgl=false], [-L/usr/X11R6/lib -L/usr/X11R6/lib64])
AC_CHECK_LIB(pthread, main, [pthread=true], [pthread=false])
fi
AM_CONDITIONAL(INCLUDED_GETOPT_LONG, test "$GETOPTLONG"="1")
+case $target_cpu in
+ i386|i486|i586|i686|x86|x86_64)
+ AX_EXT
+ if [ test "$ax_cv_have_sse41_ext" = yes && test "$ac_cv_header_smmintrin_h" = yes ]; then
+ # SSE4.1/2 extensions
+ ARCH_OPTION='-msse4.1'
+ elif [ test "$ax_cv_have_sse3_ext" = yes && test "$ac_cv_header_pmmintrin_h" = yes ]; then
+ ARCH_OPTION='-msse3'
+ elif [ test "$ax_cv_have_sse2_ext" = yes && test "$ac_cv_header_emmintrin_h" = yes ]; then
+ ARCH_OPTION='-msse2'
+ else
+ ARCH_OPTION="-ffast-math"
+ fi;;
+ powerpc*)
+ ARCH_OPTION="-fno-common -faltivec";;
+ armv1*|armv2*|armv3*|armv4*|armv5*|armv6*)
+ ARCH_OPTION="-ffast-math";;
+ armv7*|armv8*)
+ ARCH_OPTION="-ffast-math -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4";;
+ *)
+ # unknown architecture : use portable C version
+ ARCH_OPTION="";;
+esac
+CPPFLAGS="$CPPFLAGS $ARCH_OPTION"
+CXXFLAGS="$CPPFLAGS $ARCH_OPTION"
+
if test "${readline}" = "true" ; then
ctlibs_base="$ctlibs_base -lreadline"
if test "${ncurses}" = "true"; then
dnl LDFLAGS="$LDFLAGS -L/usr/local/lib"
if test "$debug" = "true" ; then
- CFLAGS="$CFLAGS -g -DDEBUG"
+ CFLAGS="$CFLAGS -g -O0 -DDEBUG"
AC_DEFINE(DEBUG,1,[turn on debugging])
else
CFLAGS="$CFLAGS -O2 -DNDEBUG -fomit-frame-pointer"
fi ]
)
-if test "$withval" == "no" -o "$withval" == "NONE" ; then
+if test "$withval" = "no" -o "$withval" = "NONE" ; then
AC_MSG_CHECKING([for CTN DICOM installation])
AC_MSG_RESULT([disabled])
else
break
fi
done
- if test "$ctnlib" == "true" -a "$ctninclude" == "true" ; then
+ if test "$ctnlib" = "true" -a "$ctninclude" = "true" ; then
ctn="true"
AC_DEFINE(HAVE_CTN_DICOM,1,[ctn dicom library])
AC_MSG_RESULT([yes])
AC_ARG_WITH(mcpu,
[ --with-mcpu[=CPU] Set name of CPU for gcc -mcpu])
-if test "$withval" == "no" -o "$withval" == "yes" -o "$withval" == ""; then
+if test "$withval" = "no" -o "$withval" = "yes" -o "$withval" = ""; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([$withval])
AM_CONDITIONAL(NO_X, test "x$with_x" = "xno")
my_includes="$my_includes -I../include -I.. -I/usr/local/include"
-AC_SUBST(my_includes)
LDFLAGS="$LDFLAGS -L/usr/local/lib"
if test "$with_x" != "no" && test "$wxwin" = "true"; then
AC_DEFINE(HAVE_X11,1,[X11 system])
LDFLAGS="$LDFLAGS -L../libctgraphics -L/usr/X11R6/lib -L/usr/X11R6/lib64"
- my_includes="$my_includes -I/usr/X11R6/include"
+ my_includes="$my_includes -I/usr/X11R6/include -I/usr/include/X11"
ctlib_graphics="$ctlibs_base -lctgraphics"
AC_MSG_RESULT(yes)
ctlib_graphics="$ctlib_graphics $X_BASIC_LIBS $X_TOOLKIT_LIBS"
+ wx_cppflags="`$wxconfig --cppflags`"
if test "$libgl" = "true" ; then
- # Removed "-lglut" for Mac OS X compilation
+ dnl Removed "-lglut" for Mac OS X compilation
ctlib_graphics="$ctlib_graphics -lGL -lGLU"
if test "$wxwin" = "true" ; then
wxdebug=""
wxdebug="--debug"
fi
if test "x$wx_gtk" != "x" ; then
- ctlib_graphics="$ctlib_graphics `$wxconfig $wxdebug --version=2.8 --libs` -lwx_gtk2u_gl-2.8 ${GTK_LIBS} ${GLIB_LIBS}"
+ ctlib_graphics="$ctlib_graphics `$wxconfig $wxdebug --version=3.0 --libs std,gl` ${GTK_LIBS} ${GLIB_LIBS}"
+
elif test "x$wx_mac" != "x" ; then
- ctlib_graphics="$ctlib_graphics `$wxconfig $wxdebug --version=2.8 --libs` -lwx_macu_gl-2.8"
+ ctlib_graphics="$ctlib_graphics `$wxconfig $wxdebug --version=3.0 --libs std,gl`"
fi
fi
fi
if test "$wxwin" = "true" ; then
if test "$wx_gtk" = "true" -o "$wx_mac" = "true" ; then
- wxcflags=`$wxconfig $wxdebug --cxxflags --version=2.8`
+ wxcflags=`$wxconfig $wxdebug --cxxflags --version=3.0`
#wxlibs=`$wxconfig --libs`
else
wxcflags="-D__WXMSW__ -D__WIN32__ -D__GNUWIN32__"
CXXFLAGS="$CFLAGS"
+AC_SUBST(my_includes)
+AC_SUBST(wx_cppflags)
+
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