diff --git a/ChangeLog b/ChangeLog index ce3b18b..25c6cb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,10 @@ -2015-11-06 Juergen Knoedlseder +2015-11-19 Juergen Knoedlseder * Version 1.0.0 released ======================== - Implement handling of stacked data in csspec (#1566). + Implement handling of stacked data in csspec (#1566) + Resolve Python test problem on El Capitan (#1563) 2015-10-31 Juergen Knoedlseder diff --git a/NEWS b/NEWS index 39ce609..679749a 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ New Features and Important Changes in ctools 1.0.0 Author(s) : Juergen Knoedlseder -6 November 2015 +19 November 2015 1. Introduction @@ -14,7 +14,10 @@ version 1.0.0 or above. 2. Configuration ----------------- -None +A special post processing of the Python module libraries has been added for +Mac OS X 10.11 and higher (El Capitan). This post processing is a replacement for +setting DYLD_LIBRARY_PATH during unit testing since the environment variable is +ignored in certain circumstances by El Capitan. 3. Python interface diff --git a/configure.ac b/configure.ac index 37dd5af..5424b7a 100644 --- a/configure.ac +++ b/configure.ac @@ -29,7 +29,7 @@ ############################################################################# # Initialisation # ############################################################################# -AC_INIT([ctools], [0.10.0], [jurgen.knodlseder@irap.omp.eu], [ctools]) +AC_INIT([ctools], [1.0.0], [jurgen.knodlseder@irap.omp.eu], [ctools]) AC_CONFIG_SRCDIR([src/ctselect/ctselect.cpp]) AC_CONFIG_MACRO_DIR([m4]) #AM_INIT_AUTOMAKE([gnu no-dependencies]) @@ -71,19 +71,42 @@ AC_CANONICAL_HOST # # # A special kluge was added for Mac OS X >=10.7. As Apple switched to clang # # we search from this version on for the clang compiler. # +# # +# We also signal whether Mac OS X >=10.11 (El Capitan). # ############################################################################# +# Set default Mac OS X version flags +osx_lion=no +osx_el_capitan=no # Set default compiler lists cxx_list="g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++" cc_list="gcc cc cl.exe clang" -# Check if we have Mac OS X >= 10.7 +# Check if we have Mac OS X >= 10.7 and >= 10.11 if test `uname -s` = "Darwin"; then - if test `sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'` '>' 10.6; then + version=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/' | sed -e 's/\.//g'` + if [ test $version -ge 107 ]; then cxx_list="clang++ g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC" cc_list="clang gcc cc cl.exe" + osx_lion=yes + fi + if [ test $version -ge 1011 ]; then + osx_el_capitan=yes fi fi +AC_MSG_CHECKING([for Mac OS X >= 10.7]) +if [test "x$osx_lion" = "xyes"]; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AC_MSG_CHECKING([for Mac OS X >= 10.11]) +if [test "x$osx_el_capitan" = "xyes"]; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL(IS_ELCAPITAN, test "x$osx_el_capitan" = "xyes") # Our language is C++ AC_LANG(C++) diff --git a/ctools.pc.in b/ctools.pc.in index 9832f4a..f150c20 100644 --- a/ctools.pc.in +++ b/ctools.pc.in @@ -6,9 +6,9 @@ includedir=${prefix}/include Name: ctools Description: CTA science analysis tools URL: http://cta.irap.omp.eu/ctools -Version: 0.10.0 +Version: 1.0.0 Requires: -Requires.private: gammalib >= 0.11.0 +Requires.private: gammalib >= 1.0.0 Conflicts: Cflags: -I${includedir}/ctools @OPENMP_CXXFLAGS@ Libs: -L${libdir} -lctools diff --git a/doc/Doxyfile b/doc/Doxyfile index 0342252..5e00812 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -32,7 +32,7 @@ PROJECT_NAME = ctools # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 0.10.0 +PROJECT_NUMBER = 1.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/doc/source/conf.py b/doc/source/conf.py index 7fe0df6..0288704 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -66,10 +66,10 @@ copyright = u'2014-2015, ctools developers' # built documents. # # The short X.Y version. -version = '0.10' +version = '1.0' # The full version, including alpha/beta/rc tags. -release = '0.10.0' +release = '1.0.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/pyext/Makefile.am b/pyext/Makefile.am index dc0d957..a016362 100755 --- a/pyext/Makefile.am +++ b/pyext/Makefile.am @@ -94,6 +94,15 @@ all-local: build # this. build: ctools/tools_wrap.cpp ctools/tools.py $(PYTHON) setup.py build +if IS_ELCAPITAN + for f in build/ctools/ctools/_*.so; do \ + echo "Post process module "$$f; \ + install_name_tool -change $(libdir)/libctools.0.dylib @rpath/libctools.0.dylib $$f; \ + install_name_tool -change $(libdir)/libgamma.0.dylib @rpath/libgamma.0.dylib $$f; \ + install_name_tool -add_rpath $(libdir) $$f; \ + install_name_tool -add_rpath $(abs_top_srcdir)/src/.libs $$f; \ + done +endif install-exec-local: $(PYTHON) setup.py install --prefix=$(prefix) diff --git a/pyext/setup.py.in b/pyext/setup.py.in index e370333..616bea0 100644 --- a/pyext/setup.py.in +++ b/pyext/setup.py.in @@ -114,6 +114,10 @@ else: extra_compile_args = [] extra_link_args = [] +# Optionally add link flag for El Capitan post-processing of modules +if '@IS_ELCAPITAN_TRUE@' != '#': + extra_link_args.append('-headerpad_max_install_names') + # Setup setup(name='@PACKAGE_NAME@', version='@PACKAGE_VERSION@',