2 # This file is part of the aMule Project.
4 # Copyright (c) 2015 aMule Team ( admin@amule.org / http://www.amule.org )
6 # Any parts of this program derived from the xMule, lMule or eMule project,
7 # or contributed by third-party developers are copyrighted by their
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version.
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 # -----------------------------------------------------------------------------
26 # Fake libtool initialization just for Boost
28 # We do not really want to use libtool, but Boost requires it. Let's just
29 # pretend we did initialize libtool for that single variable ($libext) Boost
31 # -----------------------------------------------------------------------------
32 m4_defun([_FAKE_LT_INIT],
33 [# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
34 for cc_temp in $compiler""; do
36 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
37 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
42 cc_basename=`echo "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
43 # All known linkers require a `.a' archive for static linking (except MSVC,
44 # which needs '.lib').
51 # -----------------------------------------------------------------------------
52 # MULE_CHECK_BOOST(MINIMUM-BOOST-VERSION)
54 # Adds a configure flag --with-boost[=DIR]. You may optionally specify the
55 # location of boost headers (or sources), if they are in a non-standard
56 # location. If --with-boost if not given, nothing is done. Otherwise it
57 # checks for the required minumum Boost version, and Boost.Asio. If everything
58 # is fine, defines ASIO_SOCKETS. If the Boost sources are found, also defines
59 # HAVE_BOOST_SOURCES. Other flags defined for using Boost:
61 # - BOOST_SYSTEM_LDFLAGS
63 # -----------------------------------------------------------------------------
64 AC_DEFUN([MULE_CHECK_BOOST],
67 [AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use Boost.Asio for networking])],
71 AS_IF([test ${with_boost:-no} != no], [
72 BOOST_REQUIRE([$1], [with_boost=disabled])
73 AS_IF([test ${with_boost:-no} != disabled], [
74 dnl Boost requires libtool. We don't.
76 dnl Expand required macros here, otherwise autoconf may decide to expand them at
77 dnl the top level, which is highly unwanted and would mess up Boost detection.
78 _BOOST_FIND_COMPILER_TAG
80 _BOOST_GUESS_WHETHER_TO_USE_MT
81 AC_MSG_CHECKING([for Boost sources])
82 MULE_BACKUP([CPPFLAGS])
83 MULE_APPEND([CPPFLAGS], [$BOOST_CPPFLAGS])
85 AC_LANG_PROGRAM([[#include <boost/../libs/system/src/error_code.cpp>]])
87 AC_DEFINE([HAVE_BOOST_SOURCES], [1], [Define to 1 if you have the Boost sources])
92 AS_IF([test ${boost_cv_lib_system:-no} != yes], [
93 MULE_WARNING([Boost support has been disabled because Boost.System not found])
97 MULE_RESTORE([CPPFLAGS])
98 dnl Not using BOOST_ASIO here, because it doesn't have ACTION-IF[-NOT]-FOUND parameters.
99 BOOST_FIND_HEADER([boost/asio.hpp], [
100 MULE_WARNING([Boost support has been disabled because Boost.Asio not found])
102 ], [AC_DEFINE([ASIO_SOCKETS], [1], [Define to 1 if you have <boost/asio.hpp> and are using Boost.Asio for networking.])])
103 ], [MULE_WARNING([Boost support has been disabled because of insufficient Boost version.])])