Commit 3efc918ba71db746c0e4ed4ade7c506166486127
1 parent
1162207c
don't use pkg-config anymore and handle CPPFLAGS/LDFLAGS
Showing
1 changed file
with
92 additions
and
18 deletions
configure.ac
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | # |
| 18 | 18 | # Process this file with autoconf to produce a configure script |
| 19 | 19 | |
| 20 | -AC_INIT([ctatools], [0.2.2], [knodlseder@cesr.fr], [ctatools], [http://cta.irap.omp.eu/ctatools]) | |
| 20 | +AC_INIT([ctatools], [0.2.3], [knodlseder@cesr.fr], [ctatools]) | |
| 21 | 21 | AC_CONFIG_SRCDIR([src/ctselect/ctselect.cpp]) |
| 22 | 22 | AC_CONFIG_MACRO_DIR([m4]) |
| 23 | 23 | AC_CONFIG_HEADERS([config.h]) |
| ... | ... | @@ -39,8 +39,8 @@ AC_DEFINE_UNQUOTED([PACKAGE_PREFIX], "${ctatools_prefix}", [Location where libra |
| 39 | 39 | dnl ============================================== |
| 40 | 40 | dnl Add pkgconfig information of install directory |
| 41 | 41 | dnl ============================================== |
| 42 | -PKG_CONFIG_PATH="${ctatools_prefix}/lib/pkgconfig:/opt/local/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH" | |
| 43 | -export PKG_CONFIG_PATH | |
| 42 | +# PKG_CONFIG_PATH="${ctatools_prefix}/lib/pkgconfig:/opt/local/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH" | |
| 43 | +# export PKG_CONFIG_PATH | |
| 44 | 44 | |
| 45 | 45 | |
| 46 | 46 | dnl =========================== |
| ... | ... | @@ -118,17 +118,39 @@ dnl ======================================================================== |
| 118 | 118 | dnl Checks for python binding. Python binding requires Python and either the |
| 119 | 119 | dnl files gammalib_wrap.cpp and gammalib.py or SWIG to create these files. |
| 120 | 120 | dnl The following conditionals are set: |
| 121 | -dnl HAVE_PYTHON - Python >= 2.2 is available | |
| 121 | +dnl HAVE_PYTHON - Python >= 2.2 and headers are available | |
| 122 | +dnl has_python - Python >= 2.2 and headers are available | |
| 122 | 123 | dnl HAVE_SWIG - swig is available |
| 123 | 124 | dnl ENABLE_PYTHON_BINDING - Python binding is requested |
| 124 | 125 | dnl WITH_PYTHON_BINDING - Either has swig or python wraper files |
| 125 | 126 | dnl ======================================================================== |
| 126 | 127 | |
| 127 | 128 | # Checks for Python (HAVE_PYTHON) |
| 129 | +has_python="no" | |
| 128 | 130 | AM_PATH_PYTHON([2.2], |
| 129 | - [], | |
| 130 | - [AC_MSG_WARN([Python not found. Python is required to build python binding. Python can be obtained from http://www.python.org])]) | |
| 131 | -AM_CONDITIONAL(HAVE_PYTHON, test "$PYTHON") | |
| 131 | + [has_python="yes"], | |
| 132 | + [AC_MSG_WARN([Python >=2.2 not found. Python >=2.2 is required to build python binding. Python can be obtained from http://www.python.org])]) | |
| 133 | +if test "x$has_python" = "xyes"; then | |
| 134 | + | |
| 135 | + # Determine include path for python | |
| 136 | + AC_PATH_PROG(PY_INCLUDE, python) | |
| 137 | + PY_INCLUDE=`echo $PY_INCLUDE | sed -e "s/bin/include/"` | |
| 138 | + PY_INCLUDE="$PY_INCLUDE$PYTHON_VERSION" | |
| 139 | + | |
| 140 | + # Check if we have Python.h | |
| 141 | + AC_CHECK_HEADERS($PY_INCLUDE/Python.h, [has_python="yes"], [has_python="no"]) | |
| 142 | + | |
| 143 | + # Mac OS X kluge: if test before was unsuccessful then check for headers in /usr/include | |
| 144 | + if test "x$has_python" = "xno"; then | |
| 145 | + AC_CHECK_HEADERS("/usr/include/python$PYTHON_VERSION/Python.h", [has_python="yes"], [has_python="no"]) | |
| 146 | + fi | |
| 147 | + | |
| 148 | + # Signal any problem | |
| 149 | + if test "x$has_python" = "xno"; then | |
| 150 | + AC_MSG_WARN([No Python header file "$PY_INCLUDE/Python.h" found. Please install appropriate Python development package.]) | |
| 151 | + fi | |
| 152 | +fi | |
| 153 | +AM_CONDITIONAL(HAVE_PYTHON, test "x$has_python" = "xyes") | |
| 132 | 154 | |
| 133 | 155 | # Checks for SWIG (HAVE_SWIG) |
| 134 | 156 | AC_PATH_PROG([SWIG], [swig]) |
| ... | ... | @@ -154,7 +176,7 @@ AM_CONDITIONAL(WITH_PYTHON_BINDING, test "x$has_python_wrap" = "xyes" -o "$SWIG" |
| 154 | 176 | |
| 155 | 177 | # Inform about missing components and set host dependent variables |
| 156 | 178 | if test "x$ac_enable_python_binding" = "xyes"; then |
| 157 | - if test "$PYTHON"; then | |
| 179 | + if test "x$has_python" = "xyes"; then | |
| 158 | 180 | if test "x$has_python_wrap" != "xyes"; then |
| 159 | 181 | if test ! "$SWIG"; then |
| 160 | 182 | AC_MSG_WARN([Neither pyext/ctatools_wrap.cpp and pyext/ctatools.py nor swig has not been found]) |
| ... | ... | @@ -193,18 +215,70 @@ fi |
| 193 | 215 | dnl =========================== |
| 194 | 216 | dnl Checks for GammaLib library |
| 195 | 217 | dnl =========================== |
| 218 | + | |
| 219 | +# Initialise GammaLib availability | |
| 196 | 220 | has_gammalib="no" |
| 197 | -PKG_CHECK_MODULES([GammaLib], [gammalib >= 0.4.7], | |
| 198 | - [has_gammalib="yes"], | |
| 199 | - [AC_MSG_ERROR([GammaLib library not found]) | |
| 200 | - AC_MSG_ERROR([Make sure that at least version 0.4.7 of GammaLib in installed]) | |
| 201 | - AC_MSG_ERROR([If GammaLib is not installed in the default location, please adjust the PKG_CONFIG_PATH environment variable])]) | |
| 221 | + | |
| 222 | +#PKG_CHECK_MODULES([GammaLib], [gammalib >= 0.4.7], | |
| 223 | +# [has_gammalib="yes"], | |
| 224 | +# [AC_MSG_ERROR([GammaLib library not found]) | |
| 225 | +# AC_MSG_ERROR([Make sure that at least version 0.4.7 of GammaLib in installed]) | |
| 226 | +# AC_MSG_ERROR([If GammaLib is not installed in the default location, please adjust the PKG_CONFIG_PATH environment variable])]) | |
| 227 | +#if test "x$has_gammalib" = "xyes"; then | |
| 228 | +# AC_DEFINE([HAVE_LIBGAMMA], [1], [Define if gammalib is available]) | |
| 229 | +# CFLAGS="$CFLAGS $GammaLib_CFLAGS" | |
| 230 | +# CPPFLAGS="$CPPFLAGS $GammaLib_CFLAGS" | |
| 231 | +# LDFLAGS="$LDFLAGS $GammaLib_LIBS" | |
| 232 | +#fi | |
| 233 | + | |
| 234 | +# Search for GammaLib in a some standard directories | |
| 235 | +for i in "$ctatools_prefix" /opt/local /usr/local /usr ; do | |
| 236 | + if test -f $i/lib/libgamma.so -o -f $i/lib/libgamma.dylib -a -d $i/include/gammalib; then | |
| 237 | + LIBDIR_GAMMALIB=$i/lib | |
| 238 | + INCDIR_GAMMALIB=$i/include/gammalib | |
| 239 | + break | |
| 240 | + fi | |
| 241 | + if test -f $i/lib64/libgamma.so -o -f $i/lib64/libgamma.so -a -d $i/include/gammalib; then | |
| 242 | + LIBDIR_GAMMALIB=$i/lib64 | |
| 243 | + INCDIR_GAMMALIB=$i/include/gammalib | |
| 244 | + break | |
| 245 | + fi | |
| 246 | +done | |
| 247 | +if test -n "$LIBDIR_GAMMALIB" -a -n "$INCDIR_GAMMALIB"; then | |
| 248 | + has_gammalib="yes" | |
| 249 | + LDFLAGS="$LDFLAGS -L$LIBDIR_GAMMALIB" | |
| 250 | + CPPFLAGS="$CPPFLAGS -I$INCDIR_GAMMALIB" | |
| 251 | + AC_MSG_NOTICE([GammaLib found in ${LIBDIR_GAMMALIB} and ${INCDIR_GAMMALIB}.]) | |
| 252 | +else | |
| 253 | + | |
| 254 | + # If GammaLib has not yet been found then search now using the AC_LINK_IFELSE | |
| 255 | + # macro. This allows also search in paths that are eventually specified in | |
| 256 | + # LDFLAGS | |
| 257 | + if test "x$has_gammalib" != "xyes"; then | |
| 258 | + AC_LANG(C++) | |
| 259 | + SAVED_LDFLAGS=$LDFLAGS | |
| 260 | + LDFLAGS="$LDFLAGS -lgamma" | |
| 261 | + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <GammaLib.hpp>], | |
| 262 | + [GSkyDir dir])], | |
| 263 | + [has_gammalib="yes" | |
| 264 | + AC_MSG_NOTICE([GammaLib found.])], | |
| 265 | + [AC_MSG_WARN([GammaLib is not installed.])]) | |
| 266 | + LDFLAGS=$SAVED_LDFLAGS | |
| 267 | + fi | |
| 268 | +fi | |
| 269 | + | |
| 270 | +# Set GammaLib information | |
| 202 | 271 | if test "x$has_gammalib" = "xyes"; then |
| 272 | + LIBS_GAMMALIB="-lgamma" | |
| 273 | + LIBS="${LIBS} ${LIBS_GAMMALIB}" | |
| 203 | 274 | AC_DEFINE([HAVE_LIBGAMMA], [1], [Define if gammalib is available]) |
| 204 | - CFLAGS="$CFLAGS $GammaLib_CFLAGS" | |
| 205 | - CPPFLAGS="$CPPFLAGS $GammaLib_CFLAGS" | |
| 206 | - LDFLAGS="$LDFLAGS $GammaLib_LIBS" | |
| 275 | + AC_SUBST(LIBS_GAMMALIB) | |
| 276 | + AC_SUBST(LIBDIR_GAMMALIB) | |
| 277 | + AC_SUBST(INCDIR_GAMMALIB) | |
| 207 | 278 | fi |
| 279 | +#echo $LDFLAGS | |
| 280 | +#echo $CPPFLAGS | |
| 281 | +#echo $LIBS | |
| 208 | 282 | |
| 209 | 283 | |
| 210 | 284 | dnl ================== |
| ... | ... | @@ -253,7 +327,7 @@ echo |
| 253 | 327 | echo " ctatools configuration summary" |
| 254 | 328 | echo " ==============================" |
| 255 | 329 | if test "x$has_gammalib" = "xyes"; then |
| 256 | - echo " * GammaLib support (yes)" | |
| 330 | + echo " * GammaLib support (yes) ${LIBDIR_GAMMALIB} ${INCDIR_GAMMALIB}" | |
| 257 | 331 | else |
| 258 | 332 | echo " - GammaLib support (no) no gammalib library found" |
| 259 | 333 | fi |
| ... | ... | @@ -263,7 +337,7 @@ else |
| 263 | 337 | echo " * swig (yes)" |
| 264 | 338 | fi |
| 265 | 339 | if test "x$ac_enable_python_binding" = "xyes"; then |
| 266 | - if test "$PYTHON"; then | |
| 340 | + if test "x$has_python" = "xyes"; then | |
| 267 | 341 | if test "x$has_python_wrap" = "xyes"; then |
| 268 | 342 | if test ! "$SWIG"; then |
| 269 | 343 | echo " * Python binding (yes)" | ... | ... |