mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 18:35:19 +00:00
ed1711e861
Client: Python
Patch: Jano Svitok
This closes #2055
THRIFT-5087: Show features log, check log presence
THRIFT-5087: Revert/Improve PR1995 (commit f8b004081d
)
Make the condition work both
a) when both python2 and python3 are installed
b) when only python3 is installed
Check also python 3.8 when searching for 3.x
1074 lines
33 KiB
Plaintext
Executable File
1074 lines
33 KiB
Plaintext
Executable File
#
|
|
# 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.
|
|
#
|
|
|
|
AC_PREREQ(2.65)
|
|
AC_CONFIG_MACRO_DIR([./aclocal])
|
|
|
|
AC_INIT([thrift], [0.14.0])
|
|
|
|
AC_CONFIG_AUX_DIR([.])
|
|
|
|
AM_INIT_AUTOMAKE([1.13 subdir-objects tar-ustar])
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
|
|
(Normal --prefix is ignored for Python because
|
|
Python has different conventions.)
|
|
Default = "/usr"])
|
|
AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
|
|
|
|
AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar.
|
|
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"])
|
|
|
|
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])
|
|
|
|
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"])
|
|
|
|
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"])
|
|
|
|
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"])
|
|
|
|
AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules.
|
|
(Normal --prefix is ignored for Perl because
|
|
Perl has different conventions.)
|
|
Ignored, when INSTALLDIRS set to site or vendor.
|
|
Default = "/usr/local/lib"])
|
|
AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"])
|
|
|
|
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)
|
|
|
|
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).])
|
|
|
|
AC_ARG_VAR([THRIFT], [Path to the thrift tool (needed for cross-compilation).])
|
|
AS_IF([test "x$THRIFT" = x], [THRIFT=`pwd`/compiler/cpp/thrift])
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PROG_CXX
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LIBTOOL
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_BISON(2.5)
|
|
AC_PROG_YACC
|
|
AC_PROG_LEX
|
|
AM_PROG_LEX
|
|
AC_PROG_LN_S
|
|
AC_PROG_MKDIR_P
|
|
AC_PROG_AWK
|
|
AC_PROG_RANLIB
|
|
|
|
AC_LANG([C++])
|
|
AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
|
|
|
|
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 {} \;')
|
|
# '
|
|
# The above comment is to fix editor syntax highlighting
|
|
|
|
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_as3="no"
|
|
with_cpp="no"
|
|
with_c_glib="no"
|
|
with_cl="no"
|
|
with_java="no"
|
|
with_python="no"
|
|
with_py3="no"
|
|
with_ruby="no"
|
|
with_haskell="no"
|
|
with_haxe="no"
|
|
with_netstd="no"
|
|
with_perl="no"
|
|
with_php="no"
|
|
with_php_extension="no"
|
|
with_dart="no"
|
|
with_erlang="no"
|
|
with_go="no"
|
|
with_d="no"
|
|
with_nodejs="no"
|
|
with_nodets="no"
|
|
with_lua="no"
|
|
with_rs="no"
|
|
with_swift="no"
|
|
fi
|
|
|
|
AX_THRIFT_LIB(as3, [as3], yes)
|
|
have_as3=no
|
|
if test "$with_as3" = "yes"; then
|
|
if test "${FLEX_HOME+set}" = set; then
|
|
AC_PATH_PROGS([FLEX_COMPC], [compc], "fail", [$PATH$PATH_SEPARATOR$FLEX_HOME/bin])
|
|
if test "$FLEX_COMPC" != "fail"; then
|
|
have_as3="yes"
|
|
fi
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_AS3, [test "$have_as3" = "yes"])
|
|
|
|
AX_THRIFT_LIB(cpp, [C++], yes)
|
|
have_cpp=no
|
|
if test "$with_cpp" = "yes"; then
|
|
AX_BOOST_BASE([1.56.0])
|
|
if test "x$succeeded" = "xyes" ; then
|
|
AC_SUBST([BOOST_LIB_DIR], [$(echo "$BOOST_LDFLAGS" | sed -e 's/^\-L//')])
|
|
AC_SUBST([BOOST_CHRONO_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_chrono.a")])
|
|
AC_SUBST([BOOST_FILESYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_filesystem.a")])
|
|
AC_SUBST([BOOST_SYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_system.a")])
|
|
AC_SUBST([BOOST_TEST_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_unit_test_framework.a")])
|
|
AC_SUBST([BOOST_THREAD_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_thread.a")])
|
|
have_cpp="yes"
|
|
fi
|
|
|
|
AX_LIB_EVENT([2.0])
|
|
have_libevent=$success
|
|
|
|
AX_LIB_ZLIB([1.2.3])
|
|
have_zlib=$success
|
|
|
|
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
|
|
AC_PATH_PROGS([QT5_MOC], [moc-qt5 moc], "fail")
|
|
if test "$QT5_MOC" = "fail"; then
|
|
have_qt5=no
|
|
fi
|
|
fi
|
|
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"])
|
|
AM_CONDITIONAL([AMX_HAVE_QT5], [test "$have_qt5" = "yes"])
|
|
AM_CONDITIONAL([QT5_REDUCE_RELOCATIONS], [test "x$qt_reduce_reloc" != "x"])
|
|
|
|
AX_THRIFT_LIB(c_glib, [C (GLib)], yes)
|
|
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
|
|
AC_PATH_PROG([GSETTINGS], [gsettings])
|
|
have_c_glib="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_C_GLIB, [test "$have_glib2" = "yes" -a "$have_gobject2" = "yes"])
|
|
|
|
# echo "OpenSSL check"
|
|
if test "$have_cpp" = "yes" -o "$have_c_glib" = "yes"; then
|
|
# echo "Have cpp or c so we check for OpenSSL"
|
|
AX_CHECK_OPENSSL()
|
|
fi
|
|
|
|
|
|
AX_THRIFT_LIB(java, [Java], yes)
|
|
if test "$with_java" = "yes"; then
|
|
AX_JAVAC_AND_JAVA
|
|
AC_PATH_PROG([ANT], [ant])
|
|
AX_CHECK_ANT_VERSION($ANT, 1.7)
|
|
AC_SUBST(CLASSPATH)
|
|
AC_SUBST(ANT_FLAGS)
|
|
AC_SUBST(GRADLE_OPTS)
|
|
if test "x$JAVA" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then
|
|
have_java="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL([WITH_JAVA], [test "$have_java" = "yes"])
|
|
|
|
AX_THRIFT_LIB(erlang, [Erlang], yes)
|
|
if test "$with_erlang" = "yes"; then
|
|
AC_ERLANG_PATH_ERL
|
|
AC_ERLANG_PATH_ERLC
|
|
AC_PATH_PROG([REBAR], [rebar3])
|
|
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
|
|
if test -n "$ERL" -a -n "$ERLC" && test "x$REBAR" != "x" ; then
|
|
have_erlang="yes"
|
|
|
|
# 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
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_ERLANG, [test "$have_erlang" = "yes"])
|
|
AM_CONDITIONAL(ERLANG_OTP16, [test "$erlang_otp16_or_less" = "yes"])
|
|
|
|
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"])
|
|
|
|
AX_THRIFT_LIB(nodets, [Nodets], yes)
|
|
have_nodets=no
|
|
if test "$with_nodets" = "yes"; then
|
|
AC_PATH_PROGS([NODETS], [nodets node])
|
|
AC_PATH_PROG([NPM], [npm])
|
|
if test "x$NODETS" != "x" -a "x$NPM" != "x"; then
|
|
have_nodets="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_NODETS, [test "$have_nodets" = "yes"])
|
|
AM_CONDITIONAL(HAVE_NPM, [test "x$NPM" != "x"])
|
|
|
|
AX_THRIFT_LIB(lua, [Lua], yes)
|
|
have_lua=no
|
|
if test "$with_lua" = "yes"; then
|
|
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")
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_LUA, [test "$have_lua" = "yes"])
|
|
|
|
# Find python regardless of with_python value, because it's needed by make cross
|
|
AM_PATH_PYTHON(2.6,, :)
|
|
AX_THRIFT_LIB(python, [Python], yes)
|
|
if test "$with_python" = "yes"; then
|
|
if test -n "$PYTHON"; then
|
|
have_python="yes"
|
|
fi
|
|
AC_PATH_PROG([TRIAL], [trial])
|
|
if test -n "$TRIAL"; then
|
|
have_trial="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"])
|
|
AM_CONDITIONAL(WITH_TWISTED_TEST, [test "$have_trial" = "yes"])
|
|
|
|
# Find "python3" executable.
|
|
# It's distro specific and far from ideal but needed to cross test py2-3 at once.
|
|
# TODO: find "python2" if it's 3.x
|
|
have_py3="no"
|
|
AX_THRIFT_LIB(py3, [Py3], yes)
|
|
if test "$with_py3" = "yes"; then
|
|
# if $PYTHON is 2.x then search for python 3. otherwise, $PYTHON is already 3.x
|
|
if $PYTHON --version 2>&1 | grep -q "Python 2"; then
|
|
AC_PATH_PROGS([PYTHON3], [python3 python3.8 python38 python3.7 python37 python3.6 python36 python3.5 python35 python3.4 python34])
|
|
if test -n "$PYTHON3"; then
|
|
have_py3="yes"
|
|
fi
|
|
elif $PYTHON --version 2>&1 | grep -q "Python 3"; then
|
|
have_py3="yes"
|
|
PYTHON3=$PYTHON
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_PY3, [test "$have_py3" = "yes"])
|
|
|
|
AX_THRIFT_LIB(perl, [Perl], yes)
|
|
if test "$with_perl" = "yes"; then
|
|
AC_PATH_PROG([PERL], [perl])
|
|
if test -n "$PERL" ; then
|
|
AC_PROG_PERL_MODULES([Bit::Vector], success="yes", success="no")
|
|
have_perl_bit_vector="$success"
|
|
AC_PROG_PERL_MODULES([Class::Accessor], success="yes", success="no")
|
|
have_perl_class_accessor="$success"
|
|
fi
|
|
if test -n "$PERL" -a "$have_perl_bit_vector" = "yes" ; then
|
|
if test -n "$PERL" -a "$have_perl_class_accessor" = "yes" ; then
|
|
have_perl="yes"
|
|
fi
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_PERL, [test "$have_perl" = "yes"])
|
|
|
|
AX_THRIFT_LIB(php, [PHP], yes)
|
|
if test "$with_php" = "yes"; then
|
|
AC_PATH_PROG([PHP], [php])
|
|
if test -n "$PHP" ; then
|
|
have_php="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"])
|
|
|
|
AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes)
|
|
if test "$with_php_extension" = "yes"; then
|
|
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
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_PHP_EXTENSION, [test "$have_php_extension" = "yes"])
|
|
|
|
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"])
|
|
|
|
AX_THRIFT_LIB(ruby, [Ruby], yes)
|
|
have_ruby=no
|
|
if test "$with_ruby" = "yes"; then
|
|
AC_PATH_PROG([RUBY], [ruby])
|
|
AC_PATH_PROG([BUNDLER], [bundle])
|
|
if test "x$RUBY" != "x" -a "x$BUNDLER" != "x"; then
|
|
have_ruby="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"])
|
|
AM_CONDITIONAL(HAVE_BUNDLER, [test "x$BUNDLER" != "x"])
|
|
|
|
AX_THRIFT_LIB(haskell, [Haskell], yes)
|
|
have_haskell=no
|
|
RUNHASKELL=true
|
|
CABAL=true
|
|
if test "$with_haskell" = "yes"; then
|
|
AC_PATH_PROG([CABAL], [cabal])
|
|
AC_PATH_PROG([RUNHASKELL], [runhaskell])
|
|
if test "x$CABAL" != "x" -a "x$RUNHASKELL" != "x"; then
|
|
have_haskell="yes"
|
|
else
|
|
RUNHASKELL=true
|
|
CABAL=true
|
|
fi
|
|
fi
|
|
AC_SUBST(CABAL)
|
|
AC_SUBST(RUNHASKELL)
|
|
AM_CONDITIONAL(WITH_HASKELL, [test "$have_haskell" = "yes"])
|
|
|
|
AX_THRIFT_LIB(go, [Go], yes)
|
|
if test "$with_go" = "yes"; then
|
|
AC_PATH_PROG([GO], [go])
|
|
if [[ -x "$GO" ]] ; then
|
|
AS_IF([test -n "$GO"],[
|
|
ax_go_version="1.4"
|
|
ax_go17_version="1.7"
|
|
|
|
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"
|
|
])
|
|
AX_COMPARE_VERSION([$golang_version],[lt],[$ax_go17_version],[
|
|
:
|
|
go_version_lt_17="yes"
|
|
],[
|
|
:
|
|
go_version_lt_17="no"
|
|
])
|
|
],[
|
|
AC_MSG_WARN([could not find Go ])
|
|
have_go="no"
|
|
])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_GO, [test "$have_go" = "yes"])
|
|
AM_CONDITIONAL([GOVERSION_LT_17], [test "$go_version_lt_17" = "yes"])
|
|
|
|
AX_THRIFT_LIB(swift, [Swift], yes)
|
|
have_swift="no"
|
|
if test "$with_swift" = "yes"; then
|
|
AC_PATH_PROG([SWIFT], [swift])
|
|
if test "x$SWIFT" != "x" -a "x$SWIFT" != "x"; then
|
|
have_swift="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL([WITH_SWIFT], [test "$have_swift" = "yes"])
|
|
|
|
AX_THRIFT_LIB(rs, [Rust], yes)
|
|
have_rs="no"
|
|
if test "$with_rs" = "yes"; then
|
|
AC_PATH_PROG([CARGO], [cargo])
|
|
AC_PATH_PROG([RUSTC], [rustc])
|
|
if [[ -x "$CARGO" ]] && [[ -x "$RUSTC" ]]; then
|
|
min_rustc_version="1.13"
|
|
|
|
AC_MSG_CHECKING([for rustc version])
|
|
rustc_version=`$RUSTC --version 2>&1 | $SED -e 's/\(rustc \)\([0-9]\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\2.\3/'`
|
|
AC_MSG_RESULT($rustc_version)
|
|
AC_SUBST([rustc_version],[$rustc_version])
|
|
|
|
AX_COMPARE_VERSION([$min_rustc_version],[le],[$rustc_version],[
|
|
:
|
|
have_rs="yes"
|
|
],[
|
|
:
|
|
have_rs="no"
|
|
])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_RS, [test "$have_rs" = "yes"])
|
|
|
|
AX_THRIFT_LIB(cl, [Common Lisp], yes)
|
|
have_cl="no"
|
|
if test "$with_cl" = "yes"; then
|
|
AC_PATH_PROG([SBCL], [sbcl])
|
|
if test "x$SBCL" != "x"; then
|
|
have_cl="yes"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_CL, [test "$have_cl" = "yes"])
|
|
|
|
AX_THRIFT_LIB(haxe, [Haxe], yes)
|
|
if test "$with_haxe" = "yes"; then
|
|
AC_PATH_PROG([HAXE], [haxe])
|
|
if [[ -x "$HAXE" ]] ; then
|
|
AX_PROG_HAXE_VERSION( [3.1.3], have_haxe="yes", have_haxe="no")
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_HAXE, [test "$have_haxe" = "yes"])
|
|
|
|
|
|
AX_THRIFT_LIB(netstd, [.NET Core], yes)
|
|
if test "$with_netstd" = "yes"; then
|
|
AC_PATH_PROG([DOTNETCORE], [dotnet])
|
|
if [[ -x "$DOTNETCORE" ]] ; then
|
|
AX_PROG_DOTNETCORE_VERSION( [3.1.0], have_netstd="yes", have_netstd="no")
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(WITH_DOTNET, [test "$have_netstd" = "yes"])
|
|
|
|
|
|
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 "-fuse-ld=gold $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 "-fuse-ld=gold $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)
|
|
|
|
AC_ARG_ENABLE([tests],
|
|
AS_HELP_STRING([--enable-tests], [build tests [default=yes]]),
|
|
[], enable_tests=yes
|
|
)
|
|
have_tests=yes
|
|
if test "$enable_tests" = "no"; then
|
|
have_tests="no"
|
|
fi
|
|
AM_CONDITIONAL(WITH_TESTS, [test "$have_tests" = "yes"])
|
|
|
|
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"])
|
|
|
|
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
|
|
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_C_VOLATILE
|
|
|
|
AC_HEADER_STDBOOL
|
|
AC_HEADER_STDC
|
|
AC_HEADER_TIME
|
|
AC_HEADER_SYS_WAIT
|
|
AC_TYPE_SIGNAL
|
|
AC_CHECK_HEADERS([arpa/inet.h])
|
|
AC_CHECK_HEADERS([sys/param.h])
|
|
AC_CHECK_HEADERS([fcntl.h])
|
|
AC_CHECK_HEADERS([inttypes.h])
|
|
AC_CHECK_HEADERS([limits.h])
|
|
AC_CHECK_HEADERS([netdb.h])
|
|
AC_CHECK_HEADERS([netinet/in.h])
|
|
AC_CHECK_HEADERS([pthread.h])
|
|
AC_CHECK_HEADERS([signal.h])
|
|
AC_CHECK_HEADERS([stddef.h])
|
|
AC_CHECK_HEADERS([stdlib.h])
|
|
AC_CHECK_HEADERS([sys/ioctl.h])
|
|
AC_CHECK_HEADERS([sys/socket.h])
|
|
AC_CHECK_HEADERS([sys/time.h])
|
|
AC_CHECK_HEADERS([sys/un.h])
|
|
AC_CHECK_HEADERS([poll.h])
|
|
AC_CHECK_HEADERS([sys/poll.h])
|
|
AC_CHECK_HEADERS([sys/resource.h])
|
|
AC_CHECK_HEADERS([unistd.h])
|
|
AC_CHECK_HEADERS([libintl.h])
|
|
AC_CHECK_HEADERS([malloc.h])
|
|
AC_CHECK_HEADERS([openssl/ssl.h])
|
|
AC_CHECK_HEADERS([openssl/rand.h])
|
|
AC_CHECK_HEADERS([openssl/x509v3.h])
|
|
AC_CHECK_HEADERS([sched.h])
|
|
AC_CHECK_HEADERS([wchar.h])
|
|
|
|
AC_CHECK_LIB(pthread, pthread_create)
|
|
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)
|
|
AC_CHECK_LIB(socket, setsockopt)
|
|
|
|
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
|
|
AC_TYPE_SSIZE_T
|
|
AC_TYPE_UINT16_T
|
|
AC_TYPE_UINT32_T
|
|
AC_TYPE_UINT64_T
|
|
AC_TYPE_UINT8_T
|
|
AC_CHECK_TYPES([ptrdiff_t], [], [echo "ptrdiff_t not found or g++ not installed - cannot continue" && exit 1])
|
|
|
|
AC_STRUCT_TM
|
|
|
|
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>
|
|
])
|
|
|
|
AC_FUNC_ALLOCA
|
|
AC_FUNC_FORK
|
|
AC_FUNC_MALLOC
|
|
AC_FUNC_MEMCMP
|
|
AC_FUNC_REALLOC
|
|
AC_FUNC_SELECT_ARGTYPES
|
|
AC_FUNC_STAT
|
|
AC_FUNC_STRERROR_R
|
|
AC_FUNC_STRFTIME
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS([strtoul])
|
|
AC_CHECK_FUNCS([bzero])
|
|
AC_CHECK_FUNCS([ftruncate])
|
|
AC_CHECK_FUNCS([gethostbyname])
|
|
AC_CHECK_FUNCS([gethostbyname_r])
|
|
AC_CHECK_FUNCS([gettimeofday])
|
|
AC_CHECK_FUNCS([memmove])
|
|
AC_CHECK_FUNCS([memset])
|
|
AC_CHECK_FUNCS([mkdir])
|
|
AC_CHECK_FUNCS([realpath])
|
|
AC_CHECK_FUNCS([select])
|
|
AC_CHECK_FUNCS([setlocale])
|
|
AC_CHECK_FUNCS([socket])
|
|
AC_CHECK_FUNCS([strchr])
|
|
AC_CHECK_FUNCS([strdup])
|
|
AC_CHECK_FUNCS([strerror])
|
|
AC_CHECK_FUNCS([strstr])
|
|
AC_CHECK_FUNCS([strtol])
|
|
AC_CHECK_FUNCS([sqrt])
|
|
dnl The following functions are optional.
|
|
AC_CHECK_FUNCS([alarm])
|
|
AC_CHECK_FUNCS([clock_gettime])
|
|
AC_CHECK_FUNCS([sched_get_priority_min])
|
|
AC_CHECK_FUNCS([sched_get_priority_max])
|
|
AC_CHECK_FUNCS([inet_ntoa])
|
|
AC_CHECK_FUNCS([pow])
|
|
|
|
if test "$cross_compiling" = "no" ; then
|
|
AX_SIGNED_RIGHT_SHIFT
|
|
fi
|
|
|
|
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
|
|
|
|
# --- 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)
|
|
|
|
AC_CONFIG_HEADERS(config.h:config.hin)
|
|
AC_CONFIG_HEADERS(lib/cpp/src/thrift/config.h:config.hin)
|
|
AC_CONFIG_HEADERS(lib/c_glib/src/thrift/config.h:config.hin)
|
|
# guard against pre defined config.h
|
|
AH_TOP([
|
|
#ifndef CONFIG_H
|
|
#define CONFIG_H
|
|
])
|
|
AH_BOTTOM([
|
|
#endif
|
|
])
|
|
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
compiler/cpp/Makefile
|
|
compiler/cpp/src/Makefile
|
|
compiler/cpp/test/Makefile
|
|
lib/Makefile
|
|
lib/as3/Makefile
|
|
lib/cl/Makefile
|
|
lib/cpp/Makefile
|
|
lib/cpp/test/Makefile
|
|
lib/cpp/thrift-nb.pc
|
|
lib/cpp/thrift-z.pc
|
|
lib/cpp/thrift-qt5.pc
|
|
lib/cpp/thrift.pc
|
|
lib/c_glib/Makefile
|
|
lib/c_glib/thrift_c_glib.pc
|
|
lib/c_glib/test/Makefile
|
|
lib/d/Makefile
|
|
lib/d/test/Makefile
|
|
lib/erl/Makefile
|
|
lib/go/Makefile
|
|
lib/go/test/Makefile
|
|
lib/haxe/test/Makefile
|
|
lib/hs/Makefile
|
|
lib/java/Makefile
|
|
lib/js/Makefile
|
|
lib/js/test/Makefile
|
|
lib/json/Makefile
|
|
lib/json/test/Makefile
|
|
lib/netstd/Makefile
|
|
lib/nodejs/Makefile
|
|
lib/nodets/Makefile
|
|
lib/perl/Makefile
|
|
lib/perl/t/Makefile
|
|
lib/php/Makefile
|
|
lib/php/test/Makefile
|
|
lib/dart/Makefile
|
|
lib/py/Makefile
|
|
lib/rb/Makefile
|
|
lib/rs/Makefile
|
|
lib/rs/test/Makefile
|
|
lib/lua/Makefile
|
|
lib/swift/Makefile
|
|
lib/ts/Makefile
|
|
lib/xml/Makefile
|
|
lib/xml/test/Makefile
|
|
test/Makefile
|
|
test/features/Makefile
|
|
test/c_glib/Makefile
|
|
test/cl/Makefile
|
|
test/cpp/Makefile
|
|
test/erl/Makefile
|
|
test/go/Makefile
|
|
test/haxe/Makefile
|
|
test/hs/Makefile
|
|
test/lua/Makefile
|
|
test/netstd/Makefile
|
|
test/php/Makefile
|
|
test/dart/Makefile
|
|
test/perl/Makefile
|
|
test/py/Makefile
|
|
test/py.twisted/Makefile
|
|
test/py.tornado/Makefile
|
|
test/rb/Makefile
|
|
test/rs/Makefile
|
|
tutorial/Makefile
|
|
tutorial/c_glib/Makefile
|
|
tutorial/cl/Makefile
|
|
tutorial/cpp/Makefile
|
|
tutorial/d/Makefile
|
|
tutorial/go/Makefile
|
|
tutorial/haxe/Makefile
|
|
tutorial/hs/Makefile
|
|
tutorial/java/Makefile
|
|
tutorial/js/Makefile
|
|
tutorial/netstd/Makefile
|
|
tutorial/nodejs/Makefile
|
|
tutorial/dart/Makefile
|
|
tutorial/perl/Makefile
|
|
tutorial/php/Makefile
|
|
tutorial/py/Makefile
|
|
tutorial/py.twisted/Makefile
|
|
tutorial/py.tornado/Makefile
|
|
tutorial/rb/Makefile
|
|
tutorial/rs/Makefile
|
|
])
|
|
|
|
if test "$have_as3" = "yes" ; then MAYBE_AS3="as3" ; else MAYBE_AS3="" ; fi
|
|
AC_SUBST([MAYBE_AS3])
|
|
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_d" = "yes" -a "$have_deimos_event2" = "yes" -a "$have_deimos_openssl" = "yes"; then MAYBE_D="d" ; else MAYBE_D="" ; fi
|
|
AC_SUBST([MAYBE_D])
|
|
if test "$have_java" = "yes" ; then MAYBE_JAVA="java" ; else MAYBE_JAVA="" ; fi
|
|
AC_SUBST([MAYBE_JAVA])
|
|
if test "$have_python" = "yes" ; then MAYBE_PYTHON="py" ; else MAYBE_PYTHON="" ; fi
|
|
AC_SUBST([MAYBE_PYTHON])
|
|
if test "$have_py3" = "yes" ; then MAYBE_PY3="py3" ; else MAYBE_PY3="" ; fi
|
|
AC_SUBST([MAYBE_PY3])
|
|
if test "$have_ruby" = "yes" ; then MAYBE_RUBY="rb" ; else MAYBE_RUBY="" ; fi
|
|
AC_SUBST([MAYBE_RUBY])
|
|
if test "$have_haskell" = "yes" ; then MAYBE_HASKELL="hs" ; else MAYBE_HASKELL="" ; fi
|
|
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])
|
|
if test "$have_dart" = "yes" ; then MAYBE_DART="dart" ; else MAYBE_DART="" ; fi
|
|
AC_SUBST([MAYBE_DART])
|
|
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])
|
|
if test "$have_nodets" = "yes" ; then MAYBE_NODETS="nodets" ; else MAYBE_NODETS="" ; fi
|
|
AC_SUBST([MAYBE_NODETS])
|
|
if test "$have_erlang" = "yes" ; then MAYBE_ERLANG="erl" ; else MAYBE_ERLANG="" ; fi
|
|
AC_SUBST([MAYBE_ERLANG])
|
|
if test "$have_lua" = "yes" ; then MAYBE_LUA="lua" ; else MAYBE_LUA="" ; fi
|
|
AC_SUBST([MAYBE_LUA])
|
|
if test "$have_rs" = "yes" ; then MAYBE_RS="rs" ; else MAYBE_RS="" ; fi
|
|
AC_SUBST([MAYBE_RS])
|
|
if test "$have_swift" = "yes" ; then MAYBE_SWIFT="swift" ; else MAYBE_SWIFT="" ; fi
|
|
AC_SUBST([MAYBE_SWIFT])
|
|
if test "$have_netstd" = "yes" ; then MAYBE_NETSTD="netstd" ; else MAYBE_NETSTD="" ; fi
|
|
AC_SUBST([MAYBE_NETSTD])
|
|
if test "$have_cl" = "yes" ; then MAYBE_CL="cl" ; else MAYBE_CL="" ; fi
|
|
AC_SUBST([MAYBE_CL])
|
|
|
|
AC_OUTPUT
|
|
|
|
|
|
echo
|
|
echo "$PACKAGE $VERSION"
|
|
echo
|
|
echo "Building ActionScript3 Library : $have_as3"
|
|
echo "Building C (GLib) Library .... : $have_c_glib"
|
|
echo "Building C++ Library ......... : $have_cpp"
|
|
echo "Building Common Lisp Library.. : $have_cl"
|
|
echo "Building D Library ........... : $have_d"
|
|
echo "Building Dart Library ........ : $have_dart"
|
|
echo "Building .NET Standard Library : $have_netstd"
|
|
echo "Building Erlang Library ...... : $have_erlang"
|
|
echo "Building Go Library .......... : $have_go"
|
|
echo "Building Haskell Library ..... : $have_haskell"
|
|
echo "Building Haxe Library ........ : $have_haxe"
|
|
echo "Building Java Library ........ : $have_java"
|
|
echo "Building Lua Library ......... : $have_lua"
|
|
echo "Building NodeJS Library ...... : $have_nodejs"
|
|
echo "Building Perl Library ........ : $have_perl"
|
|
echo "Building PHP Library ......... : $have_php"
|
|
echo "Building Python Library ...... : $have_python"
|
|
echo "Building Py3 Library ......... : $have_py3"
|
|
echo "Building Ruby Library ........ : $have_ruby"
|
|
echo "Building Rust Library ........ : $have_rs"
|
|
echo "Building Swift Library ....... : $have_swift"
|
|
|
|
if test "$have_as3" = "yes" ; then
|
|
echo
|
|
echo "ActionScript Library:"
|
|
echo " FLEX_HOME ................. : $FLEX_HOME"
|
|
echo " Using compc version ....... : $($FLEX_COMPC --version)"
|
|
fi
|
|
if test "$have_c_glib" = "yes" ; then
|
|
echo
|
|
echo "C (glib):"
|
|
echo " Using glib version ........ : $($GSETTINGS --version)"
|
|
fi
|
|
if test "$have_cpp" = "yes" ; then
|
|
echo
|
|
echo "C++ Library:"
|
|
echo " C++ compiler .............. : $CXX"
|
|
echo " Build TZlibTransport ...... : $have_zlib"
|
|
echo " Build TNonblockingServer .. : $have_libevent"
|
|
echo " Build TQTcpServer (Qt5) ... : $have_qt5"
|
|
echo " C++ compiler version ...... : $($CXX --version | head -1)"
|
|
fi
|
|
if test "$have_cl" = "yes" ; then
|
|
echo
|
|
echo "Common Lisp Library:"
|
|
echo " Using Common Lisp ......... : $SBCL"
|
|
echo " Using Common Lisp version . : $($SBCL --version)"
|
|
fi
|
|
if test "$have_d" = "yes" ; then
|
|
echo
|
|
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"
|
|
echo " Using D version ........... : $($DMD --version | head -1)"
|
|
fi
|
|
if test "$have_dart" = "yes" ; then
|
|
echo
|
|
echo "Dart Library:"
|
|
echo " Using Dart ................ : $DART"
|
|
echo " Using Pub ................. : $DARTPUB"
|
|
echo " Using Dart version ........ : $($DART --version 2>&1)"
|
|
fi
|
|
if test "$have_netstd" = "yes" ; then
|
|
echo
|
|
echo ".NET Standard Library:"
|
|
echo " Using dotnet .............. : $DOTNETCORE"
|
|
echo " Using dotnet version ...... : $DOTNETCORE_VERSION"
|
|
fi
|
|
if test "$have_erlang" = "yes" ; then
|
|
echo
|
|
echo "Erlang Library:"
|
|
echo " Using erlc ................ : $ERLC"
|
|
echo " Using rebar ............... : $REBAR"
|
|
echo " Using erlc version ........ : $($ERL -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell | tr -d '\"')"
|
|
fi
|
|
if test "$have_go" = "yes" ; then
|
|
echo
|
|
echo "Go Library:"
|
|
echo " Using Go................... : $GO"
|
|
echo " Using Go version........... : $($GO version)"
|
|
fi
|
|
if test "$have_haskell" = "yes" ; then
|
|
echo
|
|
echo "Haskell Library:"
|
|
echo " Using Cabal ............... : $CABAL"
|
|
echo " Using Haskell ............. : $RUNHASKELL"
|
|
echo " Using Haskell version ..... : $($RUNHASKELL --version)"
|
|
fi
|
|
if test "$have_haxe" = "yes" ; then
|
|
echo
|
|
echo "Haxe Library:"
|
|
echo " Using Haxe ................ : $HAXE"
|
|
echo " Using Haxe version ........ : $HAXE_VERSION"
|
|
fi
|
|
if test "$have_java" = "yes" ; then
|
|
echo
|
|
echo "Java Library:"
|
|
echo " Using gradlew ............. : lib/java/gradlew"
|
|
echo " Using java ................ : $JAVA"
|
|
echo " Using javac ............... : $JAVAC"
|
|
echo " Using Gradle version ...... : $(lib/java/gradlew --version --quiet | grep Gradle 2>&1)"
|
|
echo " Using java version ........ : $($JAVA -version 2>&1 | grep 'version ')"
|
|
fi
|
|
if test "$have_lua" = "yes" ; then
|
|
echo
|
|
echo "Lua Library:"
|
|
echo " Using Lua ................. : $LUA"
|
|
echo " Using Lua version.......... : $($LUA -v)"
|
|
fi
|
|
if test "$have_nodejs" = "yes" ; then
|
|
echo
|
|
echo "NodeJS Library:"
|
|
echo " Using NodeJS .............. : $NODEJS"
|
|
echo " Using NodeJS version....... : $($NODEJS --version)"
|
|
fi
|
|
if test "$have_perl" = "yes" ; then
|
|
echo
|
|
echo "Perl Library:"
|
|
echo " Using Perl ................ : $PERL"
|
|
echo " Using Perl version ........ : $($PERL -v | grep 'version ')"
|
|
fi
|
|
if test "$have_php" = "yes" ; then
|
|
echo
|
|
echo "PHP Library:"
|
|
echo " Using php-config .......... : $PHP_CONFIG"
|
|
echo " Using php version ......... : $($PHP --version | head -1)"
|
|
fi
|
|
if test "$have_python" = "yes" ; then
|
|
echo
|
|
echo "Python Library:"
|
|
echo " Using Python .............. : $PYTHON"
|
|
echo " Using Python version ...... : $($PYTHON --version 2>&1)"
|
|
if test "$have_py3" = "yes" ; then
|
|
echo " Using Python3 ............. : $PYTHON3"
|
|
echo " Using Python3 version ..... : $($PYTHON3 --version)"
|
|
fi
|
|
if test "$have_trial" = "yes"; then
|
|
echo " Using trial ............... : $TRIAL"
|
|
fi
|
|
fi
|
|
if test "$have_ruby" = "yes" ; then
|
|
echo
|
|
echo "Ruby Library:"
|
|
echo " Using Ruby ................ : $RUBY"
|
|
echo " Using Ruby version ........ : $($RUBY --version)"
|
|
fi
|
|
if test "$have_rs" = "yes" ; then
|
|
echo
|
|
echo "Rust Library:"
|
|
echo " Using Cargo................ : $CARGO"
|
|
echo " Using rustc................ : $RUSTC"
|
|
echo " Using Rust version......... : $($RUSTC --version)"
|
|
fi
|
|
if test "$have_swift" = "yes" ; then
|
|
echo
|
|
echo "Swift Library:"
|
|
echo " Using Swift ............... : $SWIFT"
|
|
echo " Using Swift version ....... : $($SWIFT --version | head -1)"
|
|
fi
|
|
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."
|
|
echo
|