From 64a48bea80b909311351dc3b1345a17c693ddb69 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Wed, 28 Sep 2016 14:58:41 +0200 Subject: Add experimental support for Octave Based on initial patch by @kalvdans. --- build/linux/configure.ac | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 630b08d..0d80cec 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -175,6 +175,28 @@ fi AC_SUBST(HAVEMATLAB) +# octave + +AC_ARG_ENABLE(octave, [[ --disable-octave disable Octave support]]) +if test x"$enable_octave" != xno; then + AC_PATH_PROG([HAVEOCTAVE], [octave-config], [no], [$PATH]) + AC_MSG_CHECKING([for octave]) + if test x"HAVEOCTAVE" != xno -a $HAVEMATLAB = yes; then + HAVEOCTAVE=no + AC_MSG_RESULT([no (since Matlab support is enabled)]) + else + if test x"$HAVEOCTAVE" != xno; then + OCTAVE_CPPFLAGS="-I`octave-config -p OCTINCLUDEDIR`" + AC_SUBST(OCTAVE_CPPFLAGS) + HAVEOCTAVE=yes + fi + AC_MSG_RESULT($HAVEOCTAVE) + fi +else + HAVEOCTAVE=no +fi +AC_SUBST(HAVEOCTAVE) + # python AC_ARG_WITH(python, [[ --with-python=path path of Python binary (optional)]],,) @@ -271,6 +293,7 @@ echo echo "Summary of ASTRA Toolbox build options:" echo " CUDA : $HAVECUDA" echo " Matlab : $HAVEMATLAB" +echo " Octave : $HAVEOCTAVE" echo " Python : $HAVEPYTHON" echo echo " prefix : $prefix" -- cgit v1.2.3 From 6282fbe29bd2a8594bbc589e3996030e882b84f5 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 21 Nov 2016 12:16:40 +0100 Subject: Show NVCCFLAGS help --- build/linux/configure.ac | 2 ++ 1 file changed, 2 insertions(+) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 0d80cec..96be24c 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -141,6 +141,8 @@ if test x"$HAVECUDA" = xyes; then AC_MSG_RESULT([$NVCCARCHS]) fi +AC_ARG_VAR(NVCCFLAGS, [CUDA nvcc flags]) + AC_SUBST(HAVECUDA) AC_SUBST(LDFLAGS_CUDA) -- cgit v1.2.3 From 88ef7076c710c4482d923d1f8a33ec0dec031d7f Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 21 Nov 2016 16:59:34 +0100 Subject: Update tested cuda compute capabilities --- build/linux/configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 96be24c..7ccc8f5 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -133,9 +133,9 @@ fi AC_ARG_WITH(cuda_compute, [[ --with-cuda-compute=archs comma separated list of CUDA compute models (optional)]],,) if test x"$HAVECUDA" = xyes; then AC_MSG_CHECKING([for nvcc archs]) - dnl 10 11 12 13 20 30 32 35 37 50 + dnl 10 11 12 13 20 21 30 32 35 37 50 52 53 60 61 if test x"$with_cuda_compute" = x; then - with_cuda_compute="10,12,20,30,35,50" + with_cuda_compute="20,30,35,50,60" fi ASTRA_FIND_NVCC_ARCHS([$with_cuda_compute],NVCCFLAGS_EXTRA,NVCCARCHS) AC_MSG_RESULT([$NVCCARCHS]) -- cgit v1.2.3 From 7e10c16eee71c608a1dba1dd2fec8471567f6b61 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 21 Nov 2016 17:00:50 +0100 Subject: Overhaul package installation There are now three ways of installing from configure/make: ./configure --with-install-type=prefix (default) libraries go into @libdir@ matlab tools/mex go into @datadir@/astra/matlab octave tools/mex go into @datadir@/astra/octave python module goes into site-packages ./configure --with-install-type=dir libraries go into @prefix@/lib matlab tools/mex go into @prefix@/matlab octave tools/mex go into @prefix@/octave python module goes into @prefix@/python ./configure --with-install-type=module matlab tools/mex go into @prefix@/matlab octave tools/mex go into @prefix@/octave python module goes into site-packages library is installed along with the matlab/octave/python module(s), with rpath --- build/linux/configure.ac | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 7ccc8f5..26fa215 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -24,7 +24,7 @@ dnl dnl ----------------------------------------------------------------------- dnl $Id$ -AC_INIT(astra_toolbox, 1.7.1) +AC_INIT(astra, 1.7.1) AC_CONFIG_SRCDIR([Makefile.in]) LT_INIT([disable-static]) @@ -274,6 +274,15 @@ AC_SUBST(CPPFLAGS_OS) VPATH_SRCDIR="$srcdir" AC_SUBST(VPATH_SRCDIR) + +# Installation type +AC_ARG_WITH(install-type, [[ --with-install-type=prefix|module|dir type of installation (default prefix)]],,with_install_type=prefix) + +INSTALL_TYPE=$with_install_type +AC_SUBST(INSTALL_TYPE) + + + # TODO: # Detection of tools: @@ -299,4 +308,5 @@ echo " Octave : $HAVEOCTAVE" echo " Python : $HAVEPYTHON" echo echo " prefix : $prefix" +echo " install: $with_install_type" echo -- cgit v1.2.3 From a71a219ae5e0faded0c6161e17d8e17d39b01883 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Tue, 22 Nov 2016 09:46:05 +0100 Subject: Disable octave interface by default --- build/linux/configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 26fa215..785b698 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -179,8 +179,8 @@ AC_SUBST(HAVEMATLAB) # octave -AC_ARG_ENABLE(octave, [[ --disable-octave disable Octave support]]) -if test x"$enable_octave" != xno; then +AC_ARG_ENABLE(octave, [[ --enable-octave enable Octave support]]) +if test x"$enable_octave" = xyes; then AC_PATH_PROG([HAVEOCTAVE], [octave-config], [no], [$PATH]) AC_MSG_CHECKING([for octave]) if test x"HAVEOCTAVE" != xno -a $HAVEMATLAB = yes; then -- cgit v1.2.3 From bc03dad9393d6fd9aad1ba22c98c223edecc918b Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Tue, 22 Nov 2016 16:25:24 +0100 Subject: Show installation paths at end of configure --- build/linux/configure.ac | 49 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 785b698..e562e77 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -302,11 +302,46 @@ AC_OUTPUT echo echo "Summary of ASTRA Toolbox build options:" -echo " CUDA : $HAVECUDA" -echo " Matlab : $HAVEMATLAB" -echo " Octave : $HAVEOCTAVE" -echo " Python : $HAVEPYTHON" -echo -echo " prefix : $prefix" -echo " install: $with_install_type" +echo " CUDA : $HAVECUDA" +echo " Matlab: $HAVEMATLAB" +echo " Octave: $HAVEOCTAVE" +echo " Python: $HAVEPYTHON" echo +echo "Installation type: $with_install_type" +case $with_install_type in + prefix) + echo " Library : "$(eval echo `eval echo $libdir`) + if test $HAVEMATLAB = yes; then + echo " Matlab files: "$(eval echo `eval echo $datadir`)"/astra/matlab" + fi + if test $HAVEOCTAVE = yes; then + echo " Octave files: "$(eval echo `eval echo $datadir`)"/astra/octave" + fi + if test $HAVEPYTHON = yes; then + echo " Python files to site-packages" + fi + ;; + dir) + echo " Library : "$(eval echo `eval echo $libdir`) + if test $HAVEMATLAB = yes; then + echo " Matlab files: $prefix/matlab" + fi + if test $HAVEOCTAVE = yes; then + echo " Octave files: $prefix/octave" + fi + if test $HAVEPYTHON = yes; then + echo " Python files: $prefix/python" + fi + ;; + module) + echo " Library into Matlab/Octave/Python module directories" + if test $HAVEMATLAB = yes; then + echo " Matlab files: $prefix/matlab" + fi + if test $HAVEOCTAVE = yes; then + echo " Octave files: $prefix/octave" + fi + if test $HAVEPYTHON = yes; then + echo " Python files to site-packages" + fi +esac -- cgit v1.2.3 From eeffd2d9748b8912b384a5764b808f5bfc850ade Mon Sep 17 00:00:00 2001 From: Holger Kohr Date: Wed, 23 Nov 2016 10:21:55 +0100 Subject: Separate C++ and python builds & make conda work nicely - make builder (= advanced user or us ourselves) choose compilers and CUDA - add a check for the C++11 flag for nvcc to work around the infamous boost bug if necessary - use conda boost to build the C++ library - simplify python bindings conda recipe to only build the bindings; the C++ library is now a build and runtime dependency - add runtime dependencies to python bindings recipe - some small adjustments to builder.py --- build/linux/configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index e562e77..3a2a92b 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -228,8 +228,8 @@ if test x"$with_python" != x -a x"$with_python" != xno; then AC_MSG_CHECKING(for Cython module) ASTRA_TRY_PYTHON([ import Cython -from distutils.version import LooseVersion -assert(LooseVersion(Cython.__version__)>=LooseVersion("0.13")) +from pkg_resources import parse_version +assert(parse_version(Cython.__version__) >= parse_version("0.13")) ],,HAVEPYTHON=no) if test x$HAVEPYTHON = xno; then AC_MSG_RESULT(no) -- cgit v1.2.3 From 71db6331f8dd0d5abbeee92977af01293be4f427 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 28 Nov 2016 15:54:07 +0100 Subject: Update headers (website+2016) --- build/linux/configure.ac | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 3a2a92b..2f992ad 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -1,9 +1,9 @@ dnl ----------------------------------------------------------------------- -dnl Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp -dnl 2014-2015, CWI, Amsterdam +dnl Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp +dnl 2014-2016, CWI, Amsterdam dnl dnl Contact: astra@uantwerpen.be -dnl Website: http://sf.net/projects/astra-toolbox +dnl Website: http://www.astra-toolbox.com/ dnl dnl This file is part of the ASTRA Toolbox. dnl @@ -22,7 +22,6 @@ dnl You should have received a copy of the GNU General Public License dnl along with the ASTRA Toolbox. If not, see . dnl dnl ----------------------------------------------------------------------- -dnl $Id$ AC_INIT(astra, 1.7.1) AC_CONFIG_SRCDIR([Makefile.in]) -- cgit v1.2.3 From 77f2cedaac088da5107dcfb37ae62d8f3a56f335 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 5 Dec 2016 14:44:09 +0100 Subject: Update version to 1.8 --- build/linux/configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 2f992ad..46c84a5 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -23,7 +23,7 @@ dnl along with the ASTRA Toolbox. If not, see . dnl dnl ----------------------------------------------------------------------- -AC_INIT(astra, 1.7.1) +AC_INIT(astra, 1.8.0) AC_CONFIG_SRCDIR([Makefile.in]) LT_INIT([disable-static]) -- cgit v1.2.3 From 0f6c2fdc899b19000c3fcfa3f4e2129dd16a44ce Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 23 Jan 2017 12:32:10 +0100 Subject: Change lib/lib64 logic macOS CUDA uses lib even on 64 bit --- build/linux/configure.ac | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 46c84a5..43cb1a8 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -102,14 +102,7 @@ if test x"$NVCC" != xno; then HAVECUDA=yes BACKUP_CUDA_LDFLAGS="$LDFLAGS" if test x"$with_cuda" != x -a x"$with_cuda" != xyes; then - case $host_cpu in - x86_64) - LDFLAGS_CUDA="-L$with_cuda/lib64" - ;; - *) - LDFLAGS_CUDA="-L$with_cuda/lib" - ;; - esac + test -d $with_cuda/lib64 && LDFLAGS_CUDA="-L$with_cuda/lib64" || LDFLAGS_CUDA="-L$with_cuda/lib" CPPFLAGS_CUDA="-I$with_cuda/include" LDFLAGS="$LDFLAGS $LDFLAGS_CUDA" fi -- cgit v1.2.3 From 99718ef1734c0db06034127da703f70a1c30f1a3 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Fri, 3 Feb 2017 16:57:54 +0100 Subject: Disable openmp on macOS --- build/linux/configure.ac | 3 +++ 1 file changed, 3 insertions(+) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 43cb1a8..813b462 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -251,13 +251,16 @@ AC_CANONICAL_HOST case $host_os in darwin* ) CPPFLAGS_OS="-stdlib=libstdc++ -mmacosx-version-min=10.6" + IS_MACOS=yes ;; *) CPPFLAGS_OS="" + IS_MACOS=no ;; esac AC_SUBST(CPPFLAGS_OS) +AC_SUBST(IS_MACOS) # For some reason, some older versions of autoconf produce a config.status # that disables all lines looking like VPATH=@srcdir@ -- cgit v1.2.3 From f5c25084f09a8f35c4e3d01eb84de984778ae8a9 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Fri, 3 Feb 2017 16:58:56 +0100 Subject: Set stdlib to libstdc++ on macOS consistently --- build/linux/configure.ac | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'build/linux/configure.ac') diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 813b462..b95d94f 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -250,16 +250,19 @@ AC_SUBST(HAVEPYTHON) AC_CANONICAL_HOST case $host_os in darwin* ) - CPPFLAGS_OS="-stdlib=libstdc++ -mmacosx-version-min=10.6" + CXXFLAGS_OS="-stdlib=libstdc++ -mmacosx-version-min=10.6" + LDFLAGS_OS="-stdlib=libstdc++" IS_MACOS=yes ;; *) - CPPFLAGS_OS="" + CXXFLAGS_OS="" + LDFLAGS_OS="" IS_MACOS=no ;; esac -AC_SUBST(CPPFLAGS_OS) +AC_SUBST(CXXFLAGS_OS) +AC_SUBST(LDFLAGS_OS) AC_SUBST(IS_MACOS) # For some reason, some older versions of autoconf produce a config.status -- cgit v1.2.3