blob: 9f104fa92d9c825153c064654dc87a7f91a984c6 [file] [log] [blame]
David Reissfeab7732009-03-30 22:52:44 +00001#
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 Luciani03ec1e42011-01-27 02:53:57 +000020AC_PREREQ(2.65)
Marc Slemkob09f5882006-08-23 22:03:34 +000021
Jake Farrell6fcecd42012-10-11 20:34:25 +000022AC_INIT([thrift], [1.0.0-dev])
Marc Slemkob09f5882006-08-23 22:03:34 +000023
24AC_CONFIG_AUX_DIR([.])
25
Roger Meier81a1f992014-10-22 14:09:43 +020026AM_INIT_AUTOMAKE([1.13 tar-ustar])
Bryan Duxburyb005c1f2011-02-09 17:05:11 +000027PKG_PROG_PKG_CONFIG
Marc Slemkob09f5882006-08-23 22:03:34 +000028
David Reissd6832192007-09-05 00:47:32 +000029AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
30 (Normal --prefix is ignored for Python because
31 Python has different conventions.)
32 Default = "/usr"])
David Reisscdd6f3c2008-03-04 21:10:29 +000033AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
David Reissd6832192007-09-05 00:47:32 +000034
David Reissf0c21a72008-07-11 01:26:16 +000035AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar.
36 (Normal --prefix is ignored for Java because
Christian Lavoieafc6d8f2011-02-20 02:39:19 +000037 Java has different conventions.)
David Reissf0c21a72008-07-11 01:26:16 +000038 Default = "/usr/local/lib"])
39AS_IF([test "x$JAVA_PREFIX" = x], [JAVA_PREFIX="/usr/local/lib"])
David Reiss832b2622007-12-28 18:25:33 +000040
Bryan Duxbury3f0b5262010-05-12 21:31:58 +000041AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules.
42 (Normal --prefix is ignored for Ruby because
43 Ruby has different conventions.)
44 Default = none, let ruby setup decide])
45
Bryan Duxbury6a681872010-05-02 22:39:31 +000046AC_ARG_VAR([PHP_PREFIX], [Prefix for installing PHP modules.
47 (Normal --prefix is ignored for PHP because
48 PHP has different conventions.)
49 Default = "/usr/lib/php"])
50AS_IF([test "x$PHP_PREFIX" = x], [PHP_PREFIX="/usr/lib/php"])
51
Bryan Duxbury89200e12010-08-25 17:09:02 +000052AC_ARG_VAR([PHP_CONFIG_PREFIX],
53 [Prefix for installing PHP extension module .ini file.
54 (Normal --prefix is ignored for PHP because PHP has
55 different conventions.)
56 Default = "/etc/php.d"])
57AS_IF([test "x$PHP_CONFIG_PREFIX" = x], [PHP_CONFIG_PREFIX="/etc/php.d"])
58
Jake Farrell05e0cdb2011-05-05 13:45:26 +000059AC_ARG_VAR([INSTALLDIRS], [When installing Perl modules, specifies which
60 of the sets of installation directories
61 to choose: perl, site or vendor.
62 Default = "vendor"])
63AS_IF([test "x$INSTALLDIRS" = x], [INSTALLDIRS="vendor"])
64
David Reissc07057e2010-06-11 17:57:32 +000065AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules.
66 (Normal --prefix is ignored for Perl because
67 Perl has different conventions.)
Jake Farrell05e0cdb2011-05-05 13:45:26 +000068 Ignored, when INSTALLDIRS set to site or vendor.
David Reissc07057e2010-06-11 17:57:32 +000069 Default = "/usr/local/lib"])
70AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"])
71
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +000072AC_ARG_VAR([CABAL_CONFIGURE_FLAGS],
73 [Extra flags to pass to cabal: "cabal Setup.lhs configure $CABAL_CONFIGURE_FLAGS".
74 (Typically used to set --user or force --global.)])
75
76AC_SUBST(CABAL_CONFIGURE_FLAGS)
77
Jake Farrellb95b0ff2012-03-22 21:49:10 +000078AC_ARG_VAR([D_IMPORT_PREFIX], [Prefix for installing D modules.
79 [INCLUDEDIR/d2]])
80AS_IF([test "x$D_IMPORT_PREFIX" = x], [D_IMPORT_PREFIX="${includedir}/d2"])
81
82AC_ARG_VAR([DMD_LIBEVENT_FLAGS], [DMD flags for linking libevent (auto-detected if not set).])
83AC_ARG_VAR([DMD_OPENSSL_FLAGS], [DMD flags for linking OpenSSL (auto-detected if not set).])
84
David Reiss832b2622007-12-28 18:25:33 +000085AC_PROG_CC
86AC_PROG_CPP
87AC_PROG_CXX
88AC_PROG_INSTALL
89AC_PROG_LIBTOOL
90AC_PROG_MAKE_SET
Roger Meier3974aab2014-07-14 20:22:12 +020091AC_PROG_BISON(2.5)
David Reiss832b2622007-12-28 18:25:33 +000092AC_PROG_YACC
93AC_PROG_LEX
94AM_PROG_LEX
David Reiss7ed4b982008-02-11 23:24:47 +000095AC_PROG_LN_S
96AC_PROG_MKDIR_P
Christian Lavoieafc6d8f2011-02-20 02:39:19 +000097AC_PROG_AWK
98AC_PROG_RANLIB
David Reiss832b2622007-12-28 18:25:33 +000099
100AC_LANG([C++])
jfarrell84cd2842014-01-14 21:51:59 -0500101AX_CXX_COMPILE_STDCXX_11([noext])
David Reiss832b2622007-12-28 18:25:33 +0000102
Roger Meierc92cda02014-02-09 21:13:53 +0100103AC_ARG_ENABLE([libs],
104 AS_HELP_STRING([--enable-libs], [build the Apache Thrift libraries [default=yes]]),
105 [], enable_libs=yes
106)
107have_libs=yes
108if test "$enable_libs" = "no"; then
109 have_libs="no"
110 with_cpp="no"
111 with_c_glib="no"
112 with_java="no"
113 with_csharp="no"
114 with_python="no"
115 with_ruby="no"
116 with_haskell="no"
Jens Geyerbd52f1a2014-07-28 01:25:30 +0200117 with_haxe="no"
Roger Meierc92cda02014-02-09 21:13:53 +0100118 with_perl="no"
119 with_php="no"
120 with_php_extension="no"
121 with_erlang="no"
122 with_go="no"
123 with_d="no"
124 with_nodejs="no"
Roger Meier6cf0ffc2014-04-05 00:45:42 +0200125 with_lua="no"
Roger Meierc92cda02014-02-09 21:13:53 +0100126fi
127
128
David Reissea4c9812010-08-31 16:51:21 +0000129AX_THRIFT_LIB(cpp, [C++], yes)
130have_cpp=no
131if test "$with_cpp" = "yes"; then
henrique48b18972014-06-10 15:19:55 +0200132 AX_BOOST_BASE([1.54.0])
Jake Farrell3ad80812011-06-09 19:14:22 +0000133 if test "x$succeeded" = "xyes" ; then
David Reissef5e81b2010-08-31 16:51:28 +0000134 have_cpp="yes"
135 fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000136
David Reissea4c9812010-08-31 16:51:21 +0000137 AX_LIB_EVENT([1.0])
138 have_libevent=$success
David Reiss832b2622007-12-28 18:25:33 +0000139
David Reissea4c9812010-08-31 16:51:21 +0000140 AX_LIB_ZLIB([1.2.3])
141 have_zlib=$success
Chris Piro20c81ad2013-03-07 11:32:48 -0500142
Jake Farrelld6d3e372012-07-27 16:01:33 +0000143 AX_THRIFT_LIB(qt4, [Qt], yes)
144 have_qt=no
145 if test "$with_qt4" = "yes"; then
146 PKG_CHECK_MODULES([QT], [QtCore >= 4.3, QtNetwork >= 4.3], have_qt=yes, have_qt=no)
147 fi
Roger Meier86e89862012-02-10 19:53:20 +0000148 if test "$have_qt" = "yes"; then
149 AC_PATH_PROGS([QT_MOC], [moc-qt4 moc])
150 have_qt=$success
151 fi
David Reissea4c9812010-08-31 16:51:21 +0000152fi
153AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"])
154AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$have_libevent" = "yes"])
155AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$have_zlib" = "yes"])
Roger Meier86e89862012-02-10 19:53:20 +0000156AM_CONDITIONAL([AMX_HAVE_QT], [test "$have_qt" = "yes"])
David Reiss832b2622007-12-28 18:25:33 +0000157
Roger Meier32177232012-05-01 11:19:53 +0000158AX_THRIFT_LIB(c_glib, [C (GLib)], yes)
Roger Meier213a6642010-10-27 12:30:11 +0000159if test "$with_c_glib" = "yes"; then
160 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.0], have_glib2=yes, have_glib2=no)
161 PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0], have_gobject2=yes, have_gobject2=no)
162 if test "$have_glib2" = "yes" -a "$have_gobject2" = "yes" ; then
163 have_c_glib="yes"
164 fi
165fi
166AM_CONDITIONAL(WITH_C_GLIB, [test "$have_glib2" = "yes" -a "$have_gobject2" = "yes"])
167
David Reiss520b5ee2008-03-02 07:00:26 +0000168AX_THRIFT_LIB(csharp, [C#], yes)
169if test "$with_csharp" = "yes"; then
David Reissd831a212009-02-13 03:09:52 +0000170 PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)
171 PKG_CHECK_MODULES(MONO, mono >= 1.2.4, have_mono=yes, have_mono=no)
David Reiss5cc3ba82010-08-31 16:51:20 +0000172 if test "$have_mono" = "yes" ; then
173 have_csharp="yes"
174 fi
David Reiss520b5ee2008-03-02 07:00:26 +0000175fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000176AM_CONDITIONAL(WITH_MONO, [test "$have_csharp" = "yes"])
David Reissd831a212009-02-13 03:09:52 +0000177AM_CONDITIONAL(NET_2_0, [test "$net_3_5" = "no"])
David Reiss1fdb5922008-02-06 22:10:12 +0000178
David Reiss62d39812008-03-02 07:00:22 +0000179AX_THRIFT_LIB(java, [Java], yes)
180if test "$with_java" = "yes"; then
David Reissd9cdf422009-03-13 21:25:29 +0000181 AX_JAVAC_AND_JAVA
Bryan Duxbury38bab122010-08-12 00:27:14 +0000182 AC_PATH_PROG([ANT], [ant])
Jake Farrell210d7662011-05-25 21:07:29 +0000183 AX_CHECK_ANT_VERSION($ANT, 1.7)
David Reissfff84d12009-05-22 19:50:33 +0000184 AC_SUBST(CLASSPATH)
David Reiss4ca0c8e2009-05-12 23:16:55 +0000185 AC_SUBST(ANT_FLAGS)
David Reiss5cc3ba82010-08-31 16:51:20 +0000186 if test "x$JAVAC" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then
187 have_java="yes"
188 fi
David Reiss62d39812008-03-02 07:00:22 +0000189fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000190AM_CONDITIONAL([WITH_JAVA], [test "$have_java" = "yes"])
David Reiss1fdb5922008-02-06 22:10:12 +0000191
Christopher Pirob6f18c22008-03-04 07:09:12 +0000192AX_THRIFT_LIB(erlang, [Erlang], yes)
193if test "$with_erlang" = "yes"; then
David Reiss9e2fd792010-05-18 16:52:48 +0000194 AC_ERLANG_PATH_ERL
195 AC_ERLANG_PATH_ERLC
David Reiss31e1b6e2010-08-24 20:45:24 +0000196 if test -n "$ERLC" ; then
197 AC_ERLANG_SUBST_LIB_DIR
198 # Install into the detected Erlang directory instead of $libdir/erlang/lib
199 ERLANG_INSTALL_LIB_DIR="$ERLANG_LIB_DIR"
200 AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
201 fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000202 if test -n "$ERL" -a -n "$ERLC" ; then
203 have_erlang="yes"
204 fi
Christopher Pirob6f18c22008-03-04 07:09:12 +0000205fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000206AM_CONDITIONAL(WITH_ERLANG, [test "$have_erlang" = "yes"])
Christopher Pirob6f18c22008-03-04 07:09:12 +0000207
Roger Meier8909cbd2014-01-26 11:44:27 +0100208AX_THRIFT_LIB(nodejs, [Nodejs], yes)
209have_nodejs=no
210if test "$with_nodejs" = "yes"; then
211 AC_PATH_PROGS([NODEJS], [nodejs node])
212 AC_PATH_PROG([NPM], [npm])
213 if test "x$NODEJS" != "x" -a "x$NPM" != "x"; then
214 have_nodejs="yes"
215 fi
216fi
217AM_CONDITIONAL(WITH_NODEJS, [test "$have_nodejs" = "yes"])
218AM_CONDITIONAL(HAVE_NPM, [test "x$NPM" != "x"])
219
Roger Meier6cf0ffc2014-04-05 00:45:42 +0200220AX_THRIFT_LIB(lua, [Lua], yes)
221have_lua=no
222if test "$with_lua" = "yes"; then
223 AC_PATH_PROGS([LUA], [lua])
224 if test "x$LUA" != "x"; then
225 have_lua="yes"
226 fi
227fi
228AM_CONDITIONAL(WITH_LUA, [test "$have_lua" = "yes"])
229
David Reiss5cc3ba82010-08-31 16:51:20 +0000230AX_THRIFT_LIB(python, [Python], yes)
231if test "$with_python" = "yes"; then
David Reiss1a140912008-06-11 01:16:37 +0000232 AM_PATH_PYTHON(2.4,, :)
David Reiss5cc3ba82010-08-31 16:51:20 +0000233 if test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then
234 have_python="yes"
235 fi
David Reiss1a140912008-06-11 01:16:37 +0000236fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000237AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"])
David Reiss1a140912008-06-11 01:16:37 +0000238
Roger Meier50e43492010-10-08 17:46:06 +0000239AC_PATH_PROG([TRIAL], [trial])
240
T Jake Luciani1952e542009-02-01 04:47:30 +0000241AX_THRIFT_LIB(perl, [Perl], yes)
242if test "$with_perl" = "yes"; then
243 AC_PATH_PROG([PERL], [perl])
David Reissdcc7e9b2010-08-31 16:51:22 +0000244 if test -n "$PERL" ; then
245 AC_PROG_PERL_MODULES([Bit::Vector], success="yes", success="no")
246 have_perl_bit_vector="$success"
Roger Meieraae8acb2014-01-15 13:55:09 +0100247 AC_PROG_PERL_MODULES([Class::Accessor], success="yes", success="no")
248 have_perl_class_accessor="$success"
Bryan Duxbury12373692010-08-19 05:23:59 +0000249 fi
David Reissdcc7e9b2010-08-31 16:51:22 +0000250 if test -n "$PERL" -a "$have_perl_bit_vector" = "yes" ; then
Roger Meieraae8acb2014-01-15 13:55:09 +0100251 if test -n "$PERL" -a "$have_perl_class_accessor" = "yes" ; then
252 have_perl="yes"
253 fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000254 fi
T Jake Luciani1952e542009-02-01 04:47:30 +0000255fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000256AM_CONDITIONAL(WITH_PERL, [test "$have_perl" = "yes"])
T Jake Luciani1952e542009-02-01 04:47:30 +0000257
Bryan Duxbury6a681872010-05-02 22:39:31 +0000258AX_THRIFT_LIB(php, [PHP], yes)
259if test "$with_php" = "yes"; then
260 AC_PATH_PROG([PHP], [php])
David Reiss5cc3ba82010-08-31 16:51:20 +0000261 if test -n "$PHP" ; then
262 have_php="yes"
263 fi
Bryan Duxbury6a681872010-05-02 22:39:31 +0000264fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000265AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"])
Bryan Duxbury6a681872010-05-02 22:39:31 +0000266
Bryan Duxbury89200e12010-08-25 17:09:02 +0000267AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes)
268if test "$with_php_extension" = "yes"; then
jfarrell30a472e2014-07-10 18:42:30 -0400269 if test -f "lib/php/src/ext/thrift_protocol/configure"; then
270 AC_PATH_PROG([PHP_CONFIG], [php-config])
271 if test -n "$PHP_CONFIG" ; then
272 AC_CONFIG_SUBDIRS([lib/php/src/ext/thrift_protocol])
273 have_php_extension="yes"
274 fi
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000275 fi
Bryan Duxbury89200e12010-08-25 17:09:02 +0000276fi
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000277AM_CONDITIONAL(WITH_PHP_EXTENSION, [test "$have_php_extension" = "yes"])
Bryan Duxbury89200e12010-08-25 17:09:02 +0000278
Roger Meier33b720a2012-01-24 18:42:46 +0000279AC_PATH_PROG([PHPUNIT], [phpunit])
280AM_CONDITIONAL(HAVE_PHPUNIT, [test "x$PHPUNIT" != "x"])
281
Kevin Clark4bd89162008-07-08 00:47:49 +0000282AX_THRIFT_LIB(ruby, [Ruby], yes)
David Reiss5cc3ba82010-08-31 16:51:20 +0000283have_ruby=no
Kevin Clark4bd89162008-07-08 00:47:49 +0000284if test "$with_ruby" = "yes"; then
285 AC_PATH_PROG([RUBY], [ruby])
Jake Farrell9c39f772011-08-30 19:12:10 +0000286 AC_PATH_PROG([BUNDLER], [bundle])
jfarrell507740c2014-01-22 22:20:21 -0500287 if test "x$RUBY" != "x" -a "x$BUNDLER" != "x"; then
David Reiss5cc3ba82010-08-31 16:51:20 +0000288 have_ruby="yes"
289 fi
Kevin Clark4bd89162008-07-08 00:47:49 +0000290fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000291AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"])
Jake Farrell9c39f772011-08-30 19:12:10 +0000292AM_CONDITIONAL(HAVE_BUNDLER, [test "x$BUNDLER" != "x"])
Bryan Duxburyec473582009-04-07 16:31:04 +0000293
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000294AX_THRIFT_LIB(haskell, [Haskell], yes)
295have_haskell=no
296RUNHASKELL=true
Bryan Duxburyc6574472010-10-06 00:12:33 +0000297CABAL=true
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000298if test "$with_haskell" = "yes"; then
Bryan Duxburyc6574472010-10-06 00:12:33 +0000299 AC_PATH_PROG([CABAL], [cabal])
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000300 AC_PATH_PROG([RUNHASKELL], [runhaskell])
Bryan Duxburyc6574472010-10-06 00:12:33 +0000301 if test "x$CABAL" != "x" -a "x$RUNHASKELL" != "x"; then
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000302 have_haskell="yes"
303 else
304 RUNHASKELL=true
Bryan Duxburyc6574472010-10-06 00:12:33 +0000305 CABAL=true
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000306 fi
307fi
Bryan Duxburyc6574472010-10-06 00:12:33 +0000308AC_SUBST(CABAL)
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000309AC_SUBST(RUNHASKELL)
310AM_CONDITIONAL(WITH_HASKELL, [test "$have_haskell" = "yes"])
Kevin Clark4bd89162008-07-08 00:47:49 +0000311
Christian Lavoieafc6d8f2011-02-20 02:39:19 +0000312AX_THRIFT_LIB(go, [Go], yes)
313if test "$with_go" = "yes"; then
Jens Geyer0e87c462013-06-18 22:25:07 +0200314 AC_PATH_PROG([GO], [go])
315 if [[ -x "$GO" ]] ; then
Christian Lavoieafc6d8f2011-02-20 02:39:19 +0000316 have_go="yes"
317 fi
318fi
319AM_CONDITIONAL(WITH_GO, [test "$have_go" = "yes"])
320
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000321
Jens Geyerbd52f1a2014-07-28 01:25:30 +0200322AX_THRIFT_LIB(haxe, [Haxe], yes)
323if test "$with_haxe" = "yes"; then
324 AC_PATH_PROG([HAXE], [haxe])
325 if [[ -x "$HAXE" ]] ; then
326 have_haxe="yes"
327 fi
328fi
329AM_CONDITIONAL(WITH_HAXE, [test "$have_haxe" = "yes"])
330
331
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000332AX_THRIFT_LIB(d, [D], yes)
333if test "$with_d" = "yes"; then
334 AX_DMD
335 AC_SUBST(DMD)
336 if test "x$DMD" != "x"; then
337 have_d="yes"
338 fi
339fi
340
341# Determine actual name of the generated D library for use in the command line
342# when compiling tests. This is needed because the -l<lib> syntax doesn't work
343# with OPTLINK (Windows).
344lib_prefix=lib
345lib_suffix=a
346case "$host_os" in
347 cygwin* | mingw* | pw32* | cegcc*)
348 lib_prefix=""
349 lib_suffix=lib
350 ;;
351esac
352D_LIB_NAME="${lib_prefix}thriftd.${lib_suffix}"
353AC_SUBST(D_LIB_NAME)
354D_EVENT_LIB_NAME="${lib_prefix}thriftd-event.${lib_suffix}"
355AC_SUBST(D_EVENT_LIB_NAME)
356D_SSL_LIB_NAME="${lib_prefix}thriftd-ssl.${lib_suffix}"
357AC_SUBST(D_SSL_LIB_NAME)
358
359if test "$have_d" = "yes"; then
360 AX_CHECK_D_MODULE(deimos.event2.event)
361 have_deimos_event2=$success
362
363 with_d_event_tests="no"
364 if test "$have_deimos_event2" = "yes"; then
365 if test "x$DMD_LIBEVENT_FLAGS" = "x"; then
366 if test "$dmd_optlink" = "yes"; then
367 AC_MSG_WARN([D libevent interface found, but cannot auto-detect \
368linker flags for OPTLINK. Please set DMD_LIBEVENT_FLAGS manually.])
369 else
370 AX_LIB_EVENT([2.0])
371 if test "$success" = "yes"; then
372 DMD_LIBEVENT_FLAGS=$(echo "$LIBEVENT_LDFLAGS $LIBEVENT_LIBS" | \
373 sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g')
374 with_d_event_tests="yes"
375 else
376 AC_MSG_WARN([D libevent interface present, but libevent library not found.])
377 fi
378 fi
379 else
380 with_d_event_tests="yes"
381 fi
382 fi
383
384 AX_CHECK_D_MODULE(deimos.openssl.ssl)
385 have_deimos_openssl=$success
386
387 with_d_ssl_tests="no"
388 if test "$have_deimos_openssl" = "yes"; then
389 if test "x$DMD_OPENSSL_FLAGS" = "x"; then
390 if test "$dmd_optlink" = "yes"; then
391 AC_MSG_WARN([D OpenSSL interface found, but cannot auto-detect \
392linker flags for OPTLINK. Please set DMD_OPENSSL_FLAGS manually.])
393 else
394 AX_CHECK_OPENSSL([with_d_ssl_tests="yes"])
395 if test "$with_d_ssl_tests" = "yes"; then
396 DMD_OPENSSL_FLAGS=$(echo "$OPENSSL_LDFLAGS $OPENSSL_LIBS" | \
397 sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g')
398 else
399 AC_MSG_WARN([D OpenSSL interface present, but OpenSSL library not found.])
400 fi
401 fi
402 else
403 with_d_ssl_tests="yes"
404 fi
405 fi
406fi
407
408AM_CONDITIONAL(WITH_D, [test "$have_d" = "yes"])
409AM_CONDITIONAL(DMD_OPTLINK, [test "$dmd_optlink" = "yes"])
410AC_SUBST(DMD_OF_DIRSEP, "$dmd_of_dirsep")
411AM_CONDITIONAL(HAVE_DEIMOS_EVENT2, [test "$have_deimos_event2" = "yes"])
412AM_CONDITIONAL(WITH_D_EVENT_TESTS, [test "$with_d_event_tests" = "yes"])
413AC_SUBST(DMD_LIBEVENT_FLAGS)
414AM_CONDITIONAL(HAVE_DEIMOS_OPENSSL, [test "$have_deimos_openssl" = "yes"])
415AM_CONDITIONAL(WITH_D_SSL_TESTS, [test "$with_d_ssl_tests" = "yes"])
416AC_SUBST(DMD_OPENSSL_FLAGS)
417
Roger Meierc88d5812014-01-26 11:51:26 +0100418AC_ARG_ENABLE([tests],
419 AS_HELP_STRING([--enable-tests], [build tests [default=yes]]),
420 [], enable_tests=yes
421)
Jake Farrell627f1a02011-09-14 03:43:49 +0000422have_tests=yes
Roger Meierc88d5812014-01-26 11:51:26 +0100423if test "$enable_tests" = "no"; then
Jake Farrell627f1a02011-09-14 03:43:49 +0000424 have_tests="no"
425fi
426AM_CONDITIONAL(WITH_TESTS, [test "$have_tests" = "yes"])
427
Roger Meierc88d5812014-01-26 11:51:26 +0100428AC_ARG_ENABLE([tutorial],
429 AS_HELP_STRING([--enable-tutorial], [build tutorial [default=yes]]),
430 [], enable_tutorial=yes
431)
432have_tutorial=yes
433if test "$enable_tutorial" = "no"; then
434 have_tutorial="no"
435fi
436AM_CONDITIONAL(WITH_TUTORIAL, [test "$have_tutorial" = "yes"])
437
Roger Meier6e969652011-12-13 00:36:01 +0000438AM_CONDITIONAL(MINGW, false)
439case "${host_os}" in
440*mingw*)
441 mingw32_support="yes"
442 AC_CHECK_HEADER(windows.h)
443 AM_CONDITIONAL(MINGW, true)
444 ;;
445*)
446 AC_ISC_POSIX
447 ;;
448esac
449
David Reiss832b2622007-12-28 18:25:33 +0000450AC_C_CONST
451AC_C_INLINE
452AC_C_VOLATILE
453
454AC_HEADER_STDBOOL
455AC_HEADER_STDC
456AC_HEADER_TIME
Christian Lavoieafc6d8f2011-02-20 02:39:19 +0000457AC_HEADER_SYS_WAIT
458AC_TYPE_SIGNAL
David Reiss832b2622007-12-28 18:25:33 +0000459AC_CHECK_HEADERS([arpa/inet.h])
Bryan Duxbury184d2622010-08-17 17:43:58 +0000460AC_CHECK_HEADERS([sys/param.h])
David Reiss832b2622007-12-28 18:25:33 +0000461AC_CHECK_HEADERS([fcntl.h])
462AC_CHECK_HEADERS([inttypes.h])
David Reiss7ed4b982008-02-11 23:24:47 +0000463AC_CHECK_HEADERS([limits.h])
David Reiss832b2622007-12-28 18:25:33 +0000464AC_CHECK_HEADERS([netdb.h])
465AC_CHECK_HEADERS([netinet/in.h])
466AC_CHECK_HEADERS([pthread.h])
467AC_CHECK_HEADERS([stddef.h])
David Reissd7a16f42008-02-19 22:47:29 +0000468AC_CHECK_HEADERS([stdlib.h])
David Reiss832b2622007-12-28 18:25:33 +0000469AC_CHECK_HEADERS([sys/socket.h])
470AC_CHECK_HEADERS([sys/time.h])
Roger Meier2fa9c312011-09-05 19:15:53 +0000471AC_CHECK_HEADERS([sys/un.h])
472AC_CHECK_HEADERS([sys/poll.h])
473AC_CHECK_HEADERS([sys/resource.h])
David Reiss832b2622007-12-28 18:25:33 +0000474AC_CHECK_HEADERS([unistd.h])
475AC_CHECK_HEADERS([libintl.h])
476AC_CHECK_HEADERS([malloc.h])
Roger Meier9d9c4b92011-02-23 20:27:54 +0000477AC_CHECK_HEADERS([openssl/ssl.h])
478AC_CHECK_HEADERS([openssl/rand.h])
479AC_CHECK_HEADERS([openssl/x509v3.h])
Roger Meier12d70532011-12-14 23:35:28 +0000480AC_CHECK_HEADERS([sched.h])
Roger Meier93576362013-03-15 19:49:23 +0100481AC_CHECK_HEADERS([wchar.h])
David Reiss832b2622007-12-28 18:25:33 +0000482
483AC_CHECK_LIB(pthread, pthread_create)
David Reisse4ca1792009-05-21 02:28:19 +0000484dnl NOTE(dreiss): I haven't been able to find any really solid docs
485dnl on what librt is and how it fits into various Unix systems.
486dnl My best guess is that it is where glibc stashes its implementation
487dnl of the POSIX Real-Time Extensions. This seems necessary on Linux,
488dnl and we haven't yet found a system where this is a problem.
489AC_CHECK_LIB(rt, clock_gettime)
David Reiss9b903442009-10-21 05:51:28 +0000490AC_CHECK_LIB(socket, setsockopt)
Roger Meier68691122011-09-09 06:19:35 +0000491
492if test "$have_cpp" = "yes" ; then
493# mingw toolchain used to build "Thrift Compiler for Windows"
494# does not support libcrypto, so we just check if we building the cpp library
Jake Farrell012dfda2011-08-29 18:18:55 +0000495AC_CHECK_LIB(crypto,
496 BN_init,
497 [AC_CHECK_LIB(ssl,
498 SSL_ctrl,
499 [LIBS="-lssl -lcrypto $LIBS"],
500 [AC_MSG_ERROR(["Error: libssl required"])],
501 -lcrypto
502 )],
503 [AC_MSG_ERROR(["Error: libcrypto required."])]
504)
Roger Meier68691122011-09-09 06:19:35 +0000505fi
David Reiss832b2622007-12-28 18:25:33 +0000506
507AC_TYPE_INT16_T
508AC_TYPE_INT32_T
509AC_TYPE_INT64_T
510AC_TYPE_INT8_T
511AC_TYPE_MODE_T
512AC_TYPE_OFF_T
513AC_TYPE_SIZE_T
David Reiss847a2942008-04-21 18:07:43 +0000514AC_TYPE_SSIZE_T
David Reiss832b2622007-12-28 18:25:33 +0000515AC_TYPE_UINT16_T
516AC_TYPE_UINT32_T
517AC_TYPE_UINT64_T
518AC_TYPE_UINT8_T
David Reiss33fc5ad2008-05-09 07:17:34 +0000519AC_CHECK_TYPES([ptrdiff_t], [], [exit 1])
David Reiss832b2622007-12-28 18:25:33 +0000520
David Reiss7ed4b982008-02-11 23:24:47 +0000521AC_STRUCT_TM
522
David Reiss85a8f7b2009-05-21 02:28:16 +0000523dnl NOTE(dreiss): AI_ADDRCONFIG is not defined on OpenBSD.
524AC_CHECK_DECL([AI_ADDRCONFIG], [],
525 [AC_DEFINE([AI_ADDRCONFIG], 0,
526 [Define if the AI_ADDRCONFIG symbol is unavailable])],
527 [
528 #include <sys/types.h>
529 #include <sys/socket.h>
530 #include <netdb.h>
531])
532
David Reiss832b2622007-12-28 18:25:33 +0000533AC_FUNC_ALLOCA
Roger Meier213a6642010-10-27 12:30:11 +0000534AC_FUNC_FORK
David Reiss832b2622007-12-28 18:25:33 +0000535AC_FUNC_MALLOC
David Reiss7ed4b982008-02-11 23:24:47 +0000536AC_FUNC_MEMCMP
David Reiss832b2622007-12-28 18:25:33 +0000537AC_FUNC_REALLOC
538AC_FUNC_SELECT_ARGTYPES
539AC_FUNC_STAT
540AC_FUNC_STRERROR_R
David Reiss7ed4b982008-02-11 23:24:47 +0000541AC_FUNC_STRFTIME
David Reiss832b2622007-12-28 18:25:33 +0000542AC_FUNC_VPRINTF
543AC_CHECK_FUNCS([strtoul])
544AC_CHECK_FUNCS([bzero])
David Reiss7ed4b982008-02-11 23:24:47 +0000545AC_CHECK_FUNCS([ftruncate])
David Reiss832b2622007-12-28 18:25:33 +0000546AC_CHECK_FUNCS([gethostbyname])
Roger Meierbea31442014-04-08 23:52:01 +0200547AC_CHECK_FUNCS([gethostbyname_r])
David Reiss832b2622007-12-28 18:25:33 +0000548AC_CHECK_FUNCS([gettimeofday])
549AC_CHECK_FUNCS([memmove])
550AC_CHECK_FUNCS([memset])
551AC_CHECK_FUNCS([mkdir])
552AC_CHECK_FUNCS([realpath])
553AC_CHECK_FUNCS([select])
554AC_CHECK_FUNCS([socket])
555AC_CHECK_FUNCS([strchr])
556AC_CHECK_FUNCS([strdup])
David Reiss7ed4b982008-02-11 23:24:47 +0000557AC_CHECK_FUNCS([strerror])
David Reiss832b2622007-12-28 18:25:33 +0000558AC_CHECK_FUNCS([strstr])
559AC_CHECK_FUNCS([strtol])
560AC_CHECK_FUNCS([sqrt])
David Reisse4ca1792009-05-21 02:28:19 +0000561dnl The following functions are optional.
Roger Meier213a6642010-10-27 12:30:11 +0000562AC_CHECK_FUNCS([alarm])
David Reisse4ca1792009-05-21 02:28:19 +0000563AC_CHECK_FUNCS([clock_gettime])
564AC_CHECK_FUNCS([sched_get_priority_min])
565AC_CHECK_FUNCS([sched_get_priority_max])
Jens Geyer0cf802a2014-05-27 23:10:11 +0200566AC_CHECK_FUNCS([inet_ntoa])
567AC_CHECK_FUNCS([pow])
David Reiss832b2622007-12-28 18:25:33 +0000568
David Reiss79db3e12010-08-31 16:51:31 +0000569if test "$cross_compiling" = "no" ; then
570 AX_SIGNED_RIGHT_SHIFT
571fi
David Reisse4d4ea02009-04-02 21:37:17 +0000572
David Reiss5ddabb82010-10-06 17:09:37 +0000573dnl autoscan thinks we need this macro because we have a member function
574dnl called "error". Invoke the macro but don't run the check so autoscan
575dnl thinks we are in the clear. It's highly unlikely that we will ever
576dnl actually use the function that this checks for.
577if false ; then
578 AC_FUNC_ERROR_AT_LINE
579fi
580
Roger Meier213a6642010-10-27 12:30:11 +0000581# --- Coverage hooks ---
582
583AC_ARG_ENABLE(coverage,
584 [ --enable-coverage turn on -fprofile-arcs -ftest-coverage],
585 [case "${enableval}" in
586 yes) ENABLE_COVERAGE=1 ;;
587 no) ENABLE_COVERAGE=0 ;;
588 *) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;;
589 esac],
590 [ENABLE_COVERAGE=2])
591
592if test "x[$]ENABLE_COVERAGE" = "x1"; then
593 AC_MSG_WARN(enable coverage)
594 GCOV_CFLAGS="`echo \"[$]CFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage"
595 GCOV_CXXFLAGS="`echo \"[$]CXXFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage"
596 GCOV_LDFLAGS="-XCClinker -fprofile-arcs -XCClinker -ftest-coverage"
597fi
598
599AC_SUBST(ENABLE_COVERAGE)
600AC_SUBST(GCOV_CFLAGS)
601AC_SUBST(GCOV_CXXFLAGS)
602AC_SUBST(GCOV_LDFLAGS)
603
Roger Meier3faaedf2011-10-02 10:51:45 +0000604AC_ARG_ENABLE(boostthreads,
605 [ --enable-boostthreads use boost threads, instead of POSIX pthread (experimental) ],
606 [case "${enableval}" in
607 yes) ENABLE_BOOSTTHREADS=1 ;;
608 no) ENABLE_BOOSTTHREADS=0 ;;
609 *) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;;
610 esac],
611 [ENABLE_BOOSTTHREADS=2])
612
613
614if test "x[$]ENABLE_BOOSTTHREADS" = "x1"; then
615 AC_MSG_WARN(enable boostthreads)
616 AC_DEFINE([USE_BOOST_THREAD], [1], [experimental --enable-boostthreads that replaces POSIX pthread by boost::thread])
Roger Meier38315782011-11-06 11:29:41 +0000617 LIBS="-lboost_thread $LIBS"
Roger Meier3faaedf2011-10-02 10:51:45 +0000618fi
619
620AM_CONDITIONAL([WITH_BOOSTTHREADS], [test "x[$]ENABLE_BOOSTTHREADS" = "x1"])
621
David Reiss832b2622007-12-28 18:25:33 +0000622AC_CONFIG_HEADERS(config.h:config.hin)
Roger Meier58fe5362013-06-22 22:05:22 +0200623AC_CONFIG_HEADERS(lib/cpp/src/thrift/config.h:config.hin)
Jake Farrell240df172013-06-04 23:59:34 -0400624# gruard against pre defined config.h
625AH_TOP([
626#ifndef CONFIG_H
Roger Meier8909cbd2014-01-26 11:44:27 +0100627#define CONFIG_H
Jake Farrell240df172013-06-04 23:59:34 -0400628])
629AH_BOTTOM([
630#endif
631])
632
David Reiss832b2622007-12-28 18:25:33 +0000633
634AC_CONFIG_FILES([
635 Makefile
636 compiler/cpp/Makefile
Bryan Duxburya1e268c2010-05-03 21:33:00 +0000637 compiler/cpp/version.h
Jake Farrell16b76412012-06-22 03:51:38 +0000638 compiler/cpp/src/windows/version.h
David Reiss832b2622007-12-28 18:25:33 +0000639 lib/Makefile
640 lib/cpp/Makefile
David Reiss351e22b2010-08-31 16:51:19 +0000641 lib/cpp/test/Makefile
David Reiss832b2622007-12-28 18:25:33 +0000642 lib/cpp/thrift-nb.pc
643 lib/cpp/thrift-z.pc
Roger Meier86e89862012-02-10 19:53:20 +0000644 lib/cpp/thrift-qt.pc
Bryan Duxburyc6574472010-10-06 00:12:33 +0000645 lib/cpp/thrift.pc
Roger Meier213a6642010-10-27 12:30:11 +0000646 lib/c_glib/Makefile
647 lib/c_glib/thrift_c_glib.pc
648 lib/c_glib/test/Makefile
David Reiss1fdb5922008-02-06 22:10:12 +0000649 lib/csharp/Makefile
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000650 lib/d/Makefile
651 lib/d/test/Makefile
Bryan Duxbury7173bd92010-05-02 22:54:22 +0000652 lib/erl/Makefile
Jens Geyer0e87c462013-06-18 22:25:07 +0200653 lib/go/Makefile
Jens Geyera7da4882013-07-18 00:33:05 +0200654 lib/go/test/Makefile
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000655 lib/hs/Makefile
David Reissf8dcf032008-02-23 22:07:39 +0000656 lib/java/Makefile
Roger Meierf2495762011-03-17 19:13:36 +0000657 lib/js/test/Makefile
Roger Meier8909cbd2014-01-26 11:44:27 +0100658 lib/nodejs/Makefile
T Jake Luciani1952e542009-02-01 04:47:30 +0000659 lib/perl/Makefile
660 lib/perl/test/Makefile
Bryan Duxbury6a681872010-05-02 22:39:31 +0000661 lib/php/Makefile
Roger Meier33b720a2012-01-24 18:42:46 +0000662 lib/php/test/Makefile
David Reiss832b2622007-12-28 18:25:33 +0000663 lib/py/Makefile
Kevin Clark4bd89162008-07-08 00:47:49 +0000664 lib/rb/Makefile
Roger Meier6cf0ffc2014-04-05 00:45:42 +0200665 lib/lua/Makefile
David Reiss8180c0c2008-02-04 21:14:14 +0000666 test/Makefile
Roger Meierb3c84092014-09-01 21:53:40 +0200667 test/c_glib/Makefile
Roger Meierd3b9dca2011-06-24 14:01:10 +0000668 test/cpp/Makefile
alisdair sullivan06d0fa02014-08-05 19:54:57 -0700669 test/erl/Makefile
Jens Geyerf4598682014-05-08 23:18:44 +0200670 test/go/Makefile
Jens Geyerbd52f1a2014-07-28 01:25:30 +0200671 test/haxe/Makefile
Bryan Duxburyc6574472010-10-06 00:12:33 +0000672 test/hs/Makefile
Roger Meierb33967b2012-01-21 09:18:05 +0000673 test/php/Makefile
Roger Meier01b568c2012-01-10 21:30:02 +0000674 test/perl/Makefile
David Reiss9ff3b9d2008-02-15 01:10:23 +0000675 test/py/Makefile
Roger Meier50e43492010-10-08 17:46:06 +0000676 test/py.twisted/Makefile
Chris Piro20c81ad2013-03-07 11:32:48 -0500677 test/py.tornado/Makefile
Kevin Clark4bd89162008-07-08 00:47:49 +0000678 test/rb/Makefile
Roger Meierfa899322012-10-22 19:27:38 +0000679 tutorial/Makefile
Roger Meier2814c2e2014-07-29 23:28:46 +0200680 tutorial/c_glib/Makefile
Roger Meier18a90d12012-10-24 18:40:06 +0000681 tutorial/cpp/Makefile
Jens Geyer0e87c462013-06-18 22:25:07 +0200682 tutorial/go/Makefile
Jens Geyerbd52f1a2014-07-28 01:25:30 +0200683 tutorial/haxe/Makefile
Roger Meier303eb1b2014-05-14 00:49:41 +0200684 tutorial/hs/Makefile
Roger Meierfa899322012-10-22 19:27:38 +0000685 tutorial/java/Makefile
686 tutorial/js/Makefile
Roger Meier64998e22014-01-27 21:15:56 +0100687 tutorial/nodejs/Makefile
Roger Meier1d66d062012-10-26 21:46:18 +0000688 tutorial/py/Makefile
689 tutorial/py.twisted/Makefile
Chris Piro20c81ad2013-03-07 11:32:48 -0500690 tutorial/py.tornado/Makefile
Roger Meiered817d02013-06-09 23:10:06 +0200691 tutorial/rb/Makefile
David Reiss832b2622007-12-28 18:25:33 +0000692])
Marc Slemkob09f5882006-08-23 22:03:34 +0000693
694AC_OUTPUT
David Reiss5cc3ba82010-08-31 16:51:20 +0000695
696
697echo
698echo "$PACKAGE $VERSION"
699echo
David Reissea4c9812010-08-31 16:51:21 +0000700echo "Building C++ Library ......... : $have_cpp"
Roger Meier213a6642010-10-27 12:30:11 +0000701echo "Building C (GLib) Library .... : $have_c_glib"
David Reiss5cc3ba82010-08-31 16:51:20 +0000702echo "Building Java Library ........ : $have_java"
703echo "Building C# Library .......... : $have_csharp"
704echo "Building Python Library ...... : $have_python"
705echo "Building Ruby Library ........ : $have_ruby"
Jens Geyerbd52f1a2014-07-28 01:25:30 +0200706echo "Building Haxe Library ........ : $have_haxe"
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000707echo "Building Haskell Library ..... : $have_haskell"
David Reiss5cc3ba82010-08-31 16:51:20 +0000708echo "Building Perl Library ........ : $have_perl"
709echo "Building PHP Library ......... : $have_php"
710echo "Building Erlang Library ...... : $have_erlang"
Christian Lavoieafc6d8f2011-02-20 02:39:19 +0000711echo "Building Go Library .......... : $have_go"
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000712echo "Building D Library ........... : $have_d"
Roger Meier8909cbd2014-01-26 11:44:27 +0100713echo "Building NodeJS Library ...... : $have_nodejs"
Roger Meier6cf0ffc2014-04-05 00:45:42 +0200714echo "Building Lua Library ......... : $have_lua"
Jake Farrellc9c972b2012-07-24 17:28:24 +0000715
David Reiss5cc3ba82010-08-31 16:51:20 +0000716if test "$have_cpp" = "yes" ; then
717 echo
Roger Meier86e89862012-02-10 19:53:20 +0000718 echo "C++ Library:"
719 echo " Build TZlibTransport ...... : $have_zlib"
720 echo " Build TNonblockingServer .. : $have_libevent"
721 echo " Build TQTcpServer (Qt) .... : $have_qt"
David Reiss5cc3ba82010-08-31 16:51:20 +0000722fi
723if test "$have_java" = "yes" ; then
724 echo
Roger Meier86e89862012-02-10 19:53:20 +0000725 echo "Java Library:"
726 echo " Using javac ............... : $JAVAC"
727 echo " Using java ................ : $JAVA"
728 echo " Using ant ................. : $ANT"
David Reiss5cc3ba82010-08-31 16:51:20 +0000729fi
730if test "$have_csharp" = "yes" ; then
731 echo
Roger Meier86e89862012-02-10 19:53:20 +0000732 echo "C# Library:"
733 echo " Using .NET 3.5 ............ : $net_3_5"
David Reiss5cc3ba82010-08-31 16:51:20 +0000734fi
735if test "$have_python" = "yes" ; then
736 echo
Roger Meier86e89862012-02-10 19:53:20 +0000737 echo "Python Library:"
738 echo " Using Python .............. : $PYTHON"
David Reiss5cc3ba82010-08-31 16:51:20 +0000739fi
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000740if test "$have_php" = "yes" ; then
741 echo
Roger Meier86e89862012-02-10 19:53:20 +0000742 echo "PHP Library:"
743 echo " Using php-config .......... : $PHP_CONFIG"
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000744fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000745if test "$have_ruby" = "yes" ; then
746 echo
Roger Meier86e89862012-02-10 19:53:20 +0000747 echo "Ruby Library:"
748 echo " Using Ruby ................ : $RUBY"
David Reiss5cc3ba82010-08-31 16:51:20 +0000749fi
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000750if test "$have_haskell" = "yes" ; then
751 echo
Roger Meier86e89862012-02-10 19:53:20 +0000752 echo "Haskell Library:"
753 echo " Using Haskell ............. : $RUNHASKELL"
754 echo " Using Cabal ............... : $CABAL"
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000755fi
Jens Geyerbd52f1a2014-07-28 01:25:30 +0200756if test "$have_haxe" = "yes" ; then
757 echo
758 echo "Haxe Library:"
759 echo " Using Haxe ................ : $HAXE"
760fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000761if test "$have_perl" = "yes" ; then
762 echo
Roger Meier86e89862012-02-10 19:53:20 +0000763 echo "Perl Library:"
764 echo " Using Perl ................ : $PERL"
David Reiss5cc3ba82010-08-31 16:51:20 +0000765fi
766if test "$have_erlang" = "yes" ; then
767 echo
Roger Meier86e89862012-02-10 19:53:20 +0000768 echo "Erlang Library:"
769 echo " Using erlc ................ : $ERLC"
David Reiss5cc3ba82010-08-31 16:51:20 +0000770fi
Christian Lavoieafc6d8f2011-02-20 02:39:19 +0000771if test "$have_go" = "yes" ; then
772 echo
Roger Meier86e89862012-02-10 19:53:20 +0000773 echo "Go Library:"
Jens Geyer0e87c462013-06-18 22:25:07 +0200774 echo " Using Go................... : $GO"
Jens Geyera7da4882013-07-18 00:33:05 +0200775 echo " Using Go version........... : $($GO version)"
Christian Lavoieafc6d8f2011-02-20 02:39:19 +0000776fi
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000777if test "$have_d" = "yes" ; then
778 echo
Jens Geyerbcca1d92013-12-26 19:24:30 +0100779 echo "D Library:"
780 echo " Using D Compiler .......... : $DMD"
781 echo " Building D libevent tests . : $with_d_event_tests"
782 echo " Building D SSL tests ...... : $with_d_ssl_tests"
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000783fi
Roger Meier8909cbd2014-01-26 11:44:27 +0100784if test "$have_nodejs" = "yes" ; then
785 echo
786 echo "NodeJS Library:"
787 echo " Using NodeJS .............. : $NODEJS"
788 echo " Using NodeJS version....... : $($NODEJS --version)"
789fi
Roger Meier6cf0ffc2014-04-05 00:45:42 +0200790if test "$have_lua" = "yes" ; then
791 echo
792 echo "Lua Library:"
793 echo " Using Lua .............. : $LUA"
794fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000795echo
796echo "If something is missing that you think should be present,"
797echo "please skim the output of configure to find the missing"
798echo "component. Details are present in config.log."