Commit 1c2f5a5a443d05d03eb99ea1d2de43a10410fc83
Merge branch 'integration' into devel
Showing
3 changed files
with
40 additions
and
11 deletions
ChangeLog
| ... | ... | @@ -3,6 +3,7 @@ |
| 3 | 3 | * Version 1.3.0 released |
| 4 | 4 | ======================== |
| 5 | 5 | |
| 6 | + If code originates from Git, always compile the Python bindings (#1985) | |
| 6 | 7 | Raise exception instead of exiting with return code in Python tests (#1983) |
| 7 | 8 | Support of map cubes lying outside RoI in ctobssim |
| 8 | 9 | Support energy boundary FITS file in ctmapcube (#1978) | ... | ... |
NEWS
| ... | ... | @@ -15,6 +15,12 @@ The Python unit tests now raise exceptions instead of exiting with a non- |
| 15 | 15 | zero return code so that the user is not thrown out of Python after calling |
| 16 | 16 | ctools.test() and cscripts.test() (#1983). |
| 17 | 17 | |
| 18 | +If the code originates from the Git repository the configuration now switches | |
| 19 | +to developer mode which implies that the Python bindings are always built. | |
| 20 | +This solves the problem that occured for developers that could not get rid | |
| 21 | +of existing Python wrappers, even if they modified the Python interface | |
| 22 | +(#1985). | |
| 23 | + | |
| 18 | 24 | |
| 19 | 25 | Python interface |
| 20 | 26 | ---------------- | ... | ... |
configure.ac
| 1 | 1 | ############################################################################# |
| 2 | 2 | # Configuration for ctools - tools for science analysis of CTA data # |
| 3 | 3 | # ------------------------------------------------------------------------- # |
| 4 | -# Copyright (C) 2011-2016 Juergen Knoedlseder # | |
| 4 | +# Copyright (C) 2011-2017 Juergen Knoedlseder # | |
| 5 | 5 | # ------------------------------------------------------------------------- # |
| 6 | 6 | # # |
| 7 | 7 | # This program is free software: you can redistribute it and/or modify # |
| ... | ... | @@ -608,9 +608,10 @@ AC_C_INLINE |
| 608 | 608 | # Python binding requires Python and either the files tools_wrap.cpp and # |
| 609 | 609 | # tools.py or swig to create these files. The following conditionals are # |
| 610 | 610 | # set: # |
| 611 | -# WITH_PYTHON - Python bindings will be built # | |
| 612 | -# HAVE_SWIG - swig is available # | |
| 613 | -# HAVE_WRAPPERS - wrappers are available # | |
| 611 | +# WITH_PYTHON - Python bindings will be built # | |
| 612 | +# HAVE_SWIG - swig is available # | |
| 613 | +# HAVE_WRAPPERS - wrappers are available # | |
| 614 | +# BUILD_WRAPPERS - build the Python wrappers # | |
| 614 | 615 | ############################################################################# |
| 615 | 616 | # Initialise flags |
| 616 | 617 | enable_python="no" |
| ... | ... | @@ -620,6 +621,12 @@ has_swig="no" |
| 620 | 621 | has_wrappers="no" |
| 621 | 622 | build_wrappers="no" |
| 622 | 623 | |
| 624 | +# Check if the code is a git clone. In that case the systems switches to | |
| 625 | +# developer mode which forces building of the Python interface with SWIG. | |
| 626 | +AC_CHECK_FILE([.git/HEAD], | |
| 627 | + [from_git=yes;build_wrappers="yes"], | |
| 628 | + [from_git=no]) | |
| 629 | + | |
| 623 | 630 | # Python binding enabled? |
| 624 | 631 | AC_ARG_ENABLE([python-binding], |
| 625 | 632 | AS_HELP_STRING([--enable-python-binding], |
| ... | ... | @@ -1064,21 +1071,36 @@ else |
| 1064 | 1071 | echo " - GammaLib support (no) no gammalib library found" |
| 1065 | 1072 | fi |
| 1066 | 1073 | |
| 1074 | +# Dump developer configuration | |
| 1075 | +if test "x$from_git" = "xyes"; then | |
| 1076 | + echo " * Developer configuration (yes)" | |
| 1077 | +else | |
| 1078 | + echo " * End user configuration (yes)" | |
| 1079 | +fi | |
| 1080 | + | |
| 1067 | 1081 | # Dump Python binding information |
| 1068 | 1082 | if test "x$ac_enable_python_binding" = "xyes"; then |
| 1069 | 1083 | if test "x$has_python" = "xyes"; then |
| 1070 | 1084 | if test "x$has_python_h" = "xyes"; then |
| 1071 | - if test "x$has_wrappers" = "xyes"; then | |
| 1072 | - if test "x$has_swig" = "xyes"; then | |
| 1073 | - echo " * Make Python binding (yes) use swig for updates" | |
| 1085 | + if test "x$build_wrappers" = "xyes"; then | |
| 1086 | + if test "x$has_wrappers" = "xyes"; then | |
| 1087 | + if test "x$has_swig" = "xyes"; then | |
| 1088 | + echo " * Make Python binding (yes) use swig for updates" | |
| 1089 | + else | |
| 1090 | + echo " * Make Python binding (yes) use wrappers" | |
| 1091 | + fi | |
| 1074 | 1092 | else |
| 1075 | - echo " * Make Python binding (yes) use wrappers" | |
| 1093 | + if test "x$has_swig" = "xyes"; then | |
| 1094 | + echo " * Make Python binding (yes) use swig for building" | |
| 1095 | + else | |
| 1096 | + echo " - Make Python binding (no) swig required to build wrappers" | |
| 1097 | + fi | |
| 1076 | 1098 | fi |
| 1077 | 1099 | else |
| 1078 | - if test "x$has_swig" = "xyes"; then | |
| 1079 | - echo " * Make Python binding (yes) use swig for building" | |
| 1100 | + if test "x$has_wrappers" = "xyes"; then | |
| 1101 | + echo " - Make Python binding (yes) use existing wrappers" | |
| 1080 | 1102 | else |
| 1081 | - echo " - Make Python binding (no) swig required to build wrappers" | |
| 1103 | + echo " - Make Python binding (no) wrappers not found" | |
| 1082 | 1104 | fi |
| 1083 | 1105 | fi |
| 1084 | 1106 | else | ... | ... |