Commit ffdd1b7543a5393b05ef947be15db0b01621fb71
1 parent
96cd5dd4
link statically for profiling
Showing
4 changed files
with
80 additions
and
22 deletions
configure.ac
| ... | ... | @@ -16,6 +16,13 @@ AC_PROG_CXX |
| 16 | 16 | AC_PROG_INSTALL |
| 17 | 17 | AC_PROG_LIBTOOL |
| 18 | 18 | |
| 19 | +# Checks for header files. | |
| 20 | + | |
| 21 | +# Checks for typedefs, structures, and compiler characteristics. | |
| 22 | + | |
| 23 | +# Checks for library functions. | |
| 24 | + | |
| 25 | + | |
| 19 | 26 | dnl ================================= |
| 20 | 27 | dnl Checks for debugging or profiling |
| 21 | 28 | dnl ================================= |
| ... | ... | @@ -50,20 +57,50 @@ else |
| 50 | 57 | AC_MSG_RESULT(no) |
| 51 | 58 | fi |
| 52 | 59 | |
| 53 | -# Checks for libraries. | |
| 60 | + | |
| 61 | +dnl ==================== | |
| 62 | +dnl Checks for libraries | |
| 63 | +dnl ==================== | |
| 64 | + | |
| 65 | +# Get GammaLib configuration | |
| 54 | 66 | if test "x$prefix" = xNONE; then |
| 55 | 67 | export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/gamma/lib/pkgconfig" |
| 56 | 68 | else |
| 57 | 69 | export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$prefix/lib/pkgconfig" |
| 58 | 70 | fi |
| 59 | 71 | PKG_CHECK_MODULES(GammaLib, gammalib >= 0.0,, |
| 60 | -AC_MSG_ERROR( | |
| 61 | -[GammaLib library not found. Consider adjusting the PKG_CONFIG_PATH | |
| 62 | -environment variable if you installed GammaLib in a non-standard prefix.])) | |
| 72 | + AC_MSG_ERROR([GammaLib library not found. Consider adjusting the PKG_CONFIG_PATH | |
| 73 | + environment variable if you installed GammaLib in a non-standard prefix.])) | |
| 63 | 74 | CFLAGS="$CFLAGS $GammaLib_CFLAGS" |
| 64 | 75 | CPPFLAGS="$CPPFLAGS $GammaLib_CFLAGS" |
| 65 | 76 | LDFLAGS="$LDFLAGS $GammaLib_LIBS" |
| 66 | 77 | |
| 78 | +# Check for GammaLib library and determine path to library | |
| 79 | +AC_ARG_WITH([gammalib-lib-dir], | |
| 80 | + AC_HELP_STRING([--with-gammalib-lib-dir], | |
| 81 | + [GammaLib library directory [[/usr/(local/(gamma/))lib(64)]]]), | |
| 82 | + [gammalib_lib_dir=$withval]) | |
| 83 | +if test "x$gammalib_lib_dir" != "x"; then | |
| 84 | + test -f $gammalib_lib_dir/libgamma.a -o -f $gammalib_lib_dir/libgamma.so -o -f $gammalib_lib_dir/libgamma.dylib && LIBDIR_GAMMALIB=$gammalib_lib_dir | |
| 85 | +else | |
| 86 | + for i in /usr/local/gamma/lib /usr/local/gamma/lib64 /usr/local/lib /usr/local/lib64 /usr/lib /usr/lib64 ; do | |
| 87 | + test -f $i/libgamma.a -o -f $i/libgamma.so -o -f $i/libgamma.dylib && LIBDIR_GAMMALIB=$i | |
| 88 | + done | |
| 89 | +fi | |
| 90 | +if test -z "$LIBDIR_GAMMALIB"; then | |
| 91 | + if test "x$gammalib_lib_dir" != "x"; then | |
| 92 | + AC_MSG_ERROR(Cannot find GammaLib library under $gammalib_lib_dir) | |
| 93 | + else | |
| 94 | + AC_MSG_ERROR(Cannot find GammaLib library. Use --with-gammalib-lib-dir= to specify non-default path.) | |
| 95 | + fi | |
| 96 | +fi | |
| 97 | +AC_SUBST(LIBDIR_GAMMALIB) | |
| 98 | + | |
| 99 | + | |
| 100 | +dnl ========================= | |
| 101 | +dnl Check for Python bindings | |
| 102 | +dnl ========================= | |
| 103 | + | |
| 67 | 104 | # Checks for SWIG |
| 68 | 105 | AC_PATH_PROG([SWIG], [swig]) |
| 69 | 106 | AM_CONDITIONAL(HAVE_SWIG, test "$SWIG") |
| ... | ... | @@ -91,12 +128,33 @@ else |
| 91 | 128 | fi |
| 92 | 129 | AM_CONDITIONAL(ENABLE_PYTHON_BINDING, test "x$ac_enable_python_binding" = "xyes") |
| 93 | 130 | |
| 94 | -# Checks for header files. | |
| 95 | 131 | |
| 96 | -# Checks for typedefs, structures, and compiler characteristics. | |
| 132 | +dnl ================== | |
| 133 | +dnl Build static code? | |
| 134 | +dnl ================== | |
| 135 | +if test "x$enable_profiling" = "xyes"; then | |
| 136 | + AC_MSG_NOTICE([Link executables statically.]) | |
| 137 | + LIB_LINK_OPTION="-all-static" | |
| 138 | +else | |
| 139 | + AC_MSG_CHECKING(whether to link executables statically) | |
| 140 | + AC_ARG_ENABLE([static_link], | |
| 141 | + AS_HELP_STRING([--enable-static-link], | |
| 142 | + [link executables statically (default=no)]), | |
| 143 | + [static_link="$enableval"], | |
| 144 | + [static_link="no"]) | |
| 145 | + if test "x$static_link" = "xyes"; then | |
| 146 | + AC_MSG_RESULT(yes) | |
| 147 | + LIB_LINK_OPTION="-all-static" | |
| 148 | + else | |
| 149 | + AC_MSG_RESULT(no) | |
| 150 | + fi | |
| 151 | +fi | |
| 152 | +AC_SUBST(LIB_LINK_OPTION) | |
| 97 | 153 | |
| 98 | -# Checks for library functions. | |
| 99 | 154 | |
| 155 | +dnl ========================== | |
| 156 | +dnl Create configuration files | |
| 157 | +dnl ========================== | |
| 100 | 158 | AC_CONFIG_FILES([Makefile |
| 101 | 159 | src/Makefile |
| 102 | 160 | src/ctselect/Makefile | ... | ... |
src/ctbin/Makefile.am
| ... | ... | @@ -15,15 +15,15 @@ bin_PROGRAMS = ctbin |
| 15 | 15 | # Sources |
| 16 | 16 | sources = ctbin.cpp |
| 17 | 17 | |
| 18 | +# Libtool library (only needed for python bindings) | |
| 19 | +noinst_LTLIBRARIES = libctbin.la | |
| 20 | +libctbin_la_SOURCES = $(sources) | |
| 21 | + | |
| 18 | 22 | # Program definition |
| 19 | 23 | ctbin_SOURCES = main.cpp $(sources) |
| 20 | -ctbin_LDFLAGS = @LDFLAGS@ | |
| 24 | +ctbin_LDFLAGS = $(LIB_LINK_OPTION) @LDFLAGS@ | |
| 21 | 25 | ctbin_CPPFLAGS = @CPPFLAGS@ |
| 22 | 26 | |
| 23 | 27 | # Parameter files |
| 24 | 28 | pfilesdir = $(prefix)/syspfiles |
| 25 | 29 | pfiles_DATA = ctbin.par |
| 26 | - | |
| 27 | -# Libtool library (only needed for python bindings) | |
| 28 | -noinst_LTLIBRARIES = libctbin.la | |
| 29 | -libctbin_la_SOURCES = $(sources) | ... | ... |
src/ctlike/Makefile.am
| ... | ... | @@ -15,15 +15,15 @@ bin_PROGRAMS = ctlike |
| 15 | 15 | # Sources |
| 16 | 16 | sources = ctlike.cpp |
| 17 | 17 | |
| 18 | +# Libtool library (only needed for python bindings) | |
| 19 | +noinst_LTLIBRARIES = libctlike.la | |
| 20 | +libctlike_la_SOURCES = $(sources) | |
| 21 | + | |
| 18 | 22 | # Program definition |
| 19 | 23 | ctlike_SOURCES = main.cpp $(sources) |
| 20 | -ctlike_LDFLAGS = @LDFLAGS@ | |
| 24 | +ctlike_LDFLAGS = $(LIB_LINK_OPTION) @LDFLAGS@ | |
| 21 | 25 | ctlike_CPPFLAGS = @CPPFLAGS@ |
| 22 | 26 | |
| 23 | 27 | # Parameter files |
| 24 | 28 | pfilesdir = $(prefix)/syspfiles |
| 25 | 29 | pfiles_DATA = ctlike.par |
| 26 | - | |
| 27 | -# Libtool library (only needed for python bindings) | |
| 28 | -noinst_LTLIBRARIES = libctlike.la | |
| 29 | -libctlike_la_SOURCES = $(sources) | ... | ... |
src/ctselect/Makefile.am
| ... | ... | @@ -15,15 +15,15 @@ bin_PROGRAMS = ctselect |
| 15 | 15 | # Sources |
| 16 | 16 | sources = ctselect.cpp |
| 17 | 17 | |
| 18 | +# Libtool library (only needed for python bindings) | |
| 19 | +noinst_LTLIBRARIES = libctselect.la | |
| 20 | +libctselect_la_SOURCES = $(sources) | |
| 21 | + | |
| 18 | 22 | # Program definition |
| 19 | 23 | ctselect_SOURCES = main.cpp $(sources) |
| 20 | -ctselect_LDFLAGS = @LDFLAGS@ | |
| 24 | +ctselect_LDFLAGS = $(LIB_LINK_OPTION) @LDFLAGS@ | |
| 21 | 25 | ctselect_CPPFLAGS = @CPPFLAGS@ |
| 22 | 26 | |
| 23 | 27 | # Parameter files |
| 24 | 28 | pfilesdir = $(prefix)/syspfiles |
| 25 | 29 | pfiles_DATA = ctselect.par |
| 26 | - | |
| 27 | -# Libtool library (only needed for python bindings) | |
| 28 | -noinst_LTLIBRARIES = libctselect.la | |
| 29 | -libctselect_la_SOURCES = $(sources) | ... | ... |