Commit ffdd1b7543a5393b05ef947be15db0b01621fb71

Authored by knodlseder
1 parent 96cd5dd4

link statically for profiling

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)
... ...