1 # Configure paths for Libsigc++
2 # Based on Gtk-- script by Erik Andersen and Tero Pulkkinen
4 dnl Test for Libsigc++, and define SIGC_CFLAGS and SIGC_LIBS
5 dnl to be used as follows:
6 dnl AM_PATH_SIGC(MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
10 dnl Get the cflags and libraries from the sigc-config script
16 AC_ARG_WITH(sigc-prefix,
17 [ --with-sigc-prefix=PREFIX
18 Prefix where libsigc++ is installed (optional)]
19 , sigc_config_prefix="$withval", sigc_config_prefix="")
21 AC_ARG_WITH(sigc-exec-prefix,
22 [ --with-sigc-exec-prefix=PREFIX
23 Exec prefix where libsigc++ is installed (optional)]
24 , sigc_config_exec_prefix="$withval", sigc_config_exec_prefix="")
26 AC_ARG_ENABLE(sigctest,
27 [ --disable-sigctest Do not try to compile and run a test libsigc++
29 , enable_sigctest=yes)
34 if test x$sigc_config_exec_prefix != x ; then
35 sigc_config_args="$sigc_config_args --exec-prefix=$sigc_config_exec_prefix"
36 if test x${SIGC_CONFIG+set} != xset ; then
37 SIGC_CONFIG=$sigc_config_exec_prefix/bin/sigc-config
40 if test x$sigc_config_prefix != x ; then
41 sigc_config_args="$sigc_config_args --prefix=$sigc_config_prefix"
42 if test x${SIGC_CONFIG+set} != xset ; then
43 SIGC_CONFIG=$sigc_config_prefix/bin/sigc-config
48 dnl See if sigc-config is alive
50 AC_PATH_PROG(SIGC_CONFIG, sigc-config, no)
56 AC_MSG_CHECKING(for libsigc++ - version >= $sigc_version_min)
58 if test "$SIGC_CONFIG" = "no" ; then
61 sigc_version=`$SIGC_CONFIG --version`
63 SIGC_CFLAGS=`$SIGC_CONFIG $sigc_config_args --cflags`
64 SIGC_LIBS=`$SIGC_CONFIG $sigc_config_args --libs`
65 SIGC_MACROS=`$SIGC_CONFIG $sigc_config_args --libs`
67 sigc_major_version=`echo $sigc_version | \
68 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
69 sigc_minor_version=`echo $sigc_version | \
70 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
71 sigc_micro_version=`echo $sigc_version | \
72 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
74 sigc_major_min=`echo $sigc_version_min | \
75 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
76 sigc_minor_min=`echo $sigc_version_min | \
77 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
78 sigc_micro_min=`echo $sigc_version_min | \
79 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
81 sigc_version_proper=`expr \
82 $sigc_major_version \> $sigc_major_min \| \
83 $sigc_major_version \= $sigc_major_min \& \
84 $sigc_minor_version \> $sigc_minor_min \| \
85 $sigc_major_version \= $sigc_major_min \& \
86 $sigc_minor_version \= $sigc_minor_min \& \
87 $sigc_micro_version \>= $sigc_micro_min `
89 if test "$sigc_version_proper" = "1" ; then
90 AC_MSG_RESULT([$sigc_major_version.$sigc_minor_version.$sigc_micro_version])
96 if test "X$no_sigc" = "Xyes" ; then
106 if test "x$enable_sigctest" = "xyes" ; then
107 AC_MSG_CHECKING(if libsigc++ sane)
108 ac_save_CXXFLAGS="$CXXFLAGS"
110 CXXFLAGS="$CXXFLAGS $SIGC_CFLAGS"
111 LIBS="$LIBS $SIGC_LIBS"
116 #include <sigc++/signal_system.h>
118 #ifdef SIGC_CXX_NAMESPACES
119 using namespace SigC;
127 int main(int argc,char **argv)
129 if (sigc_major_version!=$sigc_major_version ||
130 sigc_minor_version!=$sigc_minor_version ||
131 sigc_micro_version!=$sigc_micro_version)
132 { printf("(%d.%d.%d) ",
133 sigc_major_version,sigc_minor_version,sigc_micro_version);
136 Signal1<int,int> sig1;
137 sig1.connect(slot(foo1));
148 ,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
150 CXXFLAGS="$ac_save_CXXFLAGS"
157 if test "x$no_sigc" = x ; then
158 ifelse([$2], , :, [$2])
163 ifelse([$3], , :, [$3])
168 AC_SUBST(SIGC_CFLAGS)
170 AC_SUBST(SIGC_MACROS)