diff options
-rw-r--r-- | build/linux/Makefile.in | 15 | ||||
-rw-r--r-- | build/linux/configure.ac | 31 |
2 files changed, 44 insertions, 2 deletions
diff --git a/build/linux/Makefile.in b/build/linux/Makefile.in index cd5e74b..d391278 100644 --- a/build/linux/Makefile.in +++ b/build/linux/Makefile.in @@ -1,6 +1,7 @@ cuda=@HAVECUDA@ matlab=@HAVEMATLAB@ python=@HAVEPYTHON@ +boostutf=@HAVEBOOSTUTF@ MATLAB_ROOT=@MATLAB_ROOT@ @@ -32,6 +33,8 @@ CXXFLAGS+=-g -O3 -Wall -Wshadow LIBS+=-lpthread LDFLAGS+=-g +CPPFLAGS+=@CPPFLAGS_OS@ + ifeq ($(cuda),yes) CPPFLAGS += @CPPFLAGS_CUDA@ -DASTRA_CUDA NVCCFLAGS = @NVCCFLAGS@ @CPPFLAGS_CUDA@ -I../.. -I../../include -DASTRA_CUDA @@ -57,6 +60,8 @@ endif BOOST_CPPFLAGS= BOOST_LDFLAGS= +BOOSTUTF_LIBS=@LIBS_BOOSTUTF@ + CPPFLAGS+=$(BOOST_CPPFLAGS) LDFLAGS+=$(BOOST_LDFLAGS) @@ -124,6 +129,7 @@ BASE_OBJECTS=\ src/ParallelBeamLineKernelProjector2D.lo \ src/ParallelBeamStripKernelProjector2D.lo \ src/ParallelProjectionGeometry2D.lo \ + src/ParallelVecProjectionGeometry2D.lo \ src/ParallelProjectionGeometry3D.lo \ src/ParallelVecProjectionGeometry3D.lo \ src/PlatformDepSystemCode.lo \ @@ -288,11 +294,16 @@ ifeq ($(cuda),yes) @rm -f $(*F).linkinfo endif +ifeq ($(boostutf),yes) test.bin: $(ALL_OBJECTS) $(TEST_OBJECTS) - ./libtool --mode=link $(LD) -o $@ $(LDFLAGS) $(LIBS) $+ -lboost_unit_test_framework + ./libtool --mode=link $(LD) -o $@ $(LDFLAGS) $+ $(LIBS) $(BOOSTUTF_LIBS) test: test.bin ./test.bin +else +test: + @echo "Tests have been disabled by configure" +endif clean: rm -f $(MATLAB_MEX) libastra.la @@ -303,6 +314,8 @@ clean: rm -f $(TEST_OBJECTS) test.bin rm -fr ../../python/finalbuild/ rm -fr ../../python/build/ + rm -f ../../python/astra/*.cpp + rm -f ../../python/astra/*.c distclean: clean rm -f config.guess config.sub ltmain.sh libtool install-sh diff --git a/build/linux/configure.ac b/build/linux/configure.ac index b97a7a0..d9e1f1a 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -53,20 +53,36 @@ AC_CHECK_HEADER(iostream, , AC_MSG_ERROR([No working c++ compiler found])) AC_MSG_CHECKING([for boost-unit-test-framework]) ASTRA_CHECK_BOOST_UNIT_TEST_FRAMEWORK(-lboost_unit_test_framework-mt, BOOSTUTF=yes_mt, BOOSTUTF=no) +HAVEBOOSTUTF=no if test x$BOOSTUTF = xno; then ASTRA_CHECK_BOOST_UNIT_TEST_FRAMEWORK(-lboost_unit_test_framework, BOOSTUTF=yes, BOOSTUTF=no) if test x$BOOSTUTF = xno; then AC_MSG_RESULT(no) - AC_MSG_ERROR([No boost-unit-test-framework library found]) else AC_MSG_RESULT([yes, libboost_unit_test_framework]) LIBS_BOOSTUTF="-lboost_unit_test_framework" + HAVEBOOSTUTF=yes fi else AC_MSG_RESULT([yes, libboost_unit_test_framework-mt]) LIBS_BOOSTUTF="-lboost_unit_test_framework-mt" + HAVEBOOSTUTF=yes fi +AC_SUBST(HAVEBOOSTUTF) +AC_SUBST(LIBS_BOOSTUTF) + +BOOSTok=yes +AC_CHECK_HEADER([boost/lexical_cast.hpp],[],[BOOSTok=no],[]) +AC_CHECK_HEADER([boost/any.hpp],[],[BOOSTok=no],[]) +dnl AC_CHECK_HEADER([boost/thread.hpp],[],[BOOSTok=no],[]) +dnl AC_CHECK_HEADER([boost/bind.hpp],[],[BOOSTok=no],[]) +AC_CHECK_HEADER([boost/static_assert.hpp],[],[BOOSTok=no],[]) +AC_CHECK_HEADER([boost/throw_exception.hpp],[],[BOOSTok=no],[]) + +if test x$BOOSTok = xno; then + AC_MSG_ERROR([boost not found]) +fi # nvcc, cuda @@ -208,6 +224,19 @@ fi AC_SUBST(HAVEPYTHON) +#OS specific setup +AC_CANONICAL_HOST +case $host_os in + darwin* ) + CPPFLAGS_OS="-stdlib=libstdc++ -mmacosx-version-min=10.6" + ;; + *) + CPPFLAGS_OS="" + ;; +esac + +AC_SUBST(CPPFLAGS_OS) + # TODO: |