David Reiss | feab773 | 2009-03-30 22:52:44 +0000 | [diff] [blame] | 1 | # |
| 2 | # Licensed to the Apache Software Foundation (ASF) under one |
| 3 | # or more contributor license agreements. See the NOTICE file |
| 4 | # distributed with this work for additional information |
| 5 | # regarding copyright ownership. The ASF licenses this file |
| 6 | # to you under the Apache License, Version 2.0 (the |
| 7 | # "License"); you may not use this file except in compliance |
| 8 | # with the License. You may obtain a copy of the License at |
| 9 | # |
| 10 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | # |
| 12 | # Unless required by applicable law or agreed to in writing, |
| 13 | # software distributed under the License is distributed on an |
| 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| 15 | # KIND, either express or implied. See the License for the |
| 16 | # specific language governing permissions and limitations |
| 17 | # under the License. |
| 18 | # |
| 19 | |
T Jake Luciani | 03ec1e4 | 2011-01-27 02:53:57 +0000 | [diff] [blame] | 20 | AC_PREREQ(2.65) |
Jens Geyer | 4aa95df | 2015-04-03 12:37:03 +0200 | [diff] [blame] | 21 | AC_CONFIG_MACRO_DIR([./aclocal]) |
Marc Slemko | b09f588 | 2006-08-23 22:03:34 +0000 | [diff] [blame] | 22 | |
Jens Geyer | 3fc0b8d | 2021-02-11 23:17:45 +0100 | [diff] [blame] | 23 | AC_INIT([thrift], [0.15.0]) |
Marc Slemko | b09f588 | 2006-08-23 22:03:34 +0000 | [diff] [blame] | 24 | |
| 25 | AC_CONFIG_AUX_DIR([.]) |
| 26 | |
Christopher Friedt | 93a316c | 2021-06-05 07:57:27 -0400 | [diff] [blame^] | 27 | AM_INIT_AUTOMAKE([1.13 subdir-objects tar-ustar foreign]) |
Bryan Duxbury | b005c1f | 2011-02-09 17:05:11 +0000 | [diff] [blame] | 28 | PKG_PROG_PKG_CONFIG |
Marc Slemko | b09f588 | 2006-08-23 22:03:34 +0000 | [diff] [blame] | 29 | |
David Reiss | d683219 | 2007-09-05 00:47:32 +0000 | [diff] [blame] | 30 | AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules. |
| 31 | (Normal --prefix is ignored for Python because |
| 32 | Python has different conventions.) |
| 33 | Default = "/usr"]) |
David Reiss | cdd6f3c | 2008-03-04 21:10:29 +0000 | [diff] [blame] | 34 | AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"]) |
David Reiss | d683219 | 2007-09-05 00:47:32 +0000 | [diff] [blame] | 35 | |
David Reiss | f0c21a7 | 2008-07-11 01:26:16 +0000 | [diff] [blame] | 36 | AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar. |
Randy Abernethy | c295c82 | 2016-02-16 08:22:49 -0800 | [diff] [blame] | 37 | Default = "/usr/local/lib"]) |
| 38 | AS_IF([test "x$JAVA_PREFIX" != x], [JAVA_PREFIX="$JAVA_PREFIX/usr/local/lib"], |
| 39 | [test "x$PREFIX" != x], [JAVA_PREFIX="$PREFIX/usr/local/lib"], |
| 40 | [JAVA_PREFIX="/usr/local/lib"]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 41 | |
Bryan Duxbury | 3f0b526 | 2010-05-12 21:31:58 +0000 | [diff] [blame] | 42 | AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules. |
| 43 | (Normal --prefix is ignored for Ruby because |
| 44 | Ruby has different conventions.) |
| 45 | Default = none, let ruby setup decide]) |
| 46 | |
Bryan Duxbury | 6a68187 | 2010-05-02 22:39:31 +0000 | [diff] [blame] | 47 | AC_ARG_VAR([PHP_PREFIX], [Prefix for installing PHP modules. |
| 48 | (Normal --prefix is ignored for PHP because |
| 49 | PHP has different conventions.) |
| 50 | Default = "/usr/lib/php"]) |
| 51 | AS_IF([test "x$PHP_PREFIX" = x], [PHP_PREFIX="/usr/lib/php"]) |
| 52 | |
Bryan Duxbury | 89200e1 | 2010-08-25 17:09:02 +0000 | [diff] [blame] | 53 | AC_ARG_VAR([PHP_CONFIG_PREFIX], |
| 54 | [Prefix for installing PHP extension module .ini file. |
| 55 | (Normal --prefix is ignored for PHP because PHP has |
| 56 | different conventions.) |
| 57 | Default = "/etc/php.d"]) |
| 58 | AS_IF([test "x$PHP_CONFIG_PREFIX" = x], [PHP_CONFIG_PREFIX="/etc/php.d"]) |
| 59 | |
Jake Farrell | 05e0cdb | 2011-05-05 13:45:26 +0000 | [diff] [blame] | 60 | AC_ARG_VAR([INSTALLDIRS], [When installing Perl modules, specifies which |
| 61 | of the sets of installation directories |
| 62 | to choose: perl, site or vendor. |
| 63 | Default = "vendor"]) |
| 64 | AS_IF([test "x$INSTALLDIRS" = x], [INSTALLDIRS="vendor"]) |
| 65 | |
David Reiss | c07057e | 2010-06-11 17:57:32 +0000 | [diff] [blame] | 66 | AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules. |
| 67 | (Normal --prefix is ignored for Perl because |
| 68 | Perl has different conventions.) |
Jake Farrell | 05e0cdb | 2011-05-05 13:45:26 +0000 | [diff] [blame] | 69 | Ignored, when INSTALLDIRS set to site or vendor. |
David Reiss | c07057e | 2010-06-11 17:57:32 +0000 | [diff] [blame] | 70 | Default = "/usr/local/lib"]) |
| 71 | AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"]) |
| 72 | |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 73 | AC_ARG_VAR([D_IMPORT_PREFIX], [Prefix for installing D modules. |
| 74 | [INCLUDEDIR/d2]]) |
| 75 | AS_IF([test "x$D_IMPORT_PREFIX" = x], [D_IMPORT_PREFIX="${includedir}/d2"]) |
| 76 | |
| 77 | AC_ARG_VAR([DMD_LIBEVENT_FLAGS], [DMD flags for linking libevent (auto-detected if not set).]) |
| 78 | AC_ARG_VAR([DMD_OPENSSL_FLAGS], [DMD flags for linking OpenSSL (auto-detected if not set).]) |
| 79 | |
Thomas Petazzoni | 1744cdc | 2017-08-26 00:10:40 +0200 | [diff] [blame] | 80 | AC_ARG_VAR([THRIFT], [Path to the thrift tool (needed for cross-compilation).]) |
| 81 | AS_IF([test "x$THRIFT" = x], [THRIFT=`pwd`/compiler/cpp/thrift]) |
| 82 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 83 | AC_PROG_CC |
| 84 | AC_PROG_CPP |
| 85 | AC_PROG_CXX |
| 86 | AC_PROG_INSTALL |
| 87 | AC_PROG_LIBTOOL |
| 88 | AC_PROG_MAKE_SET |
Roger Meier | 3974aab | 2014-07-14 20:22:12 +0200 | [diff] [blame] | 89 | AC_PROG_BISON(2.5) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 90 | AC_PROG_YACC |
| 91 | AC_PROG_LEX |
| 92 | AM_PROG_LEX |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 93 | AC_PROG_LN_S |
| 94 | AC_PROG_MKDIR_P |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 95 | AC_PROG_AWK |
| 96 | AC_PROG_RANLIB |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 97 | |
| 98 | AC_LANG([C++]) |
cyy | 0705d99 | 2019-01-05 10:52:48 +0800 | [diff] [blame] | 99 | AX_CXX_COMPILE_STDCXX_11([noext], [mandatory]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 100 | |
Konrad Grochowski | 16a23a6 | 2014-11-13 15:33:38 +0100 | [diff] [blame] | 101 | AM_EXTRA_RECURSIVE_TARGETS([style]) |
| 102 | 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 {} \;') |
wilfrem | 2c69b5a | 2015-04-20 19:24:50 +0900 | [diff] [blame] | 103 | # ' |
| 104 | # The above comment is to fix editor syntax highlighting |
Konrad Grochowski | 16a23a6 | 2014-11-13 15:33:38 +0100 | [diff] [blame] | 105 | |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 106 | AC_ARG_ENABLE([libs], |
| 107 | AS_HELP_STRING([--enable-libs], [build the Apache Thrift libraries [default=yes]]), |
| 108 | [], enable_libs=yes |
| 109 | ) |
| 110 | have_libs=yes |
| 111 | if test "$enable_libs" = "no"; then |
| 112 | have_libs="no" |
| 113 | with_cpp="no" |
| 114 | with_c_glib="no" |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 115 | with_cl="no" |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 116 | with_java="no" |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 117 | with_python="no" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 118 | with_py3="no" |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 119 | with_ruby="no" |
Jens Geyer | bd52f1a | 2014-07-28 01:25:30 +0200 | [diff] [blame] | 120 | with_haxe="no" |
Jens Geyer | aa0c8b3 | 2019-01-28 23:27:45 +0100 | [diff] [blame] | 121 | with_netstd="no" |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 122 | with_perl="no" |
| 123 | with_php="no" |
| 124 | with_php_extension="no" |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 125 | with_dart="no" |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 126 | with_erlang="no" |
| 127 | with_go="no" |
| 128 | with_d="no" |
| 129 | with_nodejs="no" |
wilfrem | 2c69b5a | 2015-04-20 19:24:50 +0900 | [diff] [blame] | 130 | with_nodets="no" |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 131 | with_lua="no" |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 132 | with_rs="no" |
James E. King III | a3a7c6c | 2018-12-31 17:17:34 -0500 | [diff] [blame] | 133 | with_swift="no" |
Roger Meier | c92cda0 | 2014-02-09 21:13:53 +0100 | [diff] [blame] | 134 | fi |
| 135 | |
David Reiss | ea4c981 | 2010-08-31 16:51:21 +0000 | [diff] [blame] | 136 | AX_THRIFT_LIB(cpp, [C++], yes) |
| 137 | have_cpp=no |
| 138 | if test "$with_cpp" = "yes"; then |
James E. King III | ee8caca | 2019-05-04 08:20:59 -0400 | [diff] [blame] | 139 | AX_BOOST_BASE([1.56.0]) |
Jake Farrell | 3ad8081 | 2011-06-09 19:14:22 +0000 | [diff] [blame] | 140 | if test "x$succeeded" = "xyes" ; then |
Konrad Grochowski | ec8d877 | 2014-12-20 12:19:00 +0100 | [diff] [blame] | 141 | AC_SUBST([BOOST_LIB_DIR], [$(echo "$BOOST_LDFLAGS" | sed -e 's/^\-L//')]) |
Ben Craig | 1684c42 | 2015-04-24 08:52:44 -0500 | [diff] [blame] | 142 | AC_SUBST([BOOST_CHRONO_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_chrono.a")]) |
Jim King | b0b710a | 2015-07-28 13:31:27 -0400 | [diff] [blame] | 143 | AC_SUBST([BOOST_FILESYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_filesystem.a")]) |
Ben Craig | 1684c42 | 2015-04-24 08:52:44 -0500 | [diff] [blame] | 144 | AC_SUBST([BOOST_SYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_system.a")]) |
Konrad Grochowski | ec8d877 | 2014-12-20 12:19:00 +0100 | [diff] [blame] | 145 | AC_SUBST([BOOST_TEST_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_unit_test_framework.a")]) |
Ben Craig | 1684c42 | 2015-04-24 08:52:44 -0500 | [diff] [blame] | 146 | AC_SUBST([BOOST_THREAD_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_thread.a")]) |
David Reiss | ef5e81b | 2010-08-31 16:51:28 +0000 | [diff] [blame] | 147 | have_cpp="yes" |
| 148 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 149 | |
James E. King III | ecebd77 | 2018-12-28 08:50:58 -0500 | [diff] [blame] | 150 | AX_LIB_EVENT([2.0]) |
David Reiss | ea4c981 | 2010-08-31 16:51:21 +0000 | [diff] [blame] | 151 | have_libevent=$success |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 152 | |
David Reiss | ea4c981 | 2010-08-31 16:51:21 +0000 | [diff] [blame] | 153 | AX_LIB_ZLIB([1.2.3]) |
| 154 | have_zlib=$success |
Chris Piro | 20c81ad | 2013-03-07 11:32:48 -0500 | [diff] [blame] | 155 | |
Nobuaki Sukegawa | 6622877 | 2014-12-07 21:45:33 +0900 | [diff] [blame] | 156 | AX_THRIFT_LIB(qt5, [Qt5], yes) |
| 157 | have_qt5=no |
| 158 | qt_reduce_reloc="" |
| 159 | if test "$with_qt5" = "yes"; then |
| 160 | PKG_CHECK_MODULES([QT5], [Qt5Core >= 5.0, Qt5Network >= 5.0], |
| 161 | [have_qt5=yes;qt_reduce_reloc=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "reduce_relocations"`], |
| 162 | [have_qt5=no]) |
| 163 | fi |
| 164 | if test "$have_qt5" = "yes"; then |
Jens Geyer | 2ac3a3c | 2014-12-23 18:18:58 +0100 | [diff] [blame] | 165 | AC_PATH_PROGS([QT5_MOC], [moc-qt5 moc], "fail") |
| 166 | if test "$QT5_MOC" = "fail"; then |
| 167 | have_qt5=no |
| 168 | fi |
Nobuaki Sukegawa | 6622877 | 2014-12-07 21:45:33 +0900 | [diff] [blame] | 169 | fi |
David Reiss | ea4c981 | 2010-08-31 16:51:21 +0000 | [diff] [blame] | 170 | fi |
| 171 | AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"]) |
| 172 | AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$have_libevent" = "yes"]) |
| 173 | AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$have_zlib" = "yes"]) |
Nobuaki Sukegawa | 6622877 | 2014-12-07 21:45:33 +0900 | [diff] [blame] | 174 | AM_CONDITIONAL([AMX_HAVE_QT5], [test "$have_qt5" = "yes"]) |
| 175 | AM_CONDITIONAL([QT5_REDUCE_RELOCATIONS], [test "x$qt_reduce_reloc" != "x"]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 176 | |
Roger Meier | 3217723 | 2012-05-01 11:19:53 +0000 | [diff] [blame] | 177 | AX_THRIFT_LIB(c_glib, [C (GLib)], yes) |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 178 | if test "$with_c_glib" = "yes"; then |
| 179 | PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.0], have_glib2=yes, have_glib2=no) |
| 180 | PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0], have_gobject2=yes, have_gobject2=no) |
| 181 | if test "$have_glib2" = "yes" -a "$have_gobject2" = "yes" ; then |
James E. King III | b1d63e7 | 2019-01-22 14:16:39 -0500 | [diff] [blame] | 182 | AC_PATH_PROG([GSETTINGS], [gsettings]) |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 183 | have_c_glib="yes" |
| 184 | fi |
| 185 | fi |
| 186 | AM_CONDITIONAL(WITH_C_GLIB, [test "$have_glib2" = "yes" -a "$have_gobject2" = "yes"]) |
| 187 | |
James E. King III | b96c438 | 2019-01-24 17:45:07 -0500 | [diff] [blame] | 188 | # echo "OpenSSL check" |
James E. King, III | 36628a2 | 2017-02-13 15:25:41 -0500 | [diff] [blame] | 189 | if test "$have_cpp" = "yes" -o "$have_c_glib" = "yes"; then |
James E. King III | b96c438 | 2019-01-24 17:45:07 -0500 | [diff] [blame] | 190 | # echo "Have cpp or c so we check for OpenSSL" |
James E. King, III | 43e959b | 2017-04-04 13:04:29 -0400 | [diff] [blame] | 191 | AX_CHECK_OPENSSL() |
James E. King, III | 36628a2 | 2017-02-13 15:25:41 -0500 | [diff] [blame] | 192 | fi |
| 193 | |
David Reiss | 1fdb592 | 2008-02-06 22:10:12 +0000 | [diff] [blame] | 194 | |
David Reiss | 62d3981 | 2008-03-02 07:00:22 +0000 | [diff] [blame] | 195 | AX_THRIFT_LIB(java, [Java], yes) |
| 196 | if test "$with_java" = "yes"; then |
David Reiss | d9cdf42 | 2009-03-13 21:25:29 +0000 | [diff] [blame] | 197 | AX_JAVAC_AND_JAVA |
Bryan Duxbury | 38bab12 | 2010-08-12 00:27:14 +0000 | [diff] [blame] | 198 | AC_PATH_PROG([ANT], [ant]) |
Jake Farrell | 210d766 | 2011-05-25 21:07:29 +0000 | [diff] [blame] | 199 | AX_CHECK_ANT_VERSION($ANT, 1.7) |
David Reiss | fff84d1 | 2009-05-22 19:50:33 +0000 | [diff] [blame] | 200 | AC_SUBST(CLASSPATH) |
David Reiss | 4ca0c8e | 2009-05-12 23:16:55 +0000 | [diff] [blame] | 201 | AC_SUBST(ANT_FLAGS) |
Alex Volanis | 7004a61 | 2018-01-24 10:30:13 -0500 | [diff] [blame] | 202 | AC_SUBST(GRADLE_OPTS) |
jfarrell | ea2fbcf | 2014-11-21 10:06:01 -0500 | [diff] [blame] | 203 | if test "x$JAVA" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 204 | have_java="yes" |
| 205 | fi |
David Reiss | 62d3981 | 2008-03-02 07:00:22 +0000 | [diff] [blame] | 206 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 207 | AM_CONDITIONAL([WITH_JAVA], [test "$have_java" = "yes"]) |
David Reiss | 1fdb592 | 2008-02-06 22:10:12 +0000 | [diff] [blame] | 208 | |
Christopher Piro | b6f18c2 | 2008-03-04 07:09:12 +0000 | [diff] [blame] | 209 | AX_THRIFT_LIB(erlang, [Erlang], yes) |
| 210 | if test "$with_erlang" = "yes"; then |
David Reiss | 9e2fd79 | 2010-05-18 16:52:48 +0000 | [diff] [blame] | 211 | AC_ERLANG_PATH_ERL |
| 212 | AC_ERLANG_PATH_ERLC |
Sergey Yelin | 4ffe763 | 2019-04-18 17:27:46 +0300 | [diff] [blame] | 213 | AC_PATH_PROG([REBAR], [rebar3]) |
David Reiss | 31e1b6e | 2010-08-24 20:45:24 +0000 | [diff] [blame] | 214 | if test -n "$ERLC" ; then |
| 215 | AC_ERLANG_SUBST_LIB_DIR |
| 216 | # Install into the detected Erlang directory instead of $libdir/erlang/lib |
| 217 | ERLANG_INSTALL_LIB_DIR="$ERLANG_LIB_DIR" |
| 218 | AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) |
| 219 | fi |
Roger Meier | c7b3086 | 2015-11-14 10:08:33 +0100 | [diff] [blame] | 220 | if test -n "$ERL" -a -n "$ERLC" && test "x$REBAR" != "x" ; then |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 221 | have_erlang="yes" |
Jens Geyer | 57ac33e | 2015-07-28 23:12:10 +0200 | [diff] [blame] | 222 | |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 223 | fi |
Christopher Piro | b6f18c2 | 2008-03-04 07:09:12 +0000 | [diff] [blame] | 224 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 225 | AM_CONDITIONAL(WITH_ERLANG, [test "$have_erlang" = "yes"]) |
Christopher Piro | b6f18c2 | 2008-03-04 07:09:12 +0000 | [diff] [blame] | 226 | |
Roger Meier | 8909cbd | 2014-01-26 11:44:27 +0100 | [diff] [blame] | 227 | AX_THRIFT_LIB(nodejs, [Nodejs], yes) |
| 228 | have_nodejs=no |
| 229 | if test "$with_nodejs" = "yes"; then |
| 230 | AC_PATH_PROGS([NODEJS], [nodejs node]) |
| 231 | AC_PATH_PROG([NPM], [npm]) |
| 232 | if test "x$NODEJS" != "x" -a "x$NPM" != "x"; then |
| 233 | have_nodejs="yes" |
| 234 | fi |
| 235 | fi |
| 236 | AM_CONDITIONAL(WITH_NODEJS, [test "$have_nodejs" = "yes"]) |
| 237 | AM_CONDITIONAL(HAVE_NPM, [test "x$NPM" != "x"]) |
| 238 | |
wilfrem | 2c69b5a | 2015-04-20 19:24:50 +0900 | [diff] [blame] | 239 | AX_THRIFT_LIB(nodets, [Nodets], yes) |
| 240 | have_nodets=no |
| 241 | if test "$with_nodets" = "yes"; then |
| 242 | AC_PATH_PROGS([NODETS], [nodets node]) |
| 243 | AC_PATH_PROG([NPM], [npm]) |
| 244 | if test "x$NODETS" != "x" -a "x$NPM" != "x"; then |
| 245 | have_nodets="yes" |
| 246 | fi |
| 247 | fi |
| 248 | AM_CONDITIONAL(WITH_NODETS, [test "$have_nodets" = "yes"]) |
| 249 | AM_CONDITIONAL(HAVE_NPM, [test "x$NPM" != "x"]) |
| 250 | |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 251 | AX_THRIFT_LIB(lua, [Lua], yes) |
| 252 | have_lua=no |
| 253 | if test "$with_lua" = "yes"; then |
Jens Geyer | 468e63b | 2015-02-08 14:43:15 +0100 | [diff] [blame] | 254 | AX_PROG_LUA(5.2,, have_lua="yes", have_lua="no") |
| 255 | if test "$have_lua" = "yes"; then |
| 256 | AX_LUA_HEADERS(, have_lua="no") |
| 257 | AX_LUA_LIBS(, have_lua="no") |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 258 | fi |
| 259 | fi |
| 260 | AM_CONDITIONAL(WITH_LUA, [test "$have_lua" = "yes"]) |
| 261 | |
Nobuaki Sukegawa | ffc2bb3 | 2016-01-12 19:20:05 +0900 | [diff] [blame] | 262 | # Find python regardless of with_python value, because it's needed by make cross |
| 263 | AM_PATH_PYTHON(2.6,, :) |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 264 | AX_THRIFT_LIB(python, [Python], yes) |
| 265 | if test "$with_python" = "yes"; then |
Nobuaki Sukegawa | bf9fa90 | 2016-09-04 18:49:21 +0900 | [diff] [blame] | 266 | if test -n "$PYTHON"; then |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 267 | have_python="yes" |
| 268 | fi |
Nobuaki Sukegawa | bf9fa90 | 2016-09-04 18:49:21 +0900 | [diff] [blame] | 269 | AC_PATH_PROG([TRIAL], [trial]) |
| 270 | if test -n "$TRIAL"; then |
| 271 | have_trial="yes" |
| 272 | fi |
David Reiss | 1a14091 | 2008-06-11 01:16:37 +0000 | [diff] [blame] | 273 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 274 | AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"]) |
Nobuaki Sukegawa | bf9fa90 | 2016-09-04 18:49:21 +0900 | [diff] [blame] | 275 | AM_CONDITIONAL(WITH_TWISTED_TEST, [test "$have_trial" = "yes"]) |
David Reiss | 1a14091 | 2008-06-11 01:16:37 +0000 | [diff] [blame] | 276 | |
Nobuaki Sukegawa | a185d7e | 2015-11-06 21:24:24 +0900 | [diff] [blame] | 277 | # Find "python3" executable. |
| 278 | # It's distro specific and far from ideal but needed to cross test py2-3 at once. |
Nobuaki Sukegawa | bf9fa90 | 2016-09-04 18:49:21 +0900 | [diff] [blame] | 279 | # TODO: find "python2" if it's 3.x |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 280 | have_py3="no" |
James E. King III | 5751621 | 2019-01-02 08:28:47 -0500 | [diff] [blame] | 281 | AX_THRIFT_LIB(py3, [Py3], yes) |
| 282 | if test "$with_py3" = "yes"; then |
Jano Svitok | ed1711e | 2020-03-10 22:39:18 +0100 | [diff] [blame] | 283 | # if $PYTHON is 2.x then search for python 3. otherwise, $PYTHON is already 3.x |
| 284 | if $PYTHON --version 2>&1 | grep -q "Python 2"; then |
| 285 | AC_PATH_PROGS([PYTHON3], [python3 python3.8 python38 python3.7 python37 python3.6 python36 python3.5 python35 python3.4 python34]) |
James E. King III | 5751621 | 2019-01-02 08:28:47 -0500 | [diff] [blame] | 286 | if test -n "$PYTHON3"; then |
| 287 | have_py3="yes" |
| 288 | fi |
Jano Svitok | ed1711e | 2020-03-10 22:39:18 +0100 | [diff] [blame] | 289 | elif $PYTHON --version 2>&1 | grep -q "Python 3"; then |
| 290 | have_py3="yes" |
| 291 | PYTHON3=$PYTHON |
Nobuaki Sukegawa | bf9fa90 | 2016-09-04 18:49:21 +0900 | [diff] [blame] | 292 | fi |
Nobuaki Sukegawa | a185d7e | 2015-11-06 21:24:24 +0900 | [diff] [blame] | 293 | fi |
| 294 | AM_CONDITIONAL(WITH_PY3, [test "$have_py3" = "yes"]) |
| 295 | |
T Jake Luciani | 1952e54 | 2009-02-01 04:47:30 +0000 | [diff] [blame] | 296 | AX_THRIFT_LIB(perl, [Perl], yes) |
| 297 | if test "$with_perl" = "yes"; then |
| 298 | AC_PATH_PROG([PERL], [perl]) |
David Reiss | dcc7e9b | 2010-08-31 16:51:22 +0000 | [diff] [blame] | 299 | if test -n "$PERL" ; then |
| 300 | AC_PROG_PERL_MODULES([Bit::Vector], success="yes", success="no") |
| 301 | have_perl_bit_vector="$success" |
Roger Meier | aae8acb | 2014-01-15 13:55:09 +0100 | [diff] [blame] | 302 | AC_PROG_PERL_MODULES([Class::Accessor], success="yes", success="no") |
| 303 | have_perl_class_accessor="$success" |
Bryan Duxbury | 1237369 | 2010-08-19 05:23:59 +0000 | [diff] [blame] | 304 | fi |
David Reiss | dcc7e9b | 2010-08-31 16:51:22 +0000 | [diff] [blame] | 305 | if test -n "$PERL" -a "$have_perl_bit_vector" = "yes" ; then |
Roger Meier | aae8acb | 2014-01-15 13:55:09 +0100 | [diff] [blame] | 306 | if test -n "$PERL" -a "$have_perl_class_accessor" = "yes" ; then |
| 307 | have_perl="yes" |
| 308 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 309 | fi |
T Jake Luciani | 1952e54 | 2009-02-01 04:47:30 +0000 | [diff] [blame] | 310 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 311 | AM_CONDITIONAL(WITH_PERL, [test "$have_perl" = "yes"]) |
T Jake Luciani | 1952e54 | 2009-02-01 04:47:30 +0000 | [diff] [blame] | 312 | |
Bryan Duxbury | 6a68187 | 2010-05-02 22:39:31 +0000 | [diff] [blame] | 313 | AX_THRIFT_LIB(php, [PHP], yes) |
| 314 | if test "$with_php" = "yes"; then |
| 315 | AC_PATH_PROG([PHP], [php]) |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 316 | if test -n "$PHP" ; then |
| 317 | have_php="yes" |
| 318 | fi |
Bryan Duxbury | 6a68187 | 2010-05-02 22:39:31 +0000 | [diff] [blame] | 319 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 320 | AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"]) |
Bryan Duxbury | 6a68187 | 2010-05-02 22:39:31 +0000 | [diff] [blame] | 321 | |
Bryan Duxbury | 89200e1 | 2010-08-25 17:09:02 +0000 | [diff] [blame] | 322 | AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes) |
| 323 | if test "$with_php_extension" = "yes"; then |
jfarrell | 30a472e | 2014-07-10 18:42:30 -0400 | [diff] [blame] | 324 | if test -f "lib/php/src/ext/thrift_protocol/configure"; then |
| 325 | AC_PATH_PROG([PHP_CONFIG], [php-config]) |
| 326 | if test -n "$PHP_CONFIG" ; then |
| 327 | AC_CONFIG_SUBDIRS([lib/php/src/ext/thrift_protocol]) |
| 328 | have_php_extension="yes" |
| 329 | fi |
Anthony F. Molinaro | ddcf32a | 2010-10-05 16:45:50 +0000 | [diff] [blame] | 330 | fi |
Bryan Duxbury | 89200e1 | 2010-08-25 17:09:02 +0000 | [diff] [blame] | 331 | fi |
Anthony F. Molinaro | ddcf32a | 2010-10-05 16:45:50 +0000 | [diff] [blame] | 332 | AM_CONDITIONAL(WITH_PHP_EXTENSION, [test "$have_php_extension" = "yes"]) |
Bryan Duxbury | 89200e1 | 2010-08-25 17:09:02 +0000 | [diff] [blame] | 333 | |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 334 | AX_THRIFT_LIB(dart, [DART], yes) |
| 335 | if test "$with_dart" = "yes"; then |
| 336 | AC_PATH_PROG([DART], [dart]) |
| 337 | AC_PATH_PROG([DARTPUB], [pub]) |
| 338 | if test "x$DART" != "x" -a "x$DARTPUB" != "x"; then |
| 339 | have_dart="yes" |
| 340 | fi |
| 341 | fi |
| 342 | AM_CONDITIONAL(WITH_DART, [test "$have_dart" = "yes"]) |
| 343 | |
Kevin Clark | 4bd8916 | 2008-07-08 00:47:49 +0000 | [diff] [blame] | 344 | AX_THRIFT_LIB(ruby, [Ruby], yes) |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 345 | have_ruby=no |
Kevin Clark | 4bd8916 | 2008-07-08 00:47:49 +0000 | [diff] [blame] | 346 | if test "$with_ruby" = "yes"; then |
| 347 | AC_PATH_PROG([RUBY], [ruby]) |
Jake Farrell | 9c39f77 | 2011-08-30 19:12:10 +0000 | [diff] [blame] | 348 | AC_PATH_PROG([BUNDLER], [bundle]) |
jfarrell | 507740c | 2014-01-22 22:20:21 -0500 | [diff] [blame] | 349 | if test "x$RUBY" != "x" -a "x$BUNDLER" != "x"; then |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 350 | have_ruby="yes" |
| 351 | fi |
Kevin Clark | 4bd8916 | 2008-07-08 00:47:49 +0000 | [diff] [blame] | 352 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 353 | AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"]) |
Jake Farrell | 9c39f77 | 2011-08-30 19:12:10 +0000 | [diff] [blame] | 354 | AM_CONDITIONAL(HAVE_BUNDLER, [test "x$BUNDLER" != "x"]) |
Bryan Duxbury | ec47358 | 2009-04-07 16:31:04 +0000 | [diff] [blame] | 355 | |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 356 | AX_THRIFT_LIB(go, [Go], yes) |
| 357 | if test "$with_go" = "yes"; then |
Jens Geyer | 0e87c46 | 2013-06-18 22:25:07 +0200 | [diff] [blame] | 358 | AC_PATH_PROG([GO], [go]) |
| 359 | if [[ -x "$GO" ]] ; then |
Jens Geyer | 0cfdf7c | 2015-03-18 23:38:43 +0200 | [diff] [blame] | 360 | AS_IF([test -n "$GO"],[ |
taozle | c0d384a | 2017-07-17 18:40:42 +0200 | [diff] [blame] | 361 | ax_go_version="1.4" |
taozle | 5c302e0 | 2017-07-23 15:21:44 +0200 | [diff] [blame] | 362 | ax_go17_version="1.7" |
Jens Geyer | 0cfdf7c | 2015-03-18 23:38:43 +0200 | [diff] [blame] | 363 | |
| 364 | AC_MSG_CHECKING([for Go version]) |
| 365 | golang_version=`$GO version 2>&1 | $SED -e 's/\(go \)\(version \)\(go\)\(@<:@0-9@:>@.@<:@0-9@:>@.@<:@0-9@:>@\)\(@<:@\*@:>@*\).*/\4/'` |
| 366 | AC_MSG_RESULT($golang_version) |
| 367 | AC_SUBST([golang_version],[$golang_version]) |
| 368 | AX_COMPARE_VERSION([$ax_go_version],[le],[$golang_version],[ |
| 369 | : |
| 370 | have_go="yes" |
| 371 | ],[ |
| 372 | : |
| 373 | have_go="no" |
| 374 | ]) |
taozle | 5c302e0 | 2017-07-23 15:21:44 +0200 | [diff] [blame] | 375 | AX_COMPARE_VERSION([$golang_version],[lt],[$ax_go17_version],[ |
| 376 | : |
| 377 | go_version_lt_17="yes" |
| 378 | ],[ |
| 379 | : |
| 380 | go_version_lt_17="no" |
| 381 | ]) |
Jens Geyer | 0cfdf7c | 2015-03-18 23:38:43 +0200 | [diff] [blame] | 382 | ],[ |
| 383 | AC_MSG_WARN([could not find Go ]) |
| 384 | have_go="no" |
| 385 | ]) |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 386 | fi |
| 387 | fi |
| 388 | AM_CONDITIONAL(WITH_GO, [test "$have_go" = "yes"]) |
taozle | 5c302e0 | 2017-07-23 15:21:44 +0200 | [diff] [blame] | 389 | AM_CONDITIONAL([GOVERSION_LT_17], [test "$go_version_lt_17" = "yes"]) |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 390 | |
James E. King III | a3a7c6c | 2018-12-31 17:17:34 -0500 | [diff] [blame] | 391 | AX_THRIFT_LIB(swift, [Swift], yes) |
| 392 | have_swift="no" |
| 393 | if test "$with_swift" = "yes"; then |
| 394 | AC_PATH_PROG([SWIFT], [swift]) |
| 395 | if test "x$SWIFT" != "x" -a "x$SWIFT" != "x"; then |
| 396 | have_swift="yes" |
| 397 | fi |
| 398 | fi |
| 399 | AM_CONDITIONAL([WITH_SWIFT], [test "$have_swift" = "yes"]) |
| 400 | |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 401 | AX_THRIFT_LIB(rs, [Rust], yes) |
| 402 | have_rs="no" |
| 403 | if test "$with_rs" = "yes"; then |
| 404 | AC_PATH_PROG([CARGO], [cargo]) |
| 405 | AC_PATH_PROG([RUSTC], [rustc]) |
| 406 | if [[ -x "$CARGO" ]] && [[ -x "$RUSTC" ]]; then |
| 407 | min_rustc_version="1.13" |
| 408 | |
| 409 | AC_MSG_CHECKING([for rustc version]) |
| 410 | rustc_version=`$RUSTC --version 2>&1 | $SED -e 's/\(rustc \)\([0-9]\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\2.\3/'` |
| 411 | AC_MSG_RESULT($rustc_version) |
| 412 | AC_SUBST([rustc_version],[$rustc_version]) |
| 413 | |
| 414 | AX_COMPARE_VERSION([$min_rustc_version],[le],[$rustc_version],[ |
| 415 | : |
| 416 | have_rs="yes" |
| 417 | ],[ |
| 418 | : |
| 419 | have_rs="no" |
| 420 | ]) |
| 421 | fi |
| 422 | fi |
| 423 | AM_CONDITIONAL(WITH_RS, [test "$have_rs" = "yes"]) |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 424 | |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 425 | AX_THRIFT_LIB(cl, [Common Lisp], yes) |
| 426 | have_cl="no" |
| 427 | if test "$with_cl" = "yes"; then |
| 428 | AC_PATH_PROG([SBCL], [sbcl]) |
| 429 | if test "x$SBCL" != "x"; then |
| 430 | have_cl="yes" |
| 431 | fi |
| 432 | fi |
| 433 | AM_CONDITIONAL(WITH_CL, [test "$have_cl" = "yes"]) |
| 434 | |
Jens Geyer | bd52f1a | 2014-07-28 01:25:30 +0200 | [diff] [blame] | 435 | AX_THRIFT_LIB(haxe, [Haxe], yes) |
| 436 | if test "$with_haxe" = "yes"; then |
| 437 | AC_PATH_PROG([HAXE], [haxe]) |
| 438 | if [[ -x "$HAXE" ]] ; then |
Jens Geyer | 2dcefad | 2021-02-25 09:42:52 +0100 | [diff] [blame] | 439 | AX_PROG_HAXE_VERSION( [4.2.1], have_haxe="yes", have_haxe="no") |
Jens Geyer | bd52f1a | 2014-07-28 01:25:30 +0200 | [diff] [blame] | 440 | fi |
| 441 | fi |
| 442 | AM_CONDITIONAL(WITH_HAXE, [test "$have_haxe" = "yes"]) |
| 443 | |
| 444 | |
Jens Geyer | 3f3567a | 2019-10-19 18:27:35 +0200 | [diff] [blame] | 445 | AX_THRIFT_LIB(netstd, [.NET Core], yes) |
| 446 | if test "$with_netstd" = "yes"; then |
Volodymyr Gotra | b587a12 | 2016-09-14 19:18:48 -0500 | [diff] [blame] | 447 | AC_PATH_PROG([DOTNETCORE], [dotnet]) |
| 448 | if [[ -x "$DOTNETCORE" ]] ; then |
Jens Geyer | ffb97e1 | 2019-12-06 23:43:08 +0100 | [diff] [blame] | 449 | AX_PROG_DOTNETCORE_VERSION( [3.1.0], have_netstd="yes", have_netstd="no") |
Volodymyr Gotra | b587a12 | 2016-09-14 19:18:48 -0500 | [diff] [blame] | 450 | fi |
| 451 | fi |
Jens Geyer | 3f3567a | 2019-10-19 18:27:35 +0200 | [diff] [blame] | 452 | AM_CONDITIONAL(WITH_DOTNET, [test "$have_netstd" = "yes"]) |
Volodymyr Gotra | b587a12 | 2016-09-14 19:18:48 -0500 | [diff] [blame] | 453 | |
| 454 | |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 455 | AX_THRIFT_LIB(d, [D], yes) |
| 456 | if test "$with_d" = "yes"; then |
| 457 | AX_DMD |
| 458 | AC_SUBST(DMD) |
| 459 | if test "x$DMD" != "x"; then |
| 460 | have_d="yes" |
| 461 | fi |
| 462 | fi |
| 463 | |
| 464 | # Determine actual name of the generated D library for use in the command line |
| 465 | # when compiling tests. This is needed because the -l<lib> syntax doesn't work |
| 466 | # with OPTLINK (Windows). |
| 467 | lib_prefix=lib |
| 468 | lib_suffix=a |
| 469 | case "$host_os" in |
| 470 | cygwin* | mingw* | pw32* | cegcc*) |
| 471 | lib_prefix="" |
| 472 | lib_suffix=lib |
| 473 | ;; |
| 474 | esac |
| 475 | D_LIB_NAME="${lib_prefix}thriftd.${lib_suffix}" |
| 476 | AC_SUBST(D_LIB_NAME) |
| 477 | D_EVENT_LIB_NAME="${lib_prefix}thriftd-event.${lib_suffix}" |
| 478 | AC_SUBST(D_EVENT_LIB_NAME) |
| 479 | D_SSL_LIB_NAME="${lib_prefix}thriftd-ssl.${lib_suffix}" |
| 480 | AC_SUBST(D_SSL_LIB_NAME) |
| 481 | |
| 482 | if test "$have_d" = "yes"; then |
| 483 | AX_CHECK_D_MODULE(deimos.event2.event) |
| 484 | have_deimos_event2=$success |
| 485 | |
| 486 | with_d_event_tests="no" |
| 487 | if test "$have_deimos_event2" = "yes"; then |
| 488 | if test "x$DMD_LIBEVENT_FLAGS" = "x"; then |
| 489 | if test "$dmd_optlink" = "yes"; then |
| 490 | AC_MSG_WARN([D libevent interface found, but cannot auto-detect \ |
| 491 | linker flags for OPTLINK. Please set DMD_LIBEVENT_FLAGS manually.]) |
| 492 | else |
| 493 | AX_LIB_EVENT([2.0]) |
| 494 | if test "$success" = "yes"; then |
James E. King III | f338d57 | 2018-01-29 14:51:24 -0500 | [diff] [blame] | 495 | DMD_LIBEVENT_FLAGS=$(echo "-fuse-ld=gold $LIBEVENT_LDFLAGS $LIBEVENT_LIBS" | \ |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 496 | sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g') |
| 497 | with_d_event_tests="yes" |
| 498 | else |
| 499 | AC_MSG_WARN([D libevent interface present, but libevent library not found.]) |
| 500 | fi |
| 501 | fi |
| 502 | else |
| 503 | with_d_event_tests="yes" |
| 504 | fi |
| 505 | fi |
| 506 | |
| 507 | AX_CHECK_D_MODULE(deimos.openssl.ssl) |
| 508 | have_deimos_openssl=$success |
| 509 | |
| 510 | with_d_ssl_tests="no" |
| 511 | if test "$have_deimos_openssl" = "yes"; then |
| 512 | if test "x$DMD_OPENSSL_FLAGS" = "x"; then |
| 513 | if test "$dmd_optlink" = "yes"; then |
| 514 | AC_MSG_WARN([D OpenSSL interface found, but cannot auto-detect \ |
| 515 | linker flags for OPTLINK. Please set DMD_OPENSSL_FLAGS manually.]) |
| 516 | else |
| 517 | AX_CHECK_OPENSSL([with_d_ssl_tests="yes"]) |
| 518 | if test "$with_d_ssl_tests" = "yes"; then |
James E. King III | f338d57 | 2018-01-29 14:51:24 -0500 | [diff] [blame] | 519 | DMD_OPENSSL_FLAGS=$(echo "-fuse-ld=gold $OPENSSL_LDFLAGS $OPENSSL_LIBS" | \ |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 520 | sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g') |
| 521 | else |
| 522 | AC_MSG_WARN([D OpenSSL interface present, but OpenSSL library not found.]) |
| 523 | fi |
| 524 | fi |
| 525 | else |
| 526 | with_d_ssl_tests="yes" |
| 527 | fi |
| 528 | fi |
| 529 | fi |
| 530 | |
| 531 | AM_CONDITIONAL(WITH_D, [test "$have_d" = "yes"]) |
| 532 | AM_CONDITIONAL(DMD_OPTLINK, [test "$dmd_optlink" = "yes"]) |
| 533 | AC_SUBST(DMD_OF_DIRSEP, "$dmd_of_dirsep") |
| 534 | AM_CONDITIONAL(HAVE_DEIMOS_EVENT2, [test "$have_deimos_event2" = "yes"]) |
| 535 | AM_CONDITIONAL(WITH_D_EVENT_TESTS, [test "$with_d_event_tests" = "yes"]) |
| 536 | AC_SUBST(DMD_LIBEVENT_FLAGS) |
| 537 | AM_CONDITIONAL(HAVE_DEIMOS_OPENSSL, [test "$have_deimos_openssl" = "yes"]) |
| 538 | AM_CONDITIONAL(WITH_D_SSL_TESTS, [test "$with_d_ssl_tests" = "yes"]) |
| 539 | AC_SUBST(DMD_OPENSSL_FLAGS) |
| 540 | |
Roger Meier | c88d581 | 2014-01-26 11:51:26 +0100 | [diff] [blame] | 541 | AC_ARG_ENABLE([tests], |
| 542 | AS_HELP_STRING([--enable-tests], [build tests [default=yes]]), |
| 543 | [], enable_tests=yes |
| 544 | ) |
Jake Farrell | 627f1a0 | 2011-09-14 03:43:49 +0000 | [diff] [blame] | 545 | have_tests=yes |
Roger Meier | c88d581 | 2014-01-26 11:51:26 +0100 | [diff] [blame] | 546 | if test "$enable_tests" = "no"; then |
Jake Farrell | 627f1a0 | 2011-09-14 03:43:49 +0000 | [diff] [blame] | 547 | have_tests="no" |
| 548 | fi |
| 549 | AM_CONDITIONAL(WITH_TESTS, [test "$have_tests" = "yes"]) |
| 550 | |
Roger Meier | c88d581 | 2014-01-26 11:51:26 +0100 | [diff] [blame] | 551 | AC_ARG_ENABLE([tutorial], |
| 552 | AS_HELP_STRING([--enable-tutorial], [build tutorial [default=yes]]), |
| 553 | [], enable_tutorial=yes |
| 554 | ) |
| 555 | have_tutorial=yes |
| 556 | if test "$enable_tutorial" = "no"; then |
| 557 | have_tutorial="no" |
| 558 | fi |
| 559 | AM_CONDITIONAL(WITH_TUTORIAL, [test "$have_tutorial" = "yes"]) |
| 560 | |
Roger Meier | 6e96965 | 2011-12-13 00:36:01 +0000 | [diff] [blame] | 561 | AM_CONDITIONAL(MINGW, false) |
| 562 | case "${host_os}" in |
| 563 | *mingw*) |
| 564 | mingw32_support="yes" |
| 565 | AC_CHECK_HEADER(windows.h) |
| 566 | AM_CONDITIONAL(MINGW, true) |
| 567 | ;; |
| 568 | *) |
| 569 | AC_ISC_POSIX |
| 570 | ;; |
| 571 | esac |
| 572 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 573 | AC_C_CONST |
| 574 | AC_C_INLINE |
| 575 | AC_C_VOLATILE |
| 576 | |
| 577 | AC_HEADER_STDBOOL |
| 578 | AC_HEADER_STDC |
| 579 | AC_HEADER_TIME |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 580 | AC_HEADER_SYS_WAIT |
| 581 | AC_TYPE_SIGNAL |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 582 | AC_CHECK_HEADERS([arpa/inet.h]) |
Bryan Duxbury | 184d262 | 2010-08-17 17:43:58 +0000 | [diff] [blame] | 583 | AC_CHECK_HEADERS([sys/param.h]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 584 | AC_CHECK_HEADERS([fcntl.h]) |
| 585 | AC_CHECK_HEADERS([inttypes.h]) |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 586 | AC_CHECK_HEADERS([limits.h]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 587 | AC_CHECK_HEADERS([netdb.h]) |
| 588 | AC_CHECK_HEADERS([netinet/in.h]) |
| 589 | AC_CHECK_HEADERS([pthread.h]) |
James E. King III | 9bea32f | 2018-03-16 16:07:42 -0400 | [diff] [blame] | 590 | AC_CHECK_HEADERS([signal.h]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 591 | AC_CHECK_HEADERS([stddef.h]) |
David Reiss | d7a16f4 | 2008-02-19 22:47:29 +0000 | [diff] [blame] | 592 | AC_CHECK_HEADERS([stdlib.h]) |
Bugra Gedik | 8bcb7ac | 2018-01-21 09:43:49 -0800 | [diff] [blame] | 593 | AC_CHECK_HEADERS([sys/ioctl.h]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 594 | AC_CHECK_HEADERS([sys/socket.h]) |
| 595 | AC_CHECK_HEADERS([sys/time.h]) |
Roger Meier | 2fa9c31 | 2011-09-05 19:15:53 +0000 | [diff] [blame] | 596 | AC_CHECK_HEADERS([sys/un.h]) |
st0ke | 961fa70 | 2018-10-12 18:37:40 +0700 | [diff] [blame] | 597 | AC_CHECK_HEADERS([poll.h]) |
Roger Meier | 2fa9c31 | 2011-09-05 19:15:53 +0000 | [diff] [blame] | 598 | AC_CHECK_HEADERS([sys/poll.h]) |
| 599 | AC_CHECK_HEADERS([sys/resource.h]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 600 | AC_CHECK_HEADERS([unistd.h]) |
| 601 | AC_CHECK_HEADERS([libintl.h]) |
| 602 | AC_CHECK_HEADERS([malloc.h]) |
Roger Meier | 9d9c4b9 | 2011-02-23 20:27:54 +0000 | [diff] [blame] | 603 | AC_CHECK_HEADERS([openssl/ssl.h]) |
| 604 | AC_CHECK_HEADERS([openssl/rand.h]) |
| 605 | AC_CHECK_HEADERS([openssl/x509v3.h]) |
Roger Meier | 12d7053 | 2011-12-14 23:35:28 +0000 | [diff] [blame] | 606 | AC_CHECK_HEADERS([sched.h]) |
Roger Meier | 9357636 | 2013-03-15 19:49:23 +0100 | [diff] [blame] | 607 | AC_CHECK_HEADERS([wchar.h]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 608 | |
| 609 | AC_CHECK_LIB(pthread, pthread_create) |
David Reiss | e4ca179 | 2009-05-21 02:28:19 +0000 | [diff] [blame] | 610 | dnl NOTE(dreiss): I haven't been able to find any really solid docs |
| 611 | dnl on what librt is and how it fits into various Unix systems. |
| 612 | dnl My best guess is that it is where glibc stashes its implementation |
| 613 | dnl of the POSIX Real-Time Extensions. This seems necessary on Linux, |
| 614 | dnl and we haven't yet found a system where this is a problem. |
| 615 | AC_CHECK_LIB(rt, clock_gettime) |
David Reiss | 9b90344 | 2009-10-21 05:51:28 +0000 | [diff] [blame] | 616 | AC_CHECK_LIB(socket, setsockopt) |
Roger Meier | 6869112 | 2011-09-09 06:19:35 +0000 | [diff] [blame] | 617 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 618 | AC_TYPE_INT16_T |
| 619 | AC_TYPE_INT32_T |
| 620 | AC_TYPE_INT64_T |
| 621 | AC_TYPE_INT8_T |
| 622 | AC_TYPE_MODE_T |
| 623 | AC_TYPE_OFF_T |
| 624 | AC_TYPE_SIZE_T |
David Reiss | 847a294 | 2008-04-21 18:07:43 +0000 | [diff] [blame] | 625 | AC_TYPE_SSIZE_T |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 626 | AC_TYPE_UINT16_T |
| 627 | AC_TYPE_UINT32_T |
| 628 | AC_TYPE_UINT64_T |
| 629 | AC_TYPE_UINT8_T |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 630 | AC_CHECK_TYPES([ptrdiff_t], [], [echo "ptrdiff_t not found or g++ not installed - cannot continue" && exit 1]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 631 | |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 632 | AC_STRUCT_TM |
| 633 | |
David Reiss | 85a8f7b | 2009-05-21 02:28:16 +0000 | [diff] [blame] | 634 | dnl NOTE(dreiss): AI_ADDRCONFIG is not defined on OpenBSD. |
| 635 | AC_CHECK_DECL([AI_ADDRCONFIG], [], |
| 636 | [AC_DEFINE([AI_ADDRCONFIG], 0, |
| 637 | [Define if the AI_ADDRCONFIG symbol is unavailable])], |
| 638 | [ |
| 639 | #include <sys/types.h> |
| 640 | #include <sys/socket.h> |
| 641 | #include <netdb.h> |
| 642 | ]) |
| 643 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 644 | AC_FUNC_ALLOCA |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 645 | AC_FUNC_FORK |
James E. King, III | ab8ff1a | 2017-02-15 14:12:37 -0500 | [diff] [blame] | 646 | AC_FUNC_MALLOC |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 647 | AC_FUNC_MEMCMP |
James E. King, III | ab8ff1a | 2017-02-15 14:12:37 -0500 | [diff] [blame] | 648 | AC_FUNC_REALLOC |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 649 | AC_FUNC_SELECT_ARGTYPES |
| 650 | AC_FUNC_STAT |
| 651 | AC_FUNC_STRERROR_R |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 652 | AC_FUNC_STRFTIME |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 653 | AC_FUNC_VPRINTF |
| 654 | AC_CHECK_FUNCS([strtoul]) |
| 655 | AC_CHECK_FUNCS([bzero]) |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 656 | AC_CHECK_FUNCS([ftruncate]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 657 | AC_CHECK_FUNCS([gethostbyname]) |
Roger Meier | bea3144 | 2014-04-08 23:52:01 +0200 | [diff] [blame] | 658 | AC_CHECK_FUNCS([gethostbyname_r]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 659 | AC_CHECK_FUNCS([gettimeofday]) |
| 660 | AC_CHECK_FUNCS([memmove]) |
| 661 | AC_CHECK_FUNCS([memset]) |
| 662 | AC_CHECK_FUNCS([mkdir]) |
| 663 | AC_CHECK_FUNCS([realpath]) |
| 664 | AC_CHECK_FUNCS([select]) |
Jens Geyer | 4aa95df | 2015-04-03 12:37:03 +0200 | [diff] [blame] | 665 | AC_CHECK_FUNCS([setlocale]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 666 | AC_CHECK_FUNCS([socket]) |
| 667 | AC_CHECK_FUNCS([strchr]) |
| 668 | AC_CHECK_FUNCS([strdup]) |
David Reiss | 7ed4b98 | 2008-02-11 23:24:47 +0000 | [diff] [blame] | 669 | AC_CHECK_FUNCS([strerror]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 670 | AC_CHECK_FUNCS([strstr]) |
| 671 | AC_CHECK_FUNCS([strtol]) |
| 672 | AC_CHECK_FUNCS([sqrt]) |
David Reiss | e4ca179 | 2009-05-21 02:28:19 +0000 | [diff] [blame] | 673 | dnl The following functions are optional. |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 674 | AC_CHECK_FUNCS([alarm]) |
David Reiss | e4ca179 | 2009-05-21 02:28:19 +0000 | [diff] [blame] | 675 | AC_CHECK_FUNCS([clock_gettime]) |
| 676 | AC_CHECK_FUNCS([sched_get_priority_min]) |
| 677 | AC_CHECK_FUNCS([sched_get_priority_max]) |
Jens Geyer | 0cf802a | 2014-05-27 23:10:11 +0200 | [diff] [blame] | 678 | AC_CHECK_FUNCS([inet_ntoa]) |
| 679 | AC_CHECK_FUNCS([pow]) |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 680 | |
David Reiss | 79db3e1 | 2010-08-31 16:51:31 +0000 | [diff] [blame] | 681 | if test "$cross_compiling" = "no" ; then |
| 682 | AX_SIGNED_RIGHT_SHIFT |
| 683 | fi |
David Reiss | e4d4ea0 | 2009-04-02 21:37:17 +0000 | [diff] [blame] | 684 | |
David Reiss | 5ddabb8 | 2010-10-06 17:09:37 +0000 | [diff] [blame] | 685 | dnl autoscan thinks we need this macro because we have a member function |
| 686 | dnl called "error". Invoke the macro but don't run the check so autoscan |
| 687 | dnl thinks we are in the clear. It's highly unlikely that we will ever |
| 688 | dnl actually use the function that this checks for. |
| 689 | if false ; then |
| 690 | AC_FUNC_ERROR_AT_LINE |
| 691 | fi |
| 692 | |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 693 | # --- Coverage hooks --- |
| 694 | |
| 695 | AC_ARG_ENABLE(coverage, |
| 696 | [ --enable-coverage turn on -fprofile-arcs -ftest-coverage], |
| 697 | [case "${enableval}" in |
| 698 | yes) ENABLE_COVERAGE=1 ;; |
| 699 | no) ENABLE_COVERAGE=0 ;; |
| 700 | *) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;; |
| 701 | esac], |
| 702 | [ENABLE_COVERAGE=2]) |
| 703 | |
| 704 | if test "x[$]ENABLE_COVERAGE" = "x1"; then |
| 705 | AC_MSG_WARN(enable coverage) |
| 706 | GCOV_CFLAGS="`echo \"[$]CFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage" |
| 707 | GCOV_CXXFLAGS="`echo \"[$]CXXFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage" |
| 708 | GCOV_LDFLAGS="-XCClinker -fprofile-arcs -XCClinker -ftest-coverage" |
| 709 | fi |
| 710 | |
| 711 | AC_SUBST(ENABLE_COVERAGE) |
| 712 | AC_SUBST(GCOV_CFLAGS) |
| 713 | AC_SUBST(GCOV_CXXFLAGS) |
| 714 | AC_SUBST(GCOV_LDFLAGS) |
| 715 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 716 | AC_CONFIG_HEADERS(config.h:config.hin) |
Roger Meier | 58fe536 | 2013-06-22 22:05:22 +0200 | [diff] [blame] | 717 | AC_CONFIG_HEADERS(lib/cpp/src/thrift/config.h:config.hin) |
Chandler May | ccd998a | 2016-01-10 06:01:10 +0000 | [diff] [blame] | 718 | AC_CONFIG_HEADERS(lib/c_glib/src/thrift/config.h:config.hin) |
Kevin Wojniak | a392566 | 2019-07-01 11:07:45 -0700 | [diff] [blame] | 719 | # guard against pre defined config.h |
Jake Farrell | 240df17 | 2013-06-04 23:59:34 -0400 | [diff] [blame] | 720 | AH_TOP([ |
| 721 | #ifndef CONFIG_H |
Roger Meier | 8909cbd | 2014-01-26 11:44:27 +0100 | [diff] [blame] | 722 | #define CONFIG_H |
Jake Farrell | 240df17 | 2013-06-04 23:59:34 -0400 | [diff] [blame] | 723 | ]) |
| 724 | AH_BOTTOM([ |
| 725 | #endif |
| 726 | ]) |
| 727 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 728 | |
| 729 | AC_CONFIG_FILES([ |
| 730 | Makefile |
| 731 | compiler/cpp/Makefile |
Nobuaki Sukegawa | 11da87e | 2016-09-10 14:02:19 +0900 | [diff] [blame] | 732 | compiler/cpp/src/Makefile |
Nobuaki Sukegawa | 11da87e | 2016-09-10 14:02:19 +0900 | [diff] [blame] | 733 | compiler/cpp/test/Makefile |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 734 | lib/Makefile |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 735 | lib/cl/Makefile |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 736 | lib/cpp/Makefile |
David Reiss | 351e22b | 2010-08-31 16:51:19 +0000 | [diff] [blame] | 737 | lib/cpp/test/Makefile |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 738 | lib/cpp/thrift-nb.pc |
| 739 | lib/cpp/thrift-z.pc |
Nobuaki Sukegawa | 6622877 | 2014-12-07 21:45:33 +0900 | [diff] [blame] | 740 | lib/cpp/thrift-qt5.pc |
Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 741 | lib/cpp/thrift.pc |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 742 | lib/c_glib/Makefile |
| 743 | lib/c_glib/thrift_c_glib.pc |
| 744 | lib/c_glib/test/Makefile |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 745 | lib/d/Makefile |
| 746 | lib/d/test/Makefile |
Bryan Duxbury | 7173bd9 | 2010-05-02 22:54:22 +0000 | [diff] [blame] | 747 | lib/erl/Makefile |
Jens Geyer | 0e87c46 | 2013-06-18 22:25:07 +0200 | [diff] [blame] | 748 | lib/go/Makefile |
Jens Geyer | a7da488 | 2013-07-18 00:33:05 +0200 | [diff] [blame] | 749 | lib/go/test/Makefile |
Philippe Antoine | 65ea752 | 2021-03-15 09:34:58 +0100 | [diff] [blame] | 750 | lib/go/test/fuzz/Makefile |
Jens Geyer | fea00ac | 2014-10-01 02:22:48 +0200 | [diff] [blame] | 751 | lib/haxe/test/Makefile |
David Reiss | f8dcf03 | 2008-02-23 22:07:39 +0000 | [diff] [blame] | 752 | lib/java/Makefile |
Nobuaki Sukegawa | 4b7dbe3 | 2016-05-25 12:09:02 +0900 | [diff] [blame] | 753 | lib/js/Makefile |
Roger Meier | f249576 | 2011-03-17 19:13:36 +0000 | [diff] [blame] | 754 | lib/js/test/Makefile |
Stig Bakken | ae3775a | 2014-12-02 09:21:24 +0100 | [diff] [blame] | 755 | lib/json/Makefile |
| 756 | lib/json/test/Makefile |
Jens Geyer | aa0c8b3 | 2019-01-28 23:27:45 +0100 | [diff] [blame] | 757 | lib/netstd/Makefile |
Roger Meier | 8909cbd | 2014-01-26 11:44:27 +0100 | [diff] [blame] | 758 | lib/nodejs/Makefile |
wilfrem | 2c69b5a | 2015-04-20 19:24:50 +0900 | [diff] [blame] | 759 | lib/nodets/Makefile |
T Jake Luciani | 1952e54 | 2009-02-01 04:47:30 +0000 | [diff] [blame] | 760 | lib/perl/Makefile |
James E. King III | bbc1377 | 2019-01-14 12:07:10 -0500 | [diff] [blame] | 761 | lib/perl/t/Makefile |
Bryan Duxbury | 6a68187 | 2010-05-02 22:39:31 +0000 | [diff] [blame] | 762 | lib/php/Makefile |
Roger Meier | 33b720a | 2012-01-24 18:42:46 +0000 | [diff] [blame] | 763 | lib/php/test/Makefile |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 764 | lib/dart/Makefile |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 765 | lib/py/Makefile |
Kevin Clark | 4bd8916 | 2008-07-08 00:47:49 +0000 | [diff] [blame] | 766 | lib/rb/Makefile |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 767 | lib/rs/Makefile |
| 768 | lib/rs/test/Makefile |
Allen George | de6f61a | 2021-03-11 08:25:26 -0500 | [diff] [blame] | 769 | lib/rs/test_recursive/Makefile |
| 770 | lib/rs/test_recursive/src/Makefile |
| 771 | lib/rs/test_recursive/src/maintenance/Makefile |
| 772 | lib/rs/test_recursive/src/transit/Makefile |
| 773 | lib/rs/test_recursive/src/transit/light/Makefile |
| 774 | lib/rs/test_recursive/src/transit/services/Makefile |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 775 | lib/lua/Makefile |
James E. King III | a3a7c6c | 2018-12-31 17:17:34 -0500 | [diff] [blame] | 776 | lib/swift/Makefile |
Mustafa Senol Cosar | f86845e | 2018-12-05 17:50:18 +0300 | [diff] [blame] | 777 | lib/ts/Makefile |
BCG | de0b4b5 | 2015-12-28 01:15:00 -0500 | [diff] [blame] | 778 | lib/xml/Makefile |
| 779 | lib/xml/test/Makefile |
David Reiss | 8180c0c | 2008-02-04 21:14:14 +0000 | [diff] [blame] | 780 | test/Makefile |
Nobuaki Sukegawa | bd16530 | 2016-01-19 11:10:07 +0900 | [diff] [blame] | 781 | test/features/Makefile |
Roger Meier | b3c8409 | 2014-09-01 21:53:40 +0200 | [diff] [blame] | 782 | test/c_glib/Makefile |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 783 | test/cl/Makefile |
Roger Meier | d3b9dca | 2011-06-24 14:01:10 +0000 | [diff] [blame] | 784 | test/cpp/Makefile |
alisdair sullivan | 06d0fa0 | 2014-08-05 19:54:57 -0700 | [diff] [blame] | 785 | test/erl/Makefile |
Jens Geyer | f459868 | 2014-05-08 23:18:44 +0200 | [diff] [blame] | 786 | test/go/Makefile |
Jens Geyer | bd52f1a | 2014-07-28 01:25:30 +0200 | [diff] [blame] | 787 | test/haxe/Makefile |
Nobuaki Sukegawa | d094e79 | 2016-02-01 21:47:49 +0900 | [diff] [blame] | 788 | test/lua/Makefile |
Jens Geyer | aa0c8b3 | 2019-01-28 23:27:45 +0100 | [diff] [blame] | 789 | test/netstd/Makefile |
Roger Meier | b33967b | 2012-01-21 09:18:05 +0000 | [diff] [blame] | 790 | test/php/Makefile |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 791 | test/dart/Makefile |
Roger Meier | 01b568c | 2012-01-10 21:30:02 +0000 | [diff] [blame] | 792 | test/perl/Makefile |
David Reiss | 9ff3b9d | 2008-02-15 01:10:23 +0000 | [diff] [blame] | 793 | test/py/Makefile |
Roger Meier | 50e4349 | 2010-10-08 17:46:06 +0000 | [diff] [blame] | 794 | test/py.twisted/Makefile |
Chris Piro | 20c81ad | 2013-03-07 11:32:48 -0500 | [diff] [blame] | 795 | test/py.tornado/Makefile |
Kevin Clark | 4bd8916 | 2008-07-08 00:47:49 +0000 | [diff] [blame] | 796 | test/rb/Makefile |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 797 | test/rs/Makefile |
Roger Meier | fa89932 | 2012-10-22 19:27:38 +0000 | [diff] [blame] | 798 | tutorial/Makefile |
Roger Meier | 2814c2e | 2014-07-29 23:28:46 +0200 | [diff] [blame] | 799 | tutorial/c_glib/Makefile |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 800 | tutorial/cl/Makefile |
Roger Meier | 18a90d1 | 2012-10-24 18:40:06 +0000 | [diff] [blame] | 801 | tutorial/cpp/Makefile |
Nobuaki Sukegawa | 402f641 | 2016-02-22 22:41:25 +0900 | [diff] [blame] | 802 | tutorial/d/Makefile |
Jens Geyer | 0e87c46 | 2013-06-18 22:25:07 +0200 | [diff] [blame] | 803 | tutorial/go/Makefile |
Jens Geyer | bd52f1a | 2014-07-28 01:25:30 +0200 | [diff] [blame] | 804 | tutorial/haxe/Makefile |
Roger Meier | fa89932 | 2012-10-22 19:27:38 +0000 | [diff] [blame] | 805 | tutorial/java/Makefile |
| 806 | tutorial/js/Makefile |
Jens Geyer | aa0c8b3 | 2019-01-28 23:27:45 +0100 | [diff] [blame] | 807 | tutorial/netstd/Makefile |
Roger Meier | 64998e2 | 2014-01-27 21:15:56 +0100 | [diff] [blame] | 808 | tutorial/nodejs/Makefile |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 809 | tutorial/dart/Makefile |
Kengo Seki | 58efe89 | 2019-10-09 22:23:16 +0900 | [diff] [blame] | 810 | tutorial/perl/Makefile |
Kengo Seki | 538e36c | 2019-10-18 22:09:01 +0900 | [diff] [blame] | 811 | tutorial/php/Makefile |
Roger Meier | 1d66d06 | 2012-10-26 21:46:18 +0000 | [diff] [blame] | 812 | tutorial/py/Makefile |
| 813 | tutorial/py.twisted/Makefile |
Chris Piro | 20c81ad | 2013-03-07 11:32:48 -0500 | [diff] [blame] | 814 | tutorial/py.tornado/Makefile |
Roger Meier | ed817d0 | 2013-06-09 23:10:06 +0200 | [diff] [blame] | 815 | tutorial/rb/Makefile |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 816 | tutorial/rs/Makefile |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 817 | ]) |
Marc Slemko | b09f588 | 2006-08-23 22:03:34 +0000 | [diff] [blame] | 818 | |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 819 | if test "$have_cpp" = "yes" ; then MAYBE_CPP="cpp" ; else MAYBE_CPP="" ; fi |
| 820 | AC_SUBST([MAYBE_CPP]) |
| 821 | if test "$have_c_glib" = "yes" ; then MAYBE_C_GLIB="c_glib" ; else MAYBE_C_GLIB="" ; fi |
| 822 | AC_SUBST([MAYBE_C_GLIB]) |
Nobuaki Sukegawa | 8b791b2 | 2016-03-05 13:40:25 +0900 | [diff] [blame] | 823 | if test "$have_d" = "yes" -a "$have_deimos_event2" = "yes" -a "$have_deimos_openssl" = "yes"; then MAYBE_D="d" ; else MAYBE_D="" ; fi |
| 824 | AC_SUBST([MAYBE_D]) |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 825 | if test "$have_java" = "yes" ; then MAYBE_JAVA="java" ; else MAYBE_JAVA="" ; fi |
| 826 | AC_SUBST([MAYBE_JAVA]) |
Randy Abernethy | 983bf7d | 2015-10-09 12:28:57 -0700 | [diff] [blame] | 827 | if test "$have_python" = "yes" ; then MAYBE_PYTHON="py" ; else MAYBE_PYTHON="" ; fi |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 828 | AC_SUBST([MAYBE_PYTHON]) |
Nobuaki Sukegawa | a185d7e | 2015-11-06 21:24:24 +0900 | [diff] [blame] | 829 | if test "$have_py3" = "yes" ; then MAYBE_PY3="py3" ; else MAYBE_PY3="" ; fi |
| 830 | AC_SUBST([MAYBE_PY3]) |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 831 | if test "$have_ruby" = "yes" ; then MAYBE_RUBY="rb" ; else MAYBE_RUBY="" ; fi |
| 832 | AC_SUBST([MAYBE_RUBY]) |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 833 | if test "$have_perl" = "yes" ; then MAYBE_PERL="perl" ; else MAYBE_PERL="" ; fi |
| 834 | AC_SUBST([MAYBE_PERL]) |
| 835 | if test "$have_php" = "yes" ; then MAYBE_PHP="php" ; else MAYBE_PHP="" ; fi |
| 836 | AC_SUBST([MAYBE_PHP]) |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 837 | if test "$have_dart" = "yes" ; then MAYBE_DART="dart" ; else MAYBE_DART="" ; fi |
| 838 | AC_SUBST([MAYBE_DART]) |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 839 | if test "$have_go" = "yes" ; then MAYBE_GO="go" ; else MAYBE_GO="" ; fi |
| 840 | AC_SUBST([MAYBE_GO]) |
| 841 | if test "$have_nodejs" = "yes" ; then MAYBE_NODEJS="nodejs" ; else MAYBE_NODEJS="" ; fi |
| 842 | AC_SUBST([MAYBE_NODEJS]) |
wilfrem | 2c69b5a | 2015-04-20 19:24:50 +0900 | [diff] [blame] | 843 | if test "$have_nodets" = "yes" ; then MAYBE_NODETS="nodets" ; else MAYBE_NODETS="" ; fi |
| 844 | AC_SUBST([MAYBE_NODETS]) |
Nobuaki Sukegawa | 826ea99 | 2015-10-28 22:19:45 +0900 | [diff] [blame] | 845 | if test "$have_erlang" = "yes" ; then MAYBE_ERLANG="erl" ; else MAYBE_ERLANG="" ; fi |
| 846 | AC_SUBST([MAYBE_ERLANG]) |
Nobuaki Sukegawa | d094e79 | 2016-02-01 21:47:49 +0900 | [diff] [blame] | 847 | if test "$have_lua" = "yes" ; then MAYBE_LUA="lua" ; else MAYBE_LUA="" ; fi |
| 848 | AC_SUBST([MAYBE_LUA]) |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 849 | if test "$have_rs" = "yes" ; then MAYBE_RS="rs" ; else MAYBE_RS="" ; fi |
| 850 | AC_SUBST([MAYBE_RS]) |
James E. King III | a3a7c6c | 2018-12-31 17:17:34 -0500 | [diff] [blame] | 851 | if test "$have_swift" = "yes" ; then MAYBE_SWIFT="swift" ; else MAYBE_SWIFT="" ; fi |
| 852 | AC_SUBST([MAYBE_SWIFT]) |
Jens Geyer | 3f3567a | 2019-10-19 18:27:35 +0200 | [diff] [blame] | 853 | if test "$have_netstd" = "yes" ; then MAYBE_NETSTD="netstd" ; else MAYBE_NETSTD="" ; fi |
| 854 | AC_SUBST([MAYBE_NETSTD]) |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 855 | if test "$have_cl" = "yes" ; then MAYBE_CL="cl" ; else MAYBE_CL="" ; fi |
| 856 | AC_SUBST([MAYBE_CL]) |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 857 | |
Marc Slemko | b09f588 | 2006-08-23 22:03:34 +0000 | [diff] [blame] | 858 | AC_OUTPUT |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 859 | |
| 860 | |
| 861 | echo |
| 862 | echo "$PACKAGE $VERSION" |
| 863 | echo |
Roger Meier | 213a664 | 2010-10-27 12:30:11 +0000 | [diff] [blame] | 864 | echo "Building C (GLib) Library .... : $have_c_glib" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 865 | echo "Building C++ Library ......... : $have_cpp" |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 866 | echo "Building Common Lisp Library.. : $have_cl" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 867 | echo "Building D Library ........... : $have_d" |
Mark Erickson | 932c470 | 2015-08-29 10:46:51 -0500 | [diff] [blame] | 868 | echo "Building Dart Library ........ : $have_dart" |
Jens Geyer | 3f3567a | 2019-10-19 18:27:35 +0200 | [diff] [blame] | 869 | echo "Building .NET Standard Library : $have_netstd" |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 870 | echo "Building Erlang Library ...... : $have_erlang" |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 871 | echo "Building Go Library .......... : $have_go" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 872 | echo "Building Haxe Library ........ : $have_haxe" |
| 873 | echo "Building Java Library ........ : $have_java" |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 874 | echo "Building Lua Library ......... : $have_lua" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 875 | echo "Building NodeJS Library ...... : $have_nodejs" |
| 876 | echo "Building Perl Library ........ : $have_perl" |
| 877 | echo "Building PHP Library ......... : $have_php" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 878 | echo "Building Python Library ...... : $have_python" |
| 879 | echo "Building Py3 Library ......... : $have_py3" |
| 880 | echo "Building Ruby Library ........ : $have_ruby" |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 881 | echo "Building Rust Library ........ : $have_rs" |
James E. King III | a3a7c6c | 2018-12-31 17:17:34 -0500 | [diff] [blame] | 882 | echo "Building Swift Library ....... : $have_swift" |
Jake Farrell | c9c972b | 2012-07-24 17:28:24 +0000 | [diff] [blame] | 883 | |
James E. King III | b1d63e7 | 2019-01-22 14:16:39 -0500 | [diff] [blame] | 884 | if test "$have_c_glib" = "yes" ; then |
| 885 | echo |
| 886 | echo "C (glib):" |
| 887 | echo " Using glib version ........ : $($GSETTINGS --version)" |
| 888 | fi |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 889 | if test "$have_cpp" = "yes" ; then |
Volodymyr Gotra | b587a12 | 2016-09-14 19:18:48 -0500 | [diff] [blame] | 890 | echo |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 891 | echo "C++ Library:" |
| 892 | echo " C++ compiler .............. : $CXX" |
| 893 | echo " Build TZlibTransport ...... : $have_zlib" |
| 894 | echo " Build TNonblockingServer .. : $have_libevent" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 895 | echo " Build TQTcpServer (Qt5) ... : $have_qt5" |
| 896 | echo " C++ compiler version ...... : $($CXX --version | head -1)" |
Christian Lavoie | afc6d8f | 2011-02-20 02:39:19 +0000 | [diff] [blame] | 897 | fi |
Tomek Kurcz | e93a901 | 2017-09-19 09:16:43 +0200 | [diff] [blame] | 898 | if test "$have_cl" = "yes" ; then |
| 899 | echo |
| 900 | echo "Common Lisp Library:" |
| 901 | echo " Using Common Lisp ......... : $SBCL" |
| 902 | echo " Using Common Lisp version . : $($SBCL --version)" |
| 903 | fi |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 904 | if test "$have_d" = "yes" ; then |
| 905 | echo |
Jens Geyer | bcca1d9 | 2013-12-26 19:24:30 +0100 | [diff] [blame] | 906 | echo "D Library:" |
| 907 | echo " Using D Compiler .......... : $DMD" |
| 908 | echo " Building D libevent tests . : $with_d_event_tests" |
| 909 | echo " Building D SSL tests ...... : $with_d_ssl_tests" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 910 | echo " Using D version ........... : $($DMD --version | head -1)" |
| 911 | fi |
| 912 | if test "$have_dart" = "yes" ; then |
| 913 | echo |
| 914 | echo "Dart Library:" |
| 915 | echo " Using Dart ................ : $DART" |
| 916 | echo " Using Pub ................. : $DARTPUB" |
| 917 | echo " Using Dart version ........ : $($DART --version 2>&1)" |
| 918 | fi |
Jens Geyer | 3f3567a | 2019-10-19 18:27:35 +0200 | [diff] [blame] | 919 | if test "$have_netstd" = "yes" ; then |
Jens Geyer | aa0c8b3 | 2019-01-28 23:27:45 +0100 | [diff] [blame] | 920 | echo |
| 921 | echo ".NET Standard Library:" |
| 922 | echo " Using dotnet .............. : $DOTNETCORE" |
| 923 | echo " Using dotnet version ...... : $DOTNETCORE_VERSION" |
| 924 | fi |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 925 | if test "$have_erlang" = "yes" ; then |
| 926 | echo |
| 927 | echo "Erlang Library:" |
| 928 | echo " Using erlc ................ : $ERLC" |
| 929 | echo " Using rebar ............... : $REBAR" |
| 930 | echo " Using erlc version ........ : $($ERL -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell | tr -d '\"')" |
| 931 | fi |
| 932 | if test "$have_go" = "yes" ; then |
| 933 | echo |
| 934 | echo "Go Library:" |
| 935 | echo " Using Go................... : $GO" |
| 936 | echo " Using Go version........... : $($GO version)" |
| 937 | fi |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 938 | if test "$have_haxe" = "yes" ; then |
| 939 | echo |
| 940 | echo "Haxe Library:" |
| 941 | echo " Using Haxe ................ : $HAXE" |
| 942 | echo " Using Haxe version ........ : $HAXE_VERSION" |
| 943 | fi |
| 944 | if test "$have_java" = "yes" ; then |
| 945 | echo |
| 946 | echo "Java Library:" |
Alex Volanis | 7004a61 | 2018-01-24 10:30:13 -0500 | [diff] [blame] | 947 | echo " Using gradlew ............. : lib/java/gradlew" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 948 | echo " Using java ................ : $JAVA" |
| 949 | echo " Using javac ............... : $JAVAC" |
Alex Volanis | 7004a61 | 2018-01-24 10:30:13 -0500 | [diff] [blame] | 950 | echo " Using Gradle version ...... : $(lib/java/gradlew --version --quiet | grep Gradle 2>&1)" |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 951 | echo " Using java version ........ : $($JAVA -version 2>&1 | grep 'version ')" |
| 952 | fi |
| 953 | if test "$have_lua" = "yes" ; then |
| 954 | echo |
| 955 | echo "Lua Library:" |
| 956 | echo " Using Lua ................. : $LUA" |
| 957 | echo " Using Lua version.......... : $($LUA -v)" |
Jake Farrell | b95b0ff | 2012-03-22 21:49:10 +0000 | [diff] [blame] | 958 | fi |
Roger Meier | 8909cbd | 2014-01-26 11:44:27 +0100 | [diff] [blame] | 959 | if test "$have_nodejs" = "yes" ; then |
| 960 | echo |
| 961 | echo "NodeJS Library:" |
| 962 | echo " Using NodeJS .............. : $NODEJS" |
| 963 | echo " Using NodeJS version....... : $($NODEJS --version)" |
| 964 | fi |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 965 | if test "$have_perl" = "yes" ; then |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 966 | echo |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 967 | echo "Perl Library:" |
| 968 | echo " Using Perl ................ : $PERL" |
| 969 | echo " Using Perl version ........ : $($PERL -v | grep 'version ')" |
| 970 | fi |
| 971 | if test "$have_php" = "yes" ; then |
| 972 | echo |
| 973 | echo "PHP Library:" |
| 974 | echo " Using php-config .......... : $PHP_CONFIG" |
| 975 | echo " Using php version ......... : $($PHP --version | head -1)" |
| 976 | fi |
| 977 | if test "$have_python" = "yes" ; then |
| 978 | echo |
| 979 | echo "Python Library:" |
| 980 | echo " Using Python .............. : $PYTHON" |
| 981 | echo " Using Python version ...... : $($PYTHON --version 2>&1)" |
| 982 | if test "$have_py3" = "yes" ; then |
| 983 | echo " Using Python3 ............. : $PYTHON3" |
| 984 | echo " Using Python3 version ..... : $($PYTHON3 --version)" |
| 985 | fi |
| 986 | if test "$have_trial" = "yes"; then |
| 987 | echo " Using trial ............... : $TRIAL" |
| 988 | fi |
| 989 | fi |
| 990 | if test "$have_ruby" = "yes" ; then |
| 991 | echo |
| 992 | echo "Ruby Library:" |
| 993 | echo " Using Ruby ................ : $RUBY" |
| 994 | echo " Using Ruby version ........ : $($RUBY --version)" |
Roger Meier | 6cf0ffc | 2014-04-05 00:45:42 +0200 | [diff] [blame] | 995 | fi |
Allen George | 8b96bfb | 2016-11-02 08:01:08 -0400 | [diff] [blame] | 996 | if test "$have_rs" = "yes" ; then |
| 997 | echo |
| 998 | echo "Rust Library:" |
| 999 | echo " Using Cargo................ : $CARGO" |
| 1000 | echo " Using rustc................ : $RUSTC" |
| 1001 | echo " Using Rust version......... : $($RUSTC --version)" |
| 1002 | fi |
James E. King III | a3a7c6c | 2018-12-31 17:17:34 -0500 | [diff] [blame] | 1003 | if test "$have_swift" = "yes" ; then |
| 1004 | echo |
| 1005 | echo "Swift Library:" |
| 1006 | echo " Using Swift ............... : $SWIFT" |
| 1007 | echo " Using Swift version ....... : $($SWIFT --version | head -1)" |
| 1008 | fi |
David Reiss | 5cc3ba8 | 2010-08-31 16:51:20 +0000 | [diff] [blame] | 1009 | echo |
| 1010 | echo "If something is missing that you think should be present," |
| 1011 | echo "please skim the output of configure to find the missing" |
| 1012 | echo "component. Details are present in config.log." |
James E. King, III | d7142b7 | 2017-09-01 13:00:36 -0700 | [diff] [blame] | 1013 | echo |