Reenabled all compile flags.
[libasyncio] / m4macros / ax_boost_signals.m4
CommitLineData
66817f64
RP
1# ===========================================================================
2# http://autoconf-archive.cryp.to/ax_boost_signals.html
3# ===========================================================================
4#
5# SYNOPSIS
6#
7# AX_BOOST_SIGNALS
8#
9# DESCRIPTION
10#
11# Test for Signals library from the Boost C++ libraries. The macro
12# requires a preceding call to AX_BOOST_BASE. Further documentation is
13# available at <http://randspringer.de/boost/index.html>.
14#
15# This macro calls:
16#
17# AC_SUBST(BOOST_SIGNALS_LIB)
18#
19# And sets:
20#
21# HAVE_BOOST_SIGNALS
22#
23# LAST MODIFICATION
24#
25# 2008-04-12
26#
27# COPYLEFT
28#
29# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
30# Copyright (c) 2008 Michael Tindal
31#
32# Copying and distribution of this file, with or without modification, are
33# permitted in any medium without royalty provided the copyright notice
34# and this notice are preserved.
35
36AC_DEFUN([AX_BOOST_SIGNALS],
37[
38 AC_ARG_WITH([boost-signals],
39 AS_HELP_STRING([--with-boost-signals@<:@=special-lib@:>@],
40 [use the Signals library from boost - it is possible to specify a certain library for the linker
41 e.g. --with-boost-signals=boost_signals-gcc-mt-d ]),
42 [
43 if test "$withval" = "no"; then
44 want_boost="no"
45 elif test "$withval" = "yes"; then
46 want_boost="yes"
47 ax_boost_user_signals_lib=""
48 else
49 want_boost="yes"
50 ax_boost_user_signals_lib="$withval"
51 fi
52 ],
53 [want_boost="yes"]
54 )
55
56 if test "x$want_boost" = "xyes"; then
57 AC_REQUIRE([AC_PROG_CC])
58 CPPFLAGS_SAVED="$CPPFLAGS"
59 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
60 export CPPFLAGS
61
62 LDFLAGS_SAVED="$LDFLAGS"
63 LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
64 export LDFLAGS
65
66 AC_CACHE_CHECK(whether the Boost::Signals library is available,
67 ax_cv_boost_signals,
68 [AC_LANG_PUSH([C++])
69 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/signal.hpp>
70 ]],
71 [[boost::signal<void ()> sig;
72 return 0;
73 ]]),
74 ax_cv_boost_signals=yes, ax_cv_boost_signals=no)
75 AC_LANG_POP([C++])
76 ])
77 if test "x$ax_cv_boost_signals" = "xyes"; then
78 AC_DEFINE(HAVE_BOOST_SIGNALS,,[define if the Boost::Signals library is available])
79 BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
80 if test "x$ax_boost_user_signals_lib" = "x"; then
81 for libextension in `ls $BOOSTLIBDIR/libboost_signals*.{so,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_signals.*\)\.so.*$;\1;' -e 's;^lib\(boost_signals.*\)\.a*$;\1;'` ; do
82 ax_lib=${libextension}
83 AC_CHECK_LIB($ax_lib, exit,
84 [BOOST_SIGNALS_LIB="-l$ax_lib"; AC_SUBST(BOOST_SIGNALS_LIB) link_signals="yes"; break],
85 [link_signals="no"])
86 done
87 if test "x$link_signals" != "xyes"; then
88 for libextension in `ls $BOOSTLIBDIR/boost_signals*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_signals.*\)\.dll.*$;\1;' -e 's;^\(boost_signals.*\)\.a*$;\1;'` ; do
89 ax_lib=${libextension}
90 AC_CHECK_LIB($ax_lib, exit,
91 [BOOST_SIGNALS_LIB="-l$ax_lib"; AC_SUBST(BOOST_SIGNALS_LIB) link_signals="yes"; break],
92 [link_signals="no"])
93 done
94 fi
95
96 else
97 for ax_lib in $ax_boost_user_signals_lib boost_signals-$ax_boost_user_signals_lib; do
98 AC_CHECK_LIB($ax_lib, main,
99 [BOOST_SIGNALS_LIB="-l$ax_lib"; AC_SUBST(BOOST_SIGNALS_LIB) link_signals="yes"; break],
100 [link_signals="no"])
101 done
102
103 fi
104 if test "x$link_signals" != "xyes"; then
105 AC_MSG_ERROR(Could not link against $ax_lib !)
106 fi
107 fi
108
109 CPPFLAGS="$CPPFLAGS_SAVED"
110 LDFLAGS="$LDFLAGS_SAVED"
111 fi
112])