From a33abc5b604a056f7c8adb66ce72d3407014d0fd Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Tue, 20 Apr 2010 14:01:56 +0800 Subject: [PATCH] Check boost::signals2 in configure.ac --- configure.ac | 14 ++++++++++++-- src/Makefile.am | 12 +++++++++++- src/Signal.h | 19 +++++++++++++++++-- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 78f3167..755df88 100644 --- a/configure.ac +++ b/configure.ac @@ -86,11 +86,21 @@ AC_CHECK_FUNCS([uuid_create], [], [ ]) ]) -AM_CONDITIONAL(WITH_LIBUUID, test x"$HAVE_LIBUUID" = x"yes") +AM_CONDITIONAL(HAVE_LIBUUID, test x"$HAVE_LIBUUID" = x"yes") # check boost BOOST_REQUIRE([1.39]) - +BOOST_FIND_HEADER([boost/signals2.hpp]) +# BOOST_FIND_HEADER([boost/signals2.hpp], [ +# HAVE_BOOST_SIGNALS2=no +# BOOST_SIGNALS([s]) +# ], [ +# AC_DEFINE(HAVE_BOOST_SIGNALS2_HPP, 1, [Define if found boost.signals2]) +# HAVE_BOOST_SGINALS2=yes +# ]) +# +# AM_CONDITIONAL(HAVE_BOOST_SIGNALS2, test x"$HAVE_BOOST_SIGNALS2" = x"yes") +# # check sigc # PKG_CHECK_MODULES(SIGC, [ # sigc++-2.0 diff --git a/src/Makefile.am b/src/Makefile.am index a936803..ea382ea 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -117,11 +117,21 @@ ibus_engine_pinyin_LDADD = \ @SQLITE_LIBS@ \ $(NULL) -if WITH_LIBUUID +if HAVE_LIBUUID ibus_engine_pinyin_CXXFLAGS += $(LIBUUID_CFLAGS) ibus_engine_pinyin_LDADD += $(LIBUUID_LIBS) endif +# if HAVE_BOOST_SIGNALS2 +# # do nothing +# else +# ibus_engine_pinyin_CXXFLAGS += $(LIBUUID_CFLAGS) +# ibus_engine_pinyin_LDADD += \ +# $(BOOST_SIGNALS_LDFLAGS) \ +# $(BOOST_SIGNALS_LIBS) \ +# $(NULL) +# endif + BUILT_SOURCES = \ $(ibus_engine_built_c_sources) \ $(ibus_engine_built_h_sources) \ diff --git a/src/Signal.h b/src/Signal.h index 00b1fef..d195854 100644 --- a/src/Signal.h +++ b/src/Signal.h @@ -1,16 +1,31 @@ #ifndef __PY_SIGNAL_H_ #define __PY_SIGNAL_H_ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#ifdef HAVE_BOOST_SIGNALS2_HPP +# include +#elif HAVE_BOOST_SIGNALS_HPP +# include +#else +# error "Can not find boost.signals2 or boost.signal" +#endif + #include namespace PY { using boost::bind; +#if HAVE_BOOST_SIGNALS2_HPP template struct signal : public boost::signals2::signal_type >::type { -}; + }; +#elif HAVE_BOOST_SIGNALS_HPP +using boost::signal; +#endif }; -- 2.7.4