2009-03-30 22:52:44 +00:00
|
|
|
#
|
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
|
|
# or more contributor license agreements. See the NOTICE file
|
|
|
|
# distributed with this work for additional information
|
|
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
|
|
# to you under the Apache License, Version 2.0 (the
|
|
|
|
# "License"); you may not use this file except in compliance
|
|
|
|
# with the License. You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing,
|
|
|
|
# software distributed under the License is distributed on an
|
|
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
# KIND, either express or implied. See the License for the
|
|
|
|
# specific language governing permissions and limitations
|
|
|
|
# under the License.
|
|
|
|
#
|
|
|
|
|
2011-01-27 02:53:57 +00:00
|
|
|
AC_PREREQ(2.65)
|
2015-04-03 10:37:03 +00:00
|
|
|
AC_CONFIG_MACRO_DIR([./aclocal])
|
2006-08-23 22:03:34 +00:00
|
|
|
|
2012-10-11 20:34:25 +00:00
|
|
|
AC_INIT([thrift], [1.0.0-dev])
|
2006-08-23 22:03:34 +00:00
|
|
|
|
|
|
|
AC_CONFIG_AUX_DIR([.])
|
|
|
|
|
2015-07-25 13:59:46 +00:00
|
|
|
AM_INIT_AUTOMAKE([1.13 subdir-objects tar-ustar])
|
2011-02-09 17:05:11 +00:00
|
|
|
PKG_PROG_PKG_CONFIG
|
2006-08-23 22:03:34 +00:00
|
|
|
|
2007-09-05 00:47:32 +00:00
|
|
|
AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
|
|
|
|
(Normal --prefix is ignored for Python because
|
|
|
|
Python has different conventions.)
|
|
|
|
Default = "/usr"])
|
2008-03-04 21:10:29 +00:00
|
|
|
AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
|
2007-09-05 00:47:32 +00:00
|
|
|
|
2008-07-11 01:26:16 +00:00
|
|
|
AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar.
|
2016-02-16 16:22:49 +00:00
|
|
|
Default = "/usr/local/lib"])
|
|
|
|
AS_IF([test "x$JAVA_PREFIX" != x], [JAVA_PREFIX="$JAVA_PREFIX/usr/local/lib"],
|
|
|
|
[test "x$PREFIX" != x], [JAVA_PREFIX="$PREFIX/usr/local/lib"],
|
|
|
|
[JAVA_PREFIX="/usr/local/lib"])
|
2007-12-28 18:25:33 +00:00
|
|
|
|
2010-05-12 21:31:58 +00:00
|
|
|
AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules.
|
|
|
|
(Normal --prefix is ignored for Ruby because
|
|
|
|
Ruby has different conventions.)
|
|
|
|
Default = none, let ruby setup decide])
|
|
|
|
|
2010-05-02 22:39:31 +00:00
|
|
|
AC_ARG_VAR([PHP_PREFIX], [Prefix for installing PHP modules.
|
|
|
|
(Normal --prefix is ignored for PHP because
|
|
|
|
PHP has different conventions.)
|
|
|
|
Default = "/usr/lib/php"])
|
|
|
|
AS_IF([test "x$PHP_PREFIX" = x], [PHP_PREFIX="/usr/lib/php"])
|
|
|
|
|
2010-08-25 17:09:02 +00:00
|
|
|
AC_ARG_VAR([PHP_CONFIG_PREFIX],
|
|
|
|
[Prefix for installing PHP extension module .ini file.
|
|
|
|
(Normal --prefix is ignored for PHP because PHP has
|
|
|
|
different conventions.)
|
|
|
|
Default = "/etc/php.d"])
|
|
|
|
AS_IF([test "x$PHP_CONFIG_PREFIX" = x], [PHP_CONFIG_PREFIX="/etc/php.d"])
|
|
|
|
|
2011-05-05 13:45:26 +00:00
|
|
|
AC_ARG_VAR([INSTALLDIRS], [When installing Perl modules, specifies which
|
|
|
|
of the sets of installation directories
|
|
|
|
to choose: perl, site or vendor.
|
|
|
|
Default = "vendor"])
|
|
|
|
AS_IF([test "x$INSTALLDIRS" = x], [INSTALLDIRS="vendor"])
|
|
|
|
|
2010-06-11 17:57:32 +00:00
|
|
|
AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules.
|
|
|
|
(Normal --prefix is ignored for Perl because
|
|
|
|
Perl has different conventions.)
|
2011-05-05 13:45:26 +00:00
|
|
|
Ignored, when INSTALLDIRS set to site or vendor.
|
2010-06-11 17:57:32 +00:00
|
|
|
Default = "/usr/local/lib"])
|
|
|
|
AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"])
|
|
|
|
|
2010-09-27 17:22:17 +00:00
|
|
|
AC_ARG_VAR([CABAL_CONFIGURE_FLAGS],
|
|
|
|
[Extra flags to pass to cabal: "cabal Setup.lhs configure $CABAL_CONFIGURE_FLAGS".
|
|
|
|
(Typically used to set --user or force --global.)])
|
|
|
|
|
|
|
|
AC_SUBST(CABAL_CONFIGURE_FLAGS)
|
|
|
|
|
2012-03-22 21:49:10 +00:00
|
|
|
AC_ARG_VAR([D_IMPORT_PREFIX], [Prefix for installing D modules.
|
|
|
|
[INCLUDEDIR/d2]])
|
|
|
|
AS_IF([test "x$D_IMPORT_PREFIX" = x], [D_IMPORT_PREFIX="${includedir}/d2"])
|
|
|
|
|
|
|
|
AC_ARG_VAR([DMD_LIBEVENT_FLAGS], [DMD flags for linking libevent (auto-detected if not set).])
|
|
|
|
AC_ARG_VAR([DMD_OPENSSL_FLAGS], [DMD flags for linking OpenSSL (auto-detected if not set).])
|
|
|
|
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_CPP
|
|
|
|
AC_PROG_CXX
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_PROG_LIBTOOL
|
|
|
|
AC_PROG_MAKE_SET
|
2014-07-14 18:22:12 +00:00
|
|
|
AC_PROG_BISON(2.5)
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_PROG_YACC
|
|
|
|
AC_PROG_LEX
|
|
|
|
AM_PROG_LEX
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_PROG_LN_S
|
|
|
|
AC_PROG_MKDIR_P
|
2011-02-20 02:39:19 +00:00
|
|
|
AC_PROG_AWK
|
|
|
|
AC_PROG_RANLIB
|
2007-12-28 18:25:33 +00:00
|
|
|
|
|
|
|
AC_LANG([C++])
|
2015-04-25 15:53:28 +00:00
|
|
|
AX_CXX_COMPILE_STDCXX_11([noext], [optional])
|
2007-12-28 18:25:33 +00:00
|
|
|
|
2014-11-13 14:33:38 +00:00
|
|
|
AM_EXTRA_RECURSIVE_TARGETS([style])
|
|
|
|
AC_SUBST(CPPSTYLE_CMD, 'find . -type f \( -iname "*.h" -or -iname "*.cpp" -or -iname "*.cc" -or -iname "*.tcc" \) -printf "Reformatting: %h/%f\n" -exec clang-format -i {} \;')
|
|
|
|
|
2014-02-09 20:13:53 +00:00
|
|
|
AC_ARG_ENABLE([libs],
|
|
|
|
AS_HELP_STRING([--enable-libs], [build the Apache Thrift libraries [default=yes]]),
|
|
|
|
[], enable_libs=yes
|
|
|
|
)
|
|
|
|
have_libs=yes
|
|
|
|
if test "$enable_libs" = "no"; then
|
|
|
|
have_libs="no"
|
|
|
|
with_cpp="no"
|
|
|
|
with_c_glib="no"
|
|
|
|
with_java="no"
|
|
|
|
with_csharp="no"
|
|
|
|
with_python="no"
|
|
|
|
with_ruby="no"
|
|
|
|
with_haskell="no"
|
2014-07-27 23:25:30 +00:00
|
|
|
with_haxe="no"
|
2014-02-09 20:13:53 +00:00
|
|
|
with_perl="no"
|
|
|
|
with_php="no"
|
|
|
|
with_php_extension="no"
|
2015-08-29 15:46:51 +00:00
|
|
|
with_dart="no"
|
2014-02-09 20:13:53 +00:00
|
|
|
with_erlang="no"
|
|
|
|
with_go="no"
|
|
|
|
with_d="no"
|
|
|
|
with_nodejs="no"
|
2014-04-04 22:45:42 +00:00
|
|
|
with_lua="no"
|
2014-02-09 20:13:53 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
2010-08-31 16:51:21 +00:00
|
|
|
AX_THRIFT_LIB(cpp, [C++], yes)
|
|
|
|
have_cpp=no
|
|
|
|
if test "$with_cpp" = "yes"; then
|
2015-02-11 13:55:22 +00:00
|
|
|
AX_BOOST_BASE([1.53.0])
|
2011-06-09 19:14:22 +00:00
|
|
|
if test "x$succeeded" = "xyes" ; then
|
2014-12-20 11:19:00 +00:00
|
|
|
AC_SUBST([BOOST_LIB_DIR], [$(echo "$BOOST_LDFLAGS" | sed -e 's/^\-L//')])
|
2015-04-24 13:52:44 +00:00
|
|
|
AC_SUBST([BOOST_CHRONO_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_chrono.a")])
|
2015-07-28 17:31:27 +00:00
|
|
|
AC_SUBST([BOOST_FILESYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_filesystem.a")])
|
2015-04-24 13:52:44 +00:00
|
|
|
AC_SUBST([BOOST_SYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_system.a")])
|
2014-12-20 11:19:00 +00:00
|
|
|
AC_SUBST([BOOST_TEST_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_unit_test_framework.a")])
|
2015-04-24 13:52:44 +00:00
|
|
|
AC_SUBST([BOOST_THREAD_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_thread.a")])
|
2010-08-31 16:51:28 +00:00
|
|
|
have_cpp="yes"
|
|
|
|
fi
|
2010-08-31 16:51:21 +00:00
|
|
|
|
2014-12-12 01:36:12 +00:00
|
|
|
AX_CHECK_OPENSSL()
|
|
|
|
|
2010-08-31 16:51:21 +00:00
|
|
|
AX_LIB_EVENT([1.0])
|
|
|
|
have_libevent=$success
|
|
|
|
|
|
|
|
AX_LIB_ZLIB([1.2.3])
|
|
|
|
have_zlib=$success
|
2013-03-07 16:32:48 +00:00
|
|
|
|
2012-07-27 16:01:33 +00:00
|
|
|
AX_THRIFT_LIB(qt4, [Qt], yes)
|
|
|
|
have_qt=no
|
|
|
|
if test "$with_qt4" = "yes"; then
|
|
|
|
PKG_CHECK_MODULES([QT], [QtCore >= 4.3, QtNetwork >= 4.3], have_qt=yes, have_qt=no)
|
|
|
|
fi
|
2012-02-10 19:53:20 +00:00
|
|
|
if test "$have_qt" = "yes"; then
|
2014-12-23 17:18:58 +00:00
|
|
|
AC_PATH_PROGS([QT_MOC], [moc-qt4 moc], "fail")
|
|
|
|
if test "$QT_MOC" = "fail"; then
|
|
|
|
have_qt=no
|
|
|
|
fi
|
2012-02-10 19:53:20 +00:00
|
|
|
fi
|
2014-12-07 12:45:33 +00:00
|
|
|
|
|
|
|
AX_THRIFT_LIB(qt5, [Qt5], yes)
|
|
|
|
have_qt5=no
|
|
|
|
qt_reduce_reloc=""
|
|
|
|
if test "$with_qt5" = "yes"; then
|
|
|
|
PKG_CHECK_MODULES([QT5], [Qt5Core >= 5.0, Qt5Network >= 5.0],
|
|
|
|
[have_qt5=yes;qt_reduce_reloc=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "reduce_relocations"`],
|
|
|
|
[have_qt5=no])
|
|
|
|
fi
|
|
|
|
if test "$have_qt5" = "yes"; then
|
2014-12-23 17:18:58 +00:00
|
|
|
AC_PATH_PROGS([QT5_MOC], [moc-qt5 moc], "fail")
|
|
|
|
if test "$QT5_MOC" = "fail"; then
|
|
|
|
have_qt5=no
|
|
|
|
fi
|
2014-12-07 12:45:33 +00:00
|
|
|
fi
|
2010-08-31 16:51:21 +00:00
|
|
|
fi
|
|
|
|
AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"])
|
|
|
|
AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$have_libevent" = "yes"])
|
|
|
|
AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$have_zlib" = "yes"])
|
2012-02-10 19:53:20 +00:00
|
|
|
AM_CONDITIONAL([AMX_HAVE_QT], [test "$have_qt" = "yes"])
|
2014-12-07 12:45:33 +00:00
|
|
|
AM_CONDITIONAL([AMX_HAVE_QT5], [test "$have_qt5" = "yes"])
|
|
|
|
AM_CONDITIONAL([QT5_REDUCE_RELOCATIONS], [test "x$qt_reduce_reloc" != "x"])
|
2007-12-28 18:25:33 +00:00
|
|
|
|
2012-05-01 11:19:53 +00:00
|
|
|
AX_THRIFT_LIB(c_glib, [C (GLib)], yes)
|
2010-10-27 12:30:11 +00:00
|
|
|
if test "$with_c_glib" = "yes"; then
|
|
|
|
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.0], have_glib2=yes, have_glib2=no)
|
|
|
|
PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0], have_gobject2=yes, have_gobject2=no)
|
|
|
|
if test "$have_glib2" = "yes" -a "$have_gobject2" = "yes" ; then
|
|
|
|
have_c_glib="yes"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_C_GLIB, [test "$have_glib2" = "yes" -a "$have_gobject2" = "yes"])
|
|
|
|
|
2008-03-02 07:00:26 +00:00
|
|
|
AX_THRIFT_LIB(csharp, [C#], yes)
|
|
|
|
if test "$with_csharp" = "yes"; then
|
2015-09-03 19:14:30 +00:00
|
|
|
PKG_CHECK_MODULES(MONO, mono >= 2.11.0, mono_2_11=yes, mono_2_11=no)
|
|
|
|
if test "$mono_2_11" == "yes"; then
|
|
|
|
AC_PATH_PROG([MCS], [mcs])
|
|
|
|
if test "x$MCS" != "x"; then
|
|
|
|
mono_mcs="yes"
|
|
|
|
fi
|
|
|
|
fi
|
2009-02-13 03:09:52 +00:00
|
|
|
PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)
|
|
|
|
PKG_CHECK_MODULES(MONO, mono >= 1.2.4, have_mono=yes, have_mono=no)
|
2010-08-31 16:51:20 +00:00
|
|
|
if test "$have_mono" = "yes" ; then
|
|
|
|
have_csharp="yes"
|
|
|
|
fi
|
2008-03-02 07:00:26 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL(WITH_MONO, [test "$have_csharp" = "yes"])
|
2009-02-13 03:09:52 +00:00
|
|
|
AM_CONDITIONAL(NET_2_0, [test "$net_3_5" = "no"])
|
2015-09-03 19:14:30 +00:00
|
|
|
AM_CONDITIONAL(MONO_MCS, [test "$mono_mcs" = "yes"])
|
2008-02-06 22:10:12 +00:00
|
|
|
|
2008-03-02 07:00:22 +00:00
|
|
|
AX_THRIFT_LIB(java, [Java], yes)
|
|
|
|
if test "$with_java" = "yes"; then
|
2009-03-13 21:25:29 +00:00
|
|
|
AX_JAVAC_AND_JAVA
|
2010-08-12 00:27:14 +00:00
|
|
|
AC_PATH_PROG([ANT], [ant])
|
2011-05-25 21:07:29 +00:00
|
|
|
AX_CHECK_ANT_VERSION($ANT, 1.7)
|
2009-05-22 19:50:33 +00:00
|
|
|
AC_SUBST(CLASSPATH)
|
2009-05-12 23:16:55 +00:00
|
|
|
AC_SUBST(ANT_FLAGS)
|
2014-11-21 15:06:01 +00:00
|
|
|
if test "x$JAVA" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then
|
2010-08-31 16:51:20 +00:00
|
|
|
have_java="yes"
|
|
|
|
fi
|
2008-03-02 07:00:22 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL([WITH_JAVA], [test "$have_java" = "yes"])
|
2008-02-06 22:10:12 +00:00
|
|
|
|
2008-03-04 07:09:12 +00:00
|
|
|
AX_THRIFT_LIB(erlang, [Erlang], yes)
|
|
|
|
if test "$with_erlang" = "yes"; then
|
2010-05-18 16:52:48 +00:00
|
|
|
AC_ERLANG_PATH_ERL
|
|
|
|
AC_ERLANG_PATH_ERLC
|
2015-11-14 09:08:33 +00:00
|
|
|
AC_PATH_PROG([REBAR], [rebar])
|
2010-08-24 20:45:24 +00:00
|
|
|
if test -n "$ERLC" ; then
|
|
|
|
AC_ERLANG_SUBST_LIB_DIR
|
|
|
|
# Install into the detected Erlang directory instead of $libdir/erlang/lib
|
|
|
|
ERLANG_INSTALL_LIB_DIR="$ERLANG_LIB_DIR"
|
|
|
|
AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
|
|
|
|
fi
|
2015-11-14 09:08:33 +00:00
|
|
|
if test -n "$ERL" -a -n "$ERLC" && test "x$REBAR" != "x" ; then
|
2010-08-31 16:51:20 +00:00
|
|
|
have_erlang="yes"
|
2015-07-28 21:12:10 +00:00
|
|
|
|
|
|
|
# otp_release is simply a number (like "17") for OTP17+ while "R16..." for OTP16 or less.
|
|
|
|
# OTP version is currently only used for running tests.
|
|
|
|
if $ERL -eval 'erlang:display(erlang:system_info(otp_release)),halt().' -noshell | grep "^\"R" >/dev/null; then
|
|
|
|
erlang_otp16_or_less="yes"
|
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
2008-03-04 07:09:12 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL(WITH_ERLANG, [test "$have_erlang" = "yes"])
|
2015-07-28 21:12:10 +00:00
|
|
|
AM_CONDITIONAL(ERLANG_OTP16, [test "$erlang_otp16_or_less" = "yes"])
|
2008-03-04 07:09:12 +00:00
|
|
|
|
2014-01-26 10:44:27 +00:00
|
|
|
AX_THRIFT_LIB(nodejs, [Nodejs], yes)
|
|
|
|
have_nodejs=no
|
|
|
|
if test "$with_nodejs" = "yes"; then
|
|
|
|
AC_PATH_PROGS([NODEJS], [nodejs node])
|
|
|
|
AC_PATH_PROG([NPM], [npm])
|
|
|
|
if test "x$NODEJS" != "x" -a "x$NPM" != "x"; then
|
|
|
|
have_nodejs="yes"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_NODEJS, [test "$have_nodejs" = "yes"])
|
|
|
|
AM_CONDITIONAL(HAVE_NPM, [test "x$NPM" != "x"])
|
|
|
|
|
2014-04-04 22:45:42 +00:00
|
|
|
AX_THRIFT_LIB(lua, [Lua], yes)
|
|
|
|
have_lua=no
|
|
|
|
if test "$with_lua" = "yes"; then
|
2015-02-08 13:43:15 +00:00
|
|
|
AX_PROG_LUA(5.2,, have_lua="yes", have_lua="no")
|
|
|
|
if test "$have_lua" = "yes"; then
|
|
|
|
AX_LUA_HEADERS(, have_lua="no")
|
|
|
|
AX_LUA_LIBS(, have_lua="no")
|
2014-04-04 22:45:42 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_LUA, [test "$have_lua" = "yes"])
|
|
|
|
|
2016-01-12 10:20:05 +00:00
|
|
|
# Find python regardless of with_python value, because it's needed by make cross
|
|
|
|
AM_PATH_PYTHON(2.6,, :)
|
2010-08-31 16:51:20 +00:00
|
|
|
AX_THRIFT_LIB(python, [Python], yes)
|
|
|
|
if test "$with_python" = "yes"; then
|
2016-02-04 06:08:55 +00:00
|
|
|
AC_PATH_PROG([PIP], [pip])
|
2015-06-24 01:58:50 +00:00
|
|
|
AC_PATH_PROG([TRIAL], [trial])
|
|
|
|
if test -n "$TRIAL" && test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then
|
2010-08-31 16:51:20 +00:00
|
|
|
have_python="yes"
|
|
|
|
fi
|
2008-06-11 01:16:37 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"])
|
2008-06-11 01:16:37 +00:00
|
|
|
|
2015-11-06 12:24:24 +00:00
|
|
|
# Find "python3" executable.
|
|
|
|
# It's distro specific and far from ideal but needed to cross test py2-3 at once.
|
2016-01-12 10:20:05 +00:00
|
|
|
AC_PATH_PROG([PYTHON3], [python3])
|
2016-02-04 06:08:55 +00:00
|
|
|
AC_PATH_PROG([PIP3], [pip3])
|
|
|
|
if test "x$PYTHON3" != "x" && test "x$PYTHON3" != "x:" && test "x$PIP3" != "x" ; then
|
2016-01-12 10:20:05 +00:00
|
|
|
have_py3="yes"
|
2015-11-06 12:24:24 +00:00
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_PY3, [test "$have_py3" = "yes"])
|
|
|
|
|
2009-02-01 04:47:30 +00:00
|
|
|
AX_THRIFT_LIB(perl, [Perl], yes)
|
|
|
|
if test "$with_perl" = "yes"; then
|
|
|
|
AC_PATH_PROG([PERL], [perl])
|
2010-08-31 16:51:22 +00:00
|
|
|
if test -n "$PERL" ; then
|
|
|
|
AC_PROG_PERL_MODULES([Bit::Vector], success="yes", success="no")
|
|
|
|
have_perl_bit_vector="$success"
|
2014-01-15 12:55:09 +00:00
|
|
|
AC_PROG_PERL_MODULES([Class::Accessor], success="yes", success="no")
|
|
|
|
have_perl_class_accessor="$success"
|
2010-08-19 05:23:59 +00:00
|
|
|
fi
|
2010-08-31 16:51:22 +00:00
|
|
|
if test -n "$PERL" -a "$have_perl_bit_vector" = "yes" ; then
|
2014-01-15 12:55:09 +00:00
|
|
|
if test -n "$PERL" -a "$have_perl_class_accessor" = "yes" ; then
|
|
|
|
have_perl="yes"
|
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
2009-02-01 04:47:30 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL(WITH_PERL, [test "$have_perl" = "yes"])
|
2009-02-01 04:47:30 +00:00
|
|
|
|
2010-05-02 22:39:31 +00:00
|
|
|
AX_THRIFT_LIB(php, [PHP], yes)
|
|
|
|
if test "$with_php" = "yes"; then
|
|
|
|
AC_PATH_PROG([PHP], [php])
|
2010-08-31 16:51:20 +00:00
|
|
|
if test -n "$PHP" ; then
|
|
|
|
have_php="yes"
|
|
|
|
fi
|
2010-05-02 22:39:31 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"])
|
2010-05-02 22:39:31 +00:00
|
|
|
|
2010-08-25 17:09:02 +00:00
|
|
|
AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes)
|
|
|
|
if test "$with_php_extension" = "yes"; then
|
2014-07-10 22:42:30 +00:00
|
|
|
if test -f "lib/php/src/ext/thrift_protocol/configure"; then
|
|
|
|
AC_PATH_PROG([PHP_CONFIG], [php-config])
|
|
|
|
if test -n "$PHP_CONFIG" ; then
|
|
|
|
AC_CONFIG_SUBDIRS([lib/php/src/ext/thrift_protocol])
|
|
|
|
have_php_extension="yes"
|
|
|
|
fi
|
2010-10-05 16:45:50 +00:00
|
|
|
fi
|
2010-08-25 17:09:02 +00:00
|
|
|
fi
|
2010-10-05 16:45:50 +00:00
|
|
|
AM_CONDITIONAL(WITH_PHP_EXTENSION, [test "$have_php_extension" = "yes"])
|
2010-08-25 17:09:02 +00:00
|
|
|
|
2012-01-24 18:42:46 +00:00
|
|
|
AC_PATH_PROG([PHPUNIT], [phpunit])
|
|
|
|
AM_CONDITIONAL(HAVE_PHPUNIT, [test "x$PHPUNIT" != "x"])
|
|
|
|
|
2015-08-29 15:46:51 +00:00
|
|
|
AX_THRIFT_LIB(dart, [DART], yes)
|
|
|
|
if test "$with_dart" = "yes"; then
|
|
|
|
AC_PATH_PROG([DART], [dart])
|
|
|
|
AC_PATH_PROG([DARTPUB], [pub])
|
|
|
|
if test "x$DART" != "x" -a "x$DARTPUB" != "x"; then
|
|
|
|
have_dart="yes"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_DART, [test "$have_dart" = "yes"])
|
|
|
|
|
2008-07-08 00:47:49 +00:00
|
|
|
AX_THRIFT_LIB(ruby, [Ruby], yes)
|
2010-08-31 16:51:20 +00:00
|
|
|
have_ruby=no
|
2008-07-08 00:47:49 +00:00
|
|
|
if test "$with_ruby" = "yes"; then
|
|
|
|
AC_PATH_PROG([RUBY], [ruby])
|
2011-08-30 19:12:10 +00:00
|
|
|
AC_PATH_PROG([BUNDLER], [bundle])
|
2014-01-23 03:20:21 +00:00
|
|
|
if test "x$RUBY" != "x" -a "x$BUNDLER" != "x"; then
|
2010-08-31 16:51:20 +00:00
|
|
|
have_ruby="yes"
|
|
|
|
fi
|
2008-07-08 00:47:49 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"])
|
2011-08-30 19:12:10 +00:00
|
|
|
AM_CONDITIONAL(HAVE_BUNDLER, [test "x$BUNDLER" != "x"])
|
2009-04-07 16:31:04 +00:00
|
|
|
|
2010-09-27 17:22:17 +00:00
|
|
|
AX_THRIFT_LIB(haskell, [Haskell], yes)
|
|
|
|
have_haskell=no
|
|
|
|
RUNHASKELL=true
|
2010-10-06 00:12:33 +00:00
|
|
|
CABAL=true
|
2010-09-27 17:22:17 +00:00
|
|
|
if test "$with_haskell" = "yes"; then
|
2010-10-06 00:12:33 +00:00
|
|
|
AC_PATH_PROG([CABAL], [cabal])
|
2010-09-27 17:22:17 +00:00
|
|
|
AC_PATH_PROG([RUNHASKELL], [runhaskell])
|
2010-10-06 00:12:33 +00:00
|
|
|
if test "x$CABAL" != "x" -a "x$RUNHASKELL" != "x"; then
|
2010-09-27 17:22:17 +00:00
|
|
|
have_haskell="yes"
|
|
|
|
else
|
|
|
|
RUNHASKELL=true
|
2010-10-06 00:12:33 +00:00
|
|
|
CABAL=true
|
2010-09-27 17:22:17 +00:00
|
|
|
fi
|
|
|
|
fi
|
2010-10-06 00:12:33 +00:00
|
|
|
AC_SUBST(CABAL)
|
2010-09-27 17:22:17 +00:00
|
|
|
AC_SUBST(RUNHASKELL)
|
|
|
|
AM_CONDITIONAL(WITH_HASKELL, [test "$have_haskell" = "yes"])
|
2008-07-08 00:47:49 +00:00
|
|
|
|
2011-02-20 02:39:19 +00:00
|
|
|
AX_THRIFT_LIB(go, [Go], yes)
|
|
|
|
if test "$with_go" = "yes"; then
|
2013-06-18 20:25:07 +00:00
|
|
|
AC_PATH_PROG([GO], [go])
|
|
|
|
if [[ -x "$GO" ]] ; then
|
2015-03-18 21:38:43 +00:00
|
|
|
AS_IF([test -n "$GO"],[
|
|
|
|
ax_go_version="1.4"
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for Go version])
|
|
|
|
golang_version=`$GO version 2>&1 | $SED -e 's/\(go \)\(version \)\(go\)\(@<:@0-9@:>@.@<:@0-9@:>@.@<:@0-9@:>@\)\(@<:@\*@:>@*\).*/\4/'`
|
|
|
|
AC_MSG_RESULT($golang_version)
|
|
|
|
AC_SUBST([golang_version],[$golang_version])
|
|
|
|
AX_COMPARE_VERSION([$ax_go_version],[le],[$golang_version],[
|
|
|
|
:
|
|
|
|
have_go="yes"
|
|
|
|
],[
|
|
|
|
:
|
|
|
|
have_go="no"
|
|
|
|
])
|
|
|
|
],[
|
|
|
|
AC_MSG_WARN([could not find Go ])
|
|
|
|
have_go="no"
|
|
|
|
])
|
2011-02-20 02:39:19 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_GO, [test "$have_go" = "yes"])
|
|
|
|
|
2012-03-22 21:49:10 +00:00
|
|
|
|
2014-07-27 23:25:30 +00:00
|
|
|
AX_THRIFT_LIB(haxe, [Haxe], yes)
|
|
|
|
if test "$with_haxe" = "yes"; then
|
|
|
|
AC_PATH_PROG([HAXE], [haxe])
|
|
|
|
if [[ -x "$HAXE" ]] ; then
|
2015-02-11 01:14:14 +00:00
|
|
|
AX_PROG_HAXE_VERSION( [3.1.3], have_haxe="yes", have_haxe="no")
|
2014-07-27 23:25:30 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_HAXE, [test "$have_haxe" = "yes"])
|
|
|
|
|
|
|
|
|
2012-03-22 21:49:10 +00:00
|
|
|
AX_THRIFT_LIB(d, [D], yes)
|
|
|
|
if test "$with_d" = "yes"; then
|
|
|
|
AX_DMD
|
|
|
|
AC_SUBST(DMD)
|
|
|
|
if test "x$DMD" != "x"; then
|
|
|
|
have_d="yes"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Determine actual name of the generated D library for use in the command line
|
|
|
|
# when compiling tests. This is needed because the -l<lib> syntax doesn't work
|
|
|
|
# with OPTLINK (Windows).
|
|
|
|
lib_prefix=lib
|
|
|
|
lib_suffix=a
|
|
|
|
case "$host_os" in
|
|
|
|
cygwin* | mingw* | pw32* | cegcc*)
|
|
|
|
lib_prefix=""
|
|
|
|
lib_suffix=lib
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
D_LIB_NAME="${lib_prefix}thriftd.${lib_suffix}"
|
|
|
|
AC_SUBST(D_LIB_NAME)
|
|
|
|
D_EVENT_LIB_NAME="${lib_prefix}thriftd-event.${lib_suffix}"
|
|
|
|
AC_SUBST(D_EVENT_LIB_NAME)
|
|
|
|
D_SSL_LIB_NAME="${lib_prefix}thriftd-ssl.${lib_suffix}"
|
|
|
|
AC_SUBST(D_SSL_LIB_NAME)
|
|
|
|
|
|
|
|
if test "$have_d" = "yes"; then
|
|
|
|
AX_CHECK_D_MODULE(deimos.event2.event)
|
|
|
|
have_deimos_event2=$success
|
|
|
|
|
|
|
|
with_d_event_tests="no"
|
|
|
|
if test "$have_deimos_event2" = "yes"; then
|
|
|
|
if test "x$DMD_LIBEVENT_FLAGS" = "x"; then
|
|
|
|
if test "$dmd_optlink" = "yes"; then
|
|
|
|
AC_MSG_WARN([D libevent interface found, but cannot auto-detect \
|
|
|
|
linker flags for OPTLINK. Please set DMD_LIBEVENT_FLAGS manually.])
|
|
|
|
else
|
|
|
|
AX_LIB_EVENT([2.0])
|
|
|
|
if test "$success" = "yes"; then
|
|
|
|
DMD_LIBEVENT_FLAGS=$(echo "$LIBEVENT_LDFLAGS $LIBEVENT_LIBS" | \
|
|
|
|
sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g')
|
|
|
|
with_d_event_tests="yes"
|
|
|
|
else
|
|
|
|
AC_MSG_WARN([D libevent interface present, but libevent library not found.])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
with_d_event_tests="yes"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
AX_CHECK_D_MODULE(deimos.openssl.ssl)
|
|
|
|
have_deimos_openssl=$success
|
|
|
|
|
|
|
|
with_d_ssl_tests="no"
|
|
|
|
if test "$have_deimos_openssl" = "yes"; then
|
|
|
|
if test "x$DMD_OPENSSL_FLAGS" = "x"; then
|
|
|
|
if test "$dmd_optlink" = "yes"; then
|
|
|
|
AC_MSG_WARN([D OpenSSL interface found, but cannot auto-detect \
|
|
|
|
linker flags for OPTLINK. Please set DMD_OPENSSL_FLAGS manually.])
|
|
|
|
else
|
|
|
|
AX_CHECK_OPENSSL([with_d_ssl_tests="yes"])
|
|
|
|
if test "$with_d_ssl_tests" = "yes"; then
|
|
|
|
DMD_OPENSSL_FLAGS=$(echo "$OPENSSL_LDFLAGS $OPENSSL_LIBS" | \
|
|
|
|
sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g')
|
|
|
|
else
|
|
|
|
AC_MSG_WARN([D OpenSSL interface present, but OpenSSL library not found.])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
with_d_ssl_tests="yes"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
AM_CONDITIONAL(WITH_D, [test "$have_d" = "yes"])
|
|
|
|
AM_CONDITIONAL(DMD_OPTLINK, [test "$dmd_optlink" = "yes"])
|
|
|
|
AC_SUBST(DMD_OF_DIRSEP, "$dmd_of_dirsep")
|
|
|
|
AM_CONDITIONAL(HAVE_DEIMOS_EVENT2, [test "$have_deimos_event2" = "yes"])
|
|
|
|
AM_CONDITIONAL(WITH_D_EVENT_TESTS, [test "$with_d_event_tests" = "yes"])
|
|
|
|
AC_SUBST(DMD_LIBEVENT_FLAGS)
|
|
|
|
AM_CONDITIONAL(HAVE_DEIMOS_OPENSSL, [test "$have_deimos_openssl" = "yes"])
|
|
|
|
AM_CONDITIONAL(WITH_D_SSL_TESTS, [test "$with_d_ssl_tests" = "yes"])
|
|
|
|
AC_SUBST(DMD_OPENSSL_FLAGS)
|
|
|
|
|
2014-01-26 10:51:26 +00:00
|
|
|
AC_ARG_ENABLE([tests],
|
|
|
|
AS_HELP_STRING([--enable-tests], [build tests [default=yes]]),
|
|
|
|
[], enable_tests=yes
|
|
|
|
)
|
2011-09-14 03:43:49 +00:00
|
|
|
have_tests=yes
|
2014-01-26 10:51:26 +00:00
|
|
|
if test "$enable_tests" = "no"; then
|
2011-09-14 03:43:49 +00:00
|
|
|
have_tests="no"
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_TESTS, [test "$have_tests" = "yes"])
|
|
|
|
|
2014-01-26 10:51:26 +00:00
|
|
|
AC_ARG_ENABLE([tutorial],
|
|
|
|
AS_HELP_STRING([--enable-tutorial], [build tutorial [default=yes]]),
|
|
|
|
[], enable_tutorial=yes
|
|
|
|
)
|
|
|
|
have_tutorial=yes
|
|
|
|
if test "$enable_tutorial" = "no"; then
|
|
|
|
have_tutorial="no"
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_TUTORIAL, [test "$have_tutorial" = "yes"])
|
|
|
|
|
2011-12-13 00:36:01 +00:00
|
|
|
AM_CONDITIONAL(MINGW, false)
|
|
|
|
case "${host_os}" in
|
|
|
|
*mingw*)
|
|
|
|
mingw32_support="yes"
|
|
|
|
AC_CHECK_HEADER(windows.h)
|
|
|
|
AM_CONDITIONAL(MINGW, true)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_ISC_POSIX
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_C_CONST
|
|
|
|
AC_C_INLINE
|
|
|
|
AC_C_VOLATILE
|
|
|
|
|
|
|
|
AC_HEADER_STDBOOL
|
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_HEADER_TIME
|
2011-02-20 02:39:19 +00:00
|
|
|
AC_HEADER_SYS_WAIT
|
|
|
|
AC_TYPE_SIGNAL
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_HEADERS([arpa/inet.h])
|
2010-08-17 17:43:58 +00:00
|
|
|
AC_CHECK_HEADERS([sys/param.h])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_HEADERS([fcntl.h])
|
|
|
|
AC_CHECK_HEADERS([inttypes.h])
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_CHECK_HEADERS([limits.h])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_HEADERS([netdb.h])
|
|
|
|
AC_CHECK_HEADERS([netinet/in.h])
|
|
|
|
AC_CHECK_HEADERS([pthread.h])
|
|
|
|
AC_CHECK_HEADERS([stddef.h])
|
2008-02-19 22:47:29 +00:00
|
|
|
AC_CHECK_HEADERS([stdlib.h])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_HEADERS([sys/socket.h])
|
|
|
|
AC_CHECK_HEADERS([sys/time.h])
|
2011-09-05 19:15:53 +00:00
|
|
|
AC_CHECK_HEADERS([sys/un.h])
|
|
|
|
AC_CHECK_HEADERS([sys/poll.h])
|
|
|
|
AC_CHECK_HEADERS([sys/resource.h])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_HEADERS([unistd.h])
|
|
|
|
AC_CHECK_HEADERS([libintl.h])
|
|
|
|
AC_CHECK_HEADERS([malloc.h])
|
2011-02-23 20:27:54 +00:00
|
|
|
AC_CHECK_HEADERS([openssl/ssl.h])
|
|
|
|
AC_CHECK_HEADERS([openssl/rand.h])
|
|
|
|
AC_CHECK_HEADERS([openssl/x509v3.h])
|
2011-12-14 23:35:28 +00:00
|
|
|
AC_CHECK_HEADERS([sched.h])
|
2013-03-15 18:49:23 +00:00
|
|
|
AC_CHECK_HEADERS([wchar.h])
|
2007-12-28 18:25:33 +00:00
|
|
|
|
|
|
|
AC_CHECK_LIB(pthread, pthread_create)
|
2009-05-21 02:28:19 +00:00
|
|
|
dnl NOTE(dreiss): I haven't been able to find any really solid docs
|
|
|
|
dnl on what librt is and how it fits into various Unix systems.
|
|
|
|
dnl My best guess is that it is where glibc stashes its implementation
|
|
|
|
dnl of the POSIX Real-Time Extensions. This seems necessary on Linux,
|
|
|
|
dnl and we haven't yet found a system where this is a problem.
|
|
|
|
AC_CHECK_LIB(rt, clock_gettime)
|
2009-10-21 05:51:28 +00:00
|
|
|
AC_CHECK_LIB(socket, setsockopt)
|
2011-09-09 06:19:35 +00:00
|
|
|
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_TYPE_INT16_T
|
|
|
|
AC_TYPE_INT32_T
|
|
|
|
AC_TYPE_INT64_T
|
|
|
|
AC_TYPE_INT8_T
|
|
|
|
AC_TYPE_MODE_T
|
|
|
|
AC_TYPE_OFF_T
|
|
|
|
AC_TYPE_SIZE_T
|
2008-04-21 18:07:43 +00:00
|
|
|
AC_TYPE_SSIZE_T
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_TYPE_UINT16_T
|
|
|
|
AC_TYPE_UINT32_T
|
|
|
|
AC_TYPE_UINT64_T
|
|
|
|
AC_TYPE_UINT8_T
|
2008-05-09 07:17:34 +00:00
|
|
|
AC_CHECK_TYPES([ptrdiff_t], [], [exit 1])
|
2007-12-28 18:25:33 +00:00
|
|
|
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_STRUCT_TM
|
|
|
|
|
2009-05-21 02:28:16 +00:00
|
|
|
dnl NOTE(dreiss): AI_ADDRCONFIG is not defined on OpenBSD.
|
|
|
|
AC_CHECK_DECL([AI_ADDRCONFIG], [],
|
|
|
|
[AC_DEFINE([AI_ADDRCONFIG], 0,
|
|
|
|
[Define if the AI_ADDRCONFIG symbol is unavailable])],
|
|
|
|
[
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
])
|
|
|
|
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_FUNC_ALLOCA
|
2010-10-27 12:30:11 +00:00
|
|
|
AC_FUNC_FORK
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_FUNC_MALLOC
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_FUNC_MEMCMP
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_FUNC_REALLOC
|
|
|
|
AC_FUNC_SELECT_ARGTYPES
|
|
|
|
AC_FUNC_STAT
|
|
|
|
AC_FUNC_STRERROR_R
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_FUNC_STRFTIME
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_FUNC_VPRINTF
|
|
|
|
AC_CHECK_FUNCS([strtoul])
|
|
|
|
AC_CHECK_FUNCS([bzero])
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_CHECK_FUNCS([ftruncate])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_FUNCS([gethostbyname])
|
2014-04-08 21:52:01 +00:00
|
|
|
AC_CHECK_FUNCS([gethostbyname_r])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_FUNCS([gettimeofday])
|
|
|
|
AC_CHECK_FUNCS([memmove])
|
|
|
|
AC_CHECK_FUNCS([memset])
|
|
|
|
AC_CHECK_FUNCS([mkdir])
|
|
|
|
AC_CHECK_FUNCS([realpath])
|
|
|
|
AC_CHECK_FUNCS([select])
|
2015-04-03 10:37:03 +00:00
|
|
|
AC_CHECK_FUNCS([setlocale])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_FUNCS([socket])
|
|
|
|
AC_CHECK_FUNCS([strchr])
|
|
|
|
AC_CHECK_FUNCS([strdup])
|
2008-02-11 23:24:47 +00:00
|
|
|
AC_CHECK_FUNCS([strerror])
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CHECK_FUNCS([strstr])
|
|
|
|
AC_CHECK_FUNCS([strtol])
|
|
|
|
AC_CHECK_FUNCS([sqrt])
|
2009-05-21 02:28:19 +00:00
|
|
|
dnl The following functions are optional.
|
2010-10-27 12:30:11 +00:00
|
|
|
AC_CHECK_FUNCS([alarm])
|
2009-05-21 02:28:19 +00:00
|
|
|
AC_CHECK_FUNCS([clock_gettime])
|
|
|
|
AC_CHECK_FUNCS([sched_get_priority_min])
|
|
|
|
AC_CHECK_FUNCS([sched_get_priority_max])
|
2014-05-27 21:10:11 +00:00
|
|
|
AC_CHECK_FUNCS([inet_ntoa])
|
|
|
|
AC_CHECK_FUNCS([pow])
|
2007-12-28 18:25:33 +00:00
|
|
|
|
2010-08-31 16:51:31 +00:00
|
|
|
if test "$cross_compiling" = "no" ; then
|
|
|
|
AX_SIGNED_RIGHT_SHIFT
|
|
|
|
fi
|
2009-04-02 21:37:17 +00:00
|
|
|
|
2010-10-06 17:09:37 +00:00
|
|
|
dnl autoscan thinks we need this macro because we have a member function
|
|
|
|
dnl called "error". Invoke the macro but don't run the check so autoscan
|
|
|
|
dnl thinks we are in the clear. It's highly unlikely that we will ever
|
|
|
|
dnl actually use the function that this checks for.
|
|
|
|
if false ; then
|
|
|
|
AC_FUNC_ERROR_AT_LINE
|
|
|
|
fi
|
|
|
|
|
2010-10-27 12:30:11 +00:00
|
|
|
# --- Coverage hooks ---
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(coverage,
|
|
|
|
[ --enable-coverage turn on -fprofile-arcs -ftest-coverage],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) ENABLE_COVERAGE=1 ;;
|
|
|
|
no) ENABLE_COVERAGE=0 ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;;
|
|
|
|
esac],
|
|
|
|
[ENABLE_COVERAGE=2])
|
|
|
|
|
|
|
|
if test "x[$]ENABLE_COVERAGE" = "x1"; then
|
|
|
|
AC_MSG_WARN(enable coverage)
|
|
|
|
GCOV_CFLAGS="`echo \"[$]CFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage"
|
|
|
|
GCOV_CXXFLAGS="`echo \"[$]CXXFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage"
|
|
|
|
GCOV_LDFLAGS="-XCClinker -fprofile-arcs -XCClinker -ftest-coverage"
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(ENABLE_COVERAGE)
|
|
|
|
AC_SUBST(GCOV_CFLAGS)
|
|
|
|
AC_SUBST(GCOV_CXXFLAGS)
|
|
|
|
AC_SUBST(GCOV_LDFLAGS)
|
|
|
|
|
2011-10-02 10:51:45 +00:00
|
|
|
AC_ARG_ENABLE(boostthreads,
|
|
|
|
[ --enable-boostthreads use boost threads, instead of POSIX pthread (experimental) ],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) ENABLE_BOOSTTHREADS=1 ;;
|
|
|
|
no) ENABLE_BOOSTTHREADS=0 ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;;
|
|
|
|
esac],
|
|
|
|
[ENABLE_BOOSTTHREADS=2])
|
|
|
|
|
|
|
|
|
|
|
|
if test "x[$]ENABLE_BOOSTTHREADS" = "x1"; then
|
|
|
|
AC_MSG_WARN(enable boostthreads)
|
|
|
|
AC_DEFINE([USE_BOOST_THREAD], [1], [experimental --enable-boostthreads that replaces POSIX pthread by boost::thread])
|
2011-11-06 11:29:41 +00:00
|
|
|
LIBS="-lboost_thread $LIBS"
|
2011-10-02 10:51:45 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
AM_CONDITIONAL([WITH_BOOSTTHREADS], [test "x[$]ENABLE_BOOSTTHREADS" = "x1"])
|
|
|
|
|
2007-12-28 18:25:33 +00:00
|
|
|
AC_CONFIG_HEADERS(config.h:config.hin)
|
2013-06-22 20:05:22 +00:00
|
|
|
AC_CONFIG_HEADERS(lib/cpp/src/thrift/config.h:config.hin)
|
2016-01-10 06:01:10 +00:00
|
|
|
AC_CONFIG_HEADERS(lib/c_glib/src/thrift/config.h:config.hin)
|
2013-06-05 03:59:34 +00:00
|
|
|
# gruard against pre defined config.h
|
|
|
|
AH_TOP([
|
|
|
|
#ifndef CONFIG_H
|
2014-01-26 10:44:27 +00:00
|
|
|
#define CONFIG_H
|
2013-06-05 03:59:34 +00:00
|
|
|
])
|
|
|
|
AH_BOTTOM([
|
|
|
|
#endif
|
|
|
|
])
|
|
|
|
|
2007-12-28 18:25:33 +00:00
|
|
|
|
|
|
|
AC_CONFIG_FILES([
|
|
|
|
Makefile
|
|
|
|
compiler/cpp/Makefile
|
2010-05-03 21:33:00 +00:00
|
|
|
compiler/cpp/version.h
|
2012-06-22 03:51:38 +00:00
|
|
|
compiler/cpp/src/windows/version.h
|
2007-12-28 18:25:33 +00:00
|
|
|
lib/Makefile
|
|
|
|
lib/cpp/Makefile
|
2010-08-31 16:51:19 +00:00
|
|
|
lib/cpp/test/Makefile
|
2007-12-28 18:25:33 +00:00
|
|
|
lib/cpp/thrift-nb.pc
|
|
|
|
lib/cpp/thrift-z.pc
|
2012-02-10 19:53:20 +00:00
|
|
|
lib/cpp/thrift-qt.pc
|
2014-12-07 12:45:33 +00:00
|
|
|
lib/cpp/thrift-qt5.pc
|
2010-10-06 00:12:33 +00:00
|
|
|
lib/cpp/thrift.pc
|
2010-10-27 12:30:11 +00:00
|
|
|
lib/c_glib/Makefile
|
|
|
|
lib/c_glib/thrift_c_glib.pc
|
|
|
|
lib/c_glib/test/Makefile
|
2008-02-06 22:10:12 +00:00
|
|
|
lib/csharp/Makefile
|
2015-03-24 21:30:40 +00:00
|
|
|
lib/csharp/test/ThriftTest/Makefile
|
2012-03-22 21:49:10 +00:00
|
|
|
lib/d/Makefile
|
|
|
|
lib/d/test/Makefile
|
2010-05-02 22:54:22 +00:00
|
|
|
lib/erl/Makefile
|
2013-06-18 20:25:07 +00:00
|
|
|
lib/go/Makefile
|
2013-07-17 22:33:05 +00:00
|
|
|
lib/go/test/Makefile
|
2014-10-01 00:22:48 +00:00
|
|
|
lib/haxe/test/Makefile
|
2010-09-27 17:22:17 +00:00
|
|
|
lib/hs/Makefile
|
2008-02-23 22:07:39 +00:00
|
|
|
lib/java/Makefile
|
2011-03-17 19:13:36 +00:00
|
|
|
lib/js/test/Makefile
|
2014-12-02 08:21:24 +00:00
|
|
|
lib/json/Makefile
|
|
|
|
lib/json/test/Makefile
|
2014-01-26 10:44:27 +00:00
|
|
|
lib/nodejs/Makefile
|
2009-02-01 04:47:30 +00:00
|
|
|
lib/perl/Makefile
|
|
|
|
lib/perl/test/Makefile
|
2010-05-02 22:39:31 +00:00
|
|
|
lib/php/Makefile
|
2012-01-24 18:42:46 +00:00
|
|
|
lib/php/test/Makefile
|
2015-08-29 15:46:51 +00:00
|
|
|
lib/dart/Makefile
|
2007-12-28 18:25:33 +00:00
|
|
|
lib/py/Makefile
|
2008-07-08 00:47:49 +00:00
|
|
|
lib/rb/Makefile
|
2014-04-04 22:45:42 +00:00
|
|
|
lib/lua/Makefile
|
2015-12-28 06:15:00 +00:00
|
|
|
lib/xml/Makefile
|
|
|
|
lib/xml/test/Makefile
|
2008-02-04 21:14:14 +00:00
|
|
|
test/Makefile
|
2016-01-19 02:10:07 +00:00
|
|
|
test/features/Makefile
|
2014-09-01 19:53:40 +00:00
|
|
|
test/c_glib/Makefile
|
2011-06-24 14:01:10 +00:00
|
|
|
test/cpp/Makefile
|
2014-08-06 02:54:57 +00:00
|
|
|
test/erl/Makefile
|
2014-05-08 21:18:44 +00:00
|
|
|
test/go/Makefile
|
2014-07-27 23:25:30 +00:00
|
|
|
test/haxe/Makefile
|
2010-10-06 00:12:33 +00:00
|
|
|
test/hs/Makefile
|
2016-02-01 12:47:49 +00:00
|
|
|
test/lua/Makefile
|
2012-01-21 09:18:05 +00:00
|
|
|
test/php/Makefile
|
2015-08-29 15:46:51 +00:00
|
|
|
test/dart/Makefile
|
2012-01-10 21:30:02 +00:00
|
|
|
test/perl/Makefile
|
2008-02-15 01:10:23 +00:00
|
|
|
test/py/Makefile
|
2010-10-08 17:46:06 +00:00
|
|
|
test/py.twisted/Makefile
|
2013-03-07 16:32:48 +00:00
|
|
|
test/py.tornado/Makefile
|
2008-07-08 00:47:49 +00:00
|
|
|
test/rb/Makefile
|
2012-10-22 19:27:38 +00:00
|
|
|
tutorial/Makefile
|
2014-07-29 21:28:46 +00:00
|
|
|
tutorial/c_glib/Makefile
|
2012-10-24 18:40:06 +00:00
|
|
|
tutorial/cpp/Makefile
|
2016-02-22 13:41:25 +00:00
|
|
|
tutorial/d/Makefile
|
2013-06-18 20:25:07 +00:00
|
|
|
tutorial/go/Makefile
|
2014-07-27 23:25:30 +00:00
|
|
|
tutorial/haxe/Makefile
|
2014-05-13 22:49:41 +00:00
|
|
|
tutorial/hs/Makefile
|
2012-10-22 19:27:38 +00:00
|
|
|
tutorial/java/Makefile
|
|
|
|
tutorial/js/Makefile
|
2014-01-27 20:15:56 +00:00
|
|
|
tutorial/nodejs/Makefile
|
2015-08-29 15:46:51 +00:00
|
|
|
tutorial/dart/Makefile
|
2012-10-26 21:46:18 +00:00
|
|
|
tutorial/py/Makefile
|
|
|
|
tutorial/py.twisted/Makefile
|
2013-03-07 16:32:48 +00:00
|
|
|
tutorial/py.tornado/Makefile
|
2013-06-09 21:10:06 +00:00
|
|
|
tutorial/rb/Makefile
|
2007-12-28 18:25:33 +00:00
|
|
|
])
|
2006-08-23 22:03:34 +00:00
|
|
|
|
2015-05-09 09:33:42 +00:00
|
|
|
if test "$have_cpp" = "yes" ; then MAYBE_CPP="cpp" ; else MAYBE_CPP="" ; fi
|
|
|
|
AC_SUBST([MAYBE_CPP])
|
|
|
|
if test "$have_c_glib" = "yes" ; then MAYBE_C_GLIB="c_glib" ; else MAYBE_C_GLIB="" ; fi
|
|
|
|
AC_SUBST([MAYBE_C_GLIB])
|
|
|
|
if test "$have_java" = "yes" ; then MAYBE_JAVA="java" ; else MAYBE_JAVA="" ; fi
|
|
|
|
AC_SUBST([MAYBE_JAVA])
|
|
|
|
if test "$have_csharp" = "yes" ; then MAYBE_CSHARP="csharp" ; else MAYBE_CSHARP="" ; fi
|
|
|
|
AC_SUBST([MAYBE_CSHARP])
|
2015-10-09 19:28:57 +00:00
|
|
|
if test "$have_python" = "yes" ; then MAYBE_PYTHON="py" ; else MAYBE_PYTHON="" ; fi
|
2015-05-09 09:33:42 +00:00
|
|
|
AC_SUBST([MAYBE_PYTHON])
|
2015-11-06 12:24:24 +00:00
|
|
|
if test "$have_py3" = "yes" ; then MAYBE_PY3="py3" ; else MAYBE_PY3="" ; fi
|
|
|
|
AC_SUBST([MAYBE_PY3])
|
2015-05-09 09:33:42 +00:00
|
|
|
if test "$have_ruby" = "yes" ; then MAYBE_RUBY="rb" ; else MAYBE_RUBY="" ; fi
|
|
|
|
AC_SUBST([MAYBE_RUBY])
|
2015-10-09 19:28:57 +00:00
|
|
|
if test "$have_haskell" = "yes" ; then MAYBE_HASKELL="hs" ; else MAYBE_HASKELL="" ; fi
|
2015-05-09 09:33:42 +00:00
|
|
|
AC_SUBST([MAYBE_HASKELL])
|
|
|
|
if test "$have_perl" = "yes" ; then MAYBE_PERL="perl" ; else MAYBE_PERL="" ; fi
|
|
|
|
AC_SUBST([MAYBE_PERL])
|
|
|
|
if test "$have_php" = "yes" ; then MAYBE_PHP="php" ; else MAYBE_PHP="" ; fi
|
|
|
|
AC_SUBST([MAYBE_PHP])
|
2015-08-29 15:46:51 +00:00
|
|
|
if test "$have_dart" = "yes" ; then MAYBE_DART="dart" ; else MAYBE_DART="" ; fi
|
|
|
|
AC_SUBST([MAYBE_DART])
|
2015-05-09 09:33:42 +00:00
|
|
|
if test "$have_go" = "yes" ; then MAYBE_GO="go" ; else MAYBE_GO="" ; fi
|
|
|
|
AC_SUBST([MAYBE_GO])
|
|
|
|
if test "$have_nodejs" = "yes" ; then MAYBE_NODEJS="nodejs" ; else MAYBE_NODEJS="" ; fi
|
|
|
|
AC_SUBST([MAYBE_NODEJS])
|
2015-10-28 13:19:45 +00:00
|
|
|
if test "$have_erlang" = "yes" ; then MAYBE_ERLANG="erl" ; else MAYBE_ERLANG="" ; fi
|
|
|
|
AC_SUBST([MAYBE_ERLANG])
|
2016-02-01 12:47:49 +00:00
|
|
|
if test "$have_lua" = "yes" ; then MAYBE_LUA="lua" ; else MAYBE_LUA="" ; fi
|
|
|
|
AC_SUBST([MAYBE_LUA])
|
2015-05-09 09:33:42 +00:00
|
|
|
|
2006-08-23 22:03:34 +00:00
|
|
|
AC_OUTPUT
|
2010-08-31 16:51:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo "$PACKAGE $VERSION"
|
|
|
|
echo
|
2010-08-31 16:51:21 +00:00
|
|
|
echo "Building C++ Library ......... : $have_cpp"
|
2010-10-27 12:30:11 +00:00
|
|
|
echo "Building C (GLib) Library .... : $have_c_glib"
|
2010-08-31 16:51:20 +00:00
|
|
|
echo "Building Java Library ........ : $have_java"
|
|
|
|
echo "Building C# Library .......... : $have_csharp"
|
|
|
|
echo "Building Python Library ...... : $have_python"
|
|
|
|
echo "Building Ruby Library ........ : $have_ruby"
|
2014-07-27 23:25:30 +00:00
|
|
|
echo "Building Haxe Library ........ : $have_haxe"
|
2010-09-27 17:22:17 +00:00
|
|
|
echo "Building Haskell Library ..... : $have_haskell"
|
2010-08-31 16:51:20 +00:00
|
|
|
echo "Building Perl Library ........ : $have_perl"
|
|
|
|
echo "Building PHP Library ......... : $have_php"
|
2015-08-29 15:46:51 +00:00
|
|
|
echo "Building Dart Library ........ : $have_dart"
|
2010-08-31 16:51:20 +00:00
|
|
|
echo "Building Erlang Library ...... : $have_erlang"
|
2011-02-20 02:39:19 +00:00
|
|
|
echo "Building Go Library .......... : $have_go"
|
2012-03-22 21:49:10 +00:00
|
|
|
echo "Building D Library ........... : $have_d"
|
2014-01-26 10:44:27 +00:00
|
|
|
echo "Building NodeJS Library ...... : $have_nodejs"
|
2014-04-04 22:45:42 +00:00
|
|
|
echo "Building Lua Library ......... : $have_lua"
|
2012-07-24 17:28:24 +00:00
|
|
|
|
2010-08-31 16:51:20 +00:00
|
|
|
if test "$have_cpp" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "C++ Library:"
|
|
|
|
echo " Build TZlibTransport ...... : $have_zlib"
|
|
|
|
echo " Build TNonblockingServer .. : $have_libevent"
|
2014-12-07 12:45:33 +00:00
|
|
|
echo " Build TQTcpServer (Qt4) .... : $have_qt"
|
|
|
|
echo " Build TQTcpServer (Qt5) .... : $have_qt5"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
|
|
|
if test "$have_java" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Java Library:"
|
|
|
|
echo " Using javac ............... : $JAVAC"
|
|
|
|
echo " Using java ................ : $JAVA"
|
|
|
|
echo " Using ant ................. : $ANT"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
|
|
|
if test "$have_csharp" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "C# Library:"
|
|
|
|
echo " Using .NET 3.5 ............ : $net_3_5"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
|
|
|
if test "$have_python" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Python Library:"
|
|
|
|
echo " Using Python .............. : $PYTHON"
|
2014-12-30 15:15:57 +00:00
|
|
|
echo " Using Trial ............... : $TRIAL"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
2010-10-05 16:45:50 +00:00
|
|
|
if test "$have_php" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "PHP Library:"
|
|
|
|
echo " Using php-config .......... : $PHP_CONFIG"
|
2010-10-05 16:45:50 +00:00
|
|
|
fi
|
2015-08-29 15:46:51 +00:00
|
|
|
if test "$have_dart" = "yes" ; then
|
|
|
|
echo
|
|
|
|
echo "Dart Library:"
|
|
|
|
echo " Using Dart ................ : $DART"
|
|
|
|
echo " Using Pub ................. : $DARTPUB"
|
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
if test "$have_ruby" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Ruby Library:"
|
|
|
|
echo " Using Ruby ................ : $RUBY"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
2010-09-27 17:22:17 +00:00
|
|
|
if test "$have_haskell" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Haskell Library:"
|
|
|
|
echo " Using Haskell ............. : $RUNHASKELL"
|
|
|
|
echo " Using Cabal ............... : $CABAL"
|
2010-09-27 17:22:17 +00:00
|
|
|
fi
|
2014-07-27 23:25:30 +00:00
|
|
|
if test "$have_haxe" = "yes" ; then
|
|
|
|
echo
|
|
|
|
echo "Haxe Library:"
|
|
|
|
echo " Using Haxe ................ : $HAXE"
|
2015-02-11 01:14:14 +00:00
|
|
|
echo " Using Haxe version ........ : $HAXE_VERSION"
|
2014-07-27 23:25:30 +00:00
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
if test "$have_perl" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Perl Library:"
|
|
|
|
echo " Using Perl ................ : $PERL"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
|
|
|
if test "$have_erlang" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Erlang Library:"
|
|
|
|
echo " Using erlc ................ : $ERLC"
|
2015-11-14 09:08:33 +00:00
|
|
|
echo " Using rebar ............... : $REBAR"
|
2010-08-31 16:51:20 +00:00
|
|
|
fi
|
2011-02-20 02:39:19 +00:00
|
|
|
if test "$have_go" = "yes" ; then
|
|
|
|
echo
|
2012-02-10 19:53:20 +00:00
|
|
|
echo "Go Library:"
|
2013-06-18 20:25:07 +00:00
|
|
|
echo " Using Go................... : $GO"
|
2013-07-17 22:33:05 +00:00
|
|
|
echo " Using Go version........... : $($GO version)"
|
2011-02-20 02:39:19 +00:00
|
|
|
fi
|
2012-03-22 21:49:10 +00:00
|
|
|
if test "$have_d" = "yes" ; then
|
|
|
|
echo
|
2013-12-26 18:24:30 +00:00
|
|
|
echo "D Library:"
|
|
|
|
echo " Using D Compiler .......... : $DMD"
|
|
|
|
echo " Building D libevent tests . : $with_d_event_tests"
|
|
|
|
echo " Building D SSL tests ...... : $with_d_ssl_tests"
|
2012-03-22 21:49:10 +00:00
|
|
|
fi
|
2014-01-26 10:44:27 +00:00
|
|
|
if test "$have_nodejs" = "yes" ; then
|
|
|
|
echo
|
|
|
|
echo "NodeJS Library:"
|
|
|
|
echo " Using NodeJS .............. : $NODEJS"
|
|
|
|
echo " Using NodeJS version....... : $($NODEJS --version)"
|
|
|
|
fi
|
2014-04-04 22:45:42 +00:00
|
|
|
if test "$have_lua" = "yes" ; then
|
|
|
|
echo
|
|
|
|
echo "Lua Library:"
|
|
|
|
echo " Using Lua .............. : $LUA"
|
|
|
|
fi
|
2010-08-31 16:51:20 +00:00
|
|
|
echo
|
|
|
|
echo "If something is missing that you think should be present,"
|
|
|
|
echo "please skim the output of configure to find the missing"
|
|
|
|
echo "component. Details are present in config.log."
|