blob: 320c25071b86d55e0589f301012ac729fc185077 [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
Bryan Duxbury5d742622010-08-19 21:02:19 +000020AC_PREREQ(2.65)
Marc Slemkob09f5882006-08-23 22:03:34 +000021
Bryan Duxburye1ae6b42010-09-28 17:44:45 +000022AC_INIT([thrift], [0.6.0-dev])
Marc Slemkob09f5882006-08-23 22:03:34 +000023
24AC_CONFIG_AUX_DIR([.])
25
26AM_INIT_AUTOMAKE
27
David Reissd6832192007-09-05 00:47:32 +000028AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
29 (Normal --prefix is ignored for Python because
30 Python has different conventions.)
31 Default = "/usr"])
David Reisscdd6f3c2008-03-04 21:10:29 +000032AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
David Reissd6832192007-09-05 00:47:32 +000033
David Reissf0c21a72008-07-11 01:26:16 +000034AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar.
35 (Normal --prefix is ignored for Java because
36 Java has different conevntions.)
37 Default = "/usr/local/lib"])
38AS_IF([test "x$JAVA_PREFIX" = x], [JAVA_PREFIX="/usr/local/lib"])
David Reiss832b2622007-12-28 18:25:33 +000039
Bryan Duxbury3f0b5262010-05-12 21:31:58 +000040AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules.
41 (Normal --prefix is ignored for Ruby because
42 Ruby has different conventions.)
43 Default = none, let ruby setup decide])
44
Bryan Duxbury6a681872010-05-02 22:39:31 +000045AC_ARG_VAR([PHP_PREFIX], [Prefix for installing PHP modules.
46 (Normal --prefix is ignored for PHP because
47 PHP has different conventions.)
48 Default = "/usr/lib/php"])
49AS_IF([test "x$PHP_PREFIX" = x], [PHP_PREFIX="/usr/lib/php"])
50
Bryan Duxbury89200e12010-08-25 17:09:02 +000051AC_ARG_VAR([PHP_CONFIG_PREFIX],
52 [Prefix for installing PHP extension module .ini file.
53 (Normal --prefix is ignored for PHP because PHP has
54 different conventions.)
55 Default = "/etc/php.d"])
56AS_IF([test "x$PHP_CONFIG_PREFIX" = x], [PHP_CONFIG_PREFIX="/etc/php.d"])
57
David Reissc07057e2010-06-11 17:57:32 +000058AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules.
59 (Normal --prefix is ignored for Perl because
60 Perl has different conventions.)
61 Default = "/usr/local/lib"])
62AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"])
63
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +000064AC_ARG_VAR([CABAL_CONFIGURE_FLAGS],
65 [Extra flags to pass to cabal: "cabal Setup.lhs configure $CABAL_CONFIGURE_FLAGS".
66 (Typically used to set --user or force --global.)])
67
68AC_SUBST(CABAL_CONFIGURE_FLAGS)
69
David Reiss832b2622007-12-28 18:25:33 +000070AC_PROG_CC
71AC_PROG_CPP
72AC_PROG_CXX
73AC_PROG_INSTALL
74AC_PROG_LIBTOOL
75AC_PROG_MAKE_SET
76AC_PROG_YACC
77AC_PROG_LEX
78AM_PROG_LEX
David Reiss7ed4b982008-02-11 23:24:47 +000079AC_PROG_LN_S
80AC_PROG_MKDIR_P
David Reiss832b2622007-12-28 18:25:33 +000081
82AC_LANG([C++])
David Reiss832b2622007-12-28 18:25:33 +000083
David Reissea4c9812010-08-31 16:51:21 +000084AX_THRIFT_LIB(cpp, [C++], yes)
85have_cpp=no
86if test "$with_cpp" = "yes"; then
David Reissef5e81b2010-08-31 16:51:28 +000087 AX_BOOST_BASE([1.33.1])
88 if test "x$succeeded" == "xyes" ; then
89 have_cpp="yes"
90 fi
David Reiss5cc3ba82010-08-31 16:51:20 +000091
David Reissea4c9812010-08-31 16:51:21 +000092 AX_LIB_EVENT([1.0])
93 have_libevent=$success
David Reiss832b2622007-12-28 18:25:33 +000094
David Reissea4c9812010-08-31 16:51:21 +000095 AX_LIB_ZLIB([1.2.3])
96 have_zlib=$success
97fi
98AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"])
99AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$have_libevent" = "yes"])
100AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$have_zlib" = "yes"])
David Reiss832b2622007-12-28 18:25:33 +0000101
David Reiss520b5ee2008-03-02 07:00:26 +0000102AX_THRIFT_LIB(csharp, [C#], yes)
103if test "$with_csharp" = "yes"; then
David Reissd831a212009-02-13 03:09:52 +0000104 PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)
105 PKG_CHECK_MODULES(MONO, mono >= 1.2.4, have_mono=yes, have_mono=no)
David Reiss5cc3ba82010-08-31 16:51:20 +0000106 if test "$have_mono" = "yes" ; then
107 have_csharp="yes"
108 fi
David Reiss520b5ee2008-03-02 07:00:26 +0000109fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000110AM_CONDITIONAL(WITH_MONO, [test "$have_csharp" = "yes"])
David Reissd831a212009-02-13 03:09:52 +0000111AM_CONDITIONAL(NET_2_0, [test "$net_3_5" = "no"])
David Reiss1fdb5922008-02-06 22:10:12 +0000112
David Reiss62d39812008-03-02 07:00:22 +0000113AX_THRIFT_LIB(java, [Java], yes)
114if test "$with_java" = "yes"; then
David Reissd9cdf422009-03-13 21:25:29 +0000115 AX_JAVAC_AND_JAVA
Bryan Duxbury38bab122010-08-12 00:27:14 +0000116 AC_PATH_PROG([ANT], [ant])
Bryan Duxburyc27cda52009-08-14 20:04:15 +0000117 AX_CHECK_JAVA_CLASS(org.slf4j.Logger)
118 have_slf4j="$success"
119 AX_CHECK_JAVA_CLASS(org.slf4j.impl.SimpleLogger)
120 have_slf4j_simple="$success"
David Reissfdfcebd2009-05-22 19:50:29 +0000121 AX_CHECK_JAVA_CLASS(org.apache.commons.lang.builder.HashCodeBuilder)
122 have_hashcode="$success"
Bryan Duxburyc27cda52009-08-14 20:04:15 +0000123 if test "x$have_slf4j_simple" = "xyes" && test "x$have_slf4j" = "xyes" && test "x$have_hashcode" = "xyes" ; then
David Reiss4ca0c8e2009-05-12 23:16:55 +0000124 ANT_FLAGS="$ANT_FLAGS -Dnoivy="
125 fi
David Reissfff84d12009-05-22 19:50:33 +0000126 AC_SUBST(CLASSPATH)
David Reiss4ca0c8e2009-05-12 23:16:55 +0000127 AC_SUBST(ANT_FLAGS)
David Reiss5cc3ba82010-08-31 16:51:20 +0000128 if test "x$JAVAC" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then
129 have_java="yes"
130 fi
David Reiss62d39812008-03-02 07:00:22 +0000131fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000132AM_CONDITIONAL([WITH_JAVA], [test "$have_java" = "yes"])
David Reiss1fdb5922008-02-06 22:10:12 +0000133
Christopher Pirob6f18c22008-03-04 07:09:12 +0000134AX_THRIFT_LIB(erlang, [Erlang], yes)
135if test "$with_erlang" = "yes"; then
David Reiss9e2fd792010-05-18 16:52:48 +0000136 AC_ERLANG_PATH_ERL
137 AC_ERLANG_PATH_ERLC
David Reiss31e1b6e2010-08-24 20:45:24 +0000138 if test -n "$ERLC" ; then
139 AC_ERLANG_SUBST_LIB_DIR
140 # Install into the detected Erlang directory instead of $libdir/erlang/lib
141 ERLANG_INSTALL_LIB_DIR="$ERLANG_LIB_DIR"
142 AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
143 fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000144 if test -n "$ERL" -a -n "$ERLC" ; then
145 have_erlang="yes"
146 fi
Christopher Pirob6f18c22008-03-04 07:09:12 +0000147fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000148AM_CONDITIONAL(WITH_ERLANG, [test "$have_erlang" = "yes"])
Christopher Pirob6f18c22008-03-04 07:09:12 +0000149
David Reiss5cc3ba82010-08-31 16:51:20 +0000150AX_THRIFT_LIB(python, [Python], yes)
151if test "$with_python" = "yes"; then
David Reiss1a140912008-06-11 01:16:37 +0000152 AM_PATH_PYTHON(2.4,, :)
David Reiss5cc3ba82010-08-31 16:51:20 +0000153 if test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then
154 have_python="yes"
155 fi
David Reiss1a140912008-06-11 01:16:37 +0000156fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000157AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"])
David Reiss1a140912008-06-11 01:16:37 +0000158
T Jake Luciani1952e542009-02-01 04:47:30 +0000159AX_THRIFT_LIB(perl, [Perl], yes)
160if test "$with_perl" = "yes"; then
161 AC_PATH_PROG([PERL], [perl])
David Reissdcc7e9b2010-08-31 16:51:22 +0000162 if test -n "$PERL" ; then
163 AC_PROG_PERL_MODULES([Bit::Vector], success="yes", success="no")
164 have_perl_bit_vector="$success"
Bryan Duxbury12373692010-08-19 05:23:59 +0000165 fi
David Reissdcc7e9b2010-08-31 16:51:22 +0000166 if test -n "$PERL" -a "$have_perl_bit_vector" = "yes" ; then
David Reiss5cc3ba82010-08-31 16:51:20 +0000167 have_perl="yes"
168 fi
T Jake Luciani1952e542009-02-01 04:47:30 +0000169fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000170AM_CONDITIONAL(WITH_PERL, [test "$have_perl" = "yes"])
T Jake Luciani1952e542009-02-01 04:47:30 +0000171
Bryan Duxbury6a681872010-05-02 22:39:31 +0000172AX_THRIFT_LIB(php, [PHP], yes)
173if test "$with_php" = "yes"; then
174 AC_PATH_PROG([PHP], [php])
David Reiss5cc3ba82010-08-31 16:51:20 +0000175 if test -n "$PHP" ; then
176 have_php="yes"
177 fi
Bryan Duxbury6a681872010-05-02 22:39:31 +0000178fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000179AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"])
Bryan Duxbury6a681872010-05-02 22:39:31 +0000180
Bryan Duxbury89200e12010-08-25 17:09:02 +0000181AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes)
182if test "$with_php_extension" = "yes"; then
183 AC_PATH_PROG([PHP_CONFIG], [php-config])
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000184 if test -n "$PHP_CONFIG" ; then
185 AC_CONFIG_SUBDIRS([lib/php/src/ext/thrift_protocol])
186 have_php_extension="yes"
187 fi
Bryan Duxbury89200e12010-08-25 17:09:02 +0000188fi
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000189AM_CONDITIONAL(WITH_PHP_EXTENSION, [test "$have_php_extension" = "yes"])
Bryan Duxbury89200e12010-08-25 17:09:02 +0000190
Kevin Clark4bd89162008-07-08 00:47:49 +0000191AX_THRIFT_LIB(ruby, [Ruby], yes)
David Reiss5cc3ba82010-08-31 16:51:20 +0000192have_ruby=no
Kevin Clark4bd89162008-07-08 00:47:49 +0000193if test "$with_ruby" = "yes"; then
194 AC_PATH_PROG([RUBY], [ruby])
Bryan Duxburyec473582009-04-07 16:31:04 +0000195 AC_PATH_PROG([RSPEC], [spec])
David Reiss5cc3ba82010-08-31 16:51:20 +0000196 if test "x$RUBY" != "x" ; then
197 have_ruby="yes"
198 fi
Kevin Clark4bd89162008-07-08 00:47:49 +0000199fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000200AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"])
201AM_CONDITIONAL(HAVE_RSPEC, [test "x$RSPEC" != "x"])
Bryan Duxburyec473582009-04-07 16:31:04 +0000202
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000203AX_THRIFT_LIB(haskell, [Haskell], yes)
204have_haskell=no
205RUNHASKELL=true
Bryan Duxburyc6574472010-10-06 00:12:33 +0000206CABAL=true
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000207if test "$with_haskell" = "yes"; then
Bryan Duxburyc6574472010-10-06 00:12:33 +0000208 AC_PATH_PROG([CABAL], [cabal])
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000209 AC_PATH_PROG([RUNHASKELL], [runhaskell])
Bryan Duxburyc6574472010-10-06 00:12:33 +0000210 if test "x$CABAL" != "x" -a "x$RUNHASKELL" != "x"; then
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000211 have_haskell="yes"
212 else
213 RUNHASKELL=true
Bryan Duxburyc6574472010-10-06 00:12:33 +0000214 CABAL=true
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000215 fi
216fi
Bryan Duxburyc6574472010-10-06 00:12:33 +0000217AC_SUBST(CABAL)
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000218AC_SUBST(RUNHASKELL)
219AM_CONDITIONAL(WITH_HASKELL, [test "$have_haskell" = "yes"])
Kevin Clark4bd89162008-07-08 00:47:49 +0000220
David Reiss832b2622007-12-28 18:25:33 +0000221AC_C_CONST
222AC_C_INLINE
223AC_C_VOLATILE
224
225AC_HEADER_STDBOOL
226AC_HEADER_STDC
227AC_HEADER_TIME
228AC_CHECK_HEADERS([arpa/inet.h])
Bryan Duxbury184d2622010-08-17 17:43:58 +0000229AC_CHECK_HEADERS([sys/param.h])
David Reiss832b2622007-12-28 18:25:33 +0000230AC_CHECK_HEADERS([fcntl.h])
231AC_CHECK_HEADERS([inttypes.h])
David Reiss7ed4b982008-02-11 23:24:47 +0000232AC_CHECK_HEADERS([limits.h])
David Reiss832b2622007-12-28 18:25:33 +0000233AC_CHECK_HEADERS([netdb.h])
234AC_CHECK_HEADERS([netinet/in.h])
235AC_CHECK_HEADERS([pthread.h])
236AC_CHECK_HEADERS([stddef.h])
David Reissd7a16f42008-02-19 22:47:29 +0000237AC_CHECK_HEADERS([stdlib.h])
David Reiss832b2622007-12-28 18:25:33 +0000238AC_CHECK_HEADERS([sys/socket.h])
239AC_CHECK_HEADERS([sys/time.h])
240AC_CHECK_HEADERS([unistd.h])
241AC_CHECK_HEADERS([libintl.h])
242AC_CHECK_HEADERS([malloc.h])
243
244AC_CHECK_LIB(pthread, pthread_create)
David Reisse4ca1792009-05-21 02:28:19 +0000245dnl NOTE(dreiss): I haven't been able to find any really solid docs
246dnl on what librt is and how it fits into various Unix systems.
247dnl My best guess is that it is where glibc stashes its implementation
248dnl of the POSIX Real-Time Extensions. This seems necessary on Linux,
249dnl and we haven't yet found a system where this is a problem.
250AC_CHECK_LIB(rt, clock_gettime)
David Reiss9b903442009-10-21 05:51:28 +0000251AC_CHECK_LIB(socket, setsockopt)
David Reiss832b2622007-12-28 18:25:33 +0000252
253AC_TYPE_INT16_T
254AC_TYPE_INT32_T
255AC_TYPE_INT64_T
256AC_TYPE_INT8_T
257AC_TYPE_MODE_T
258AC_TYPE_OFF_T
259AC_TYPE_SIZE_T
David Reiss847a2942008-04-21 18:07:43 +0000260AC_TYPE_SSIZE_T
David Reiss832b2622007-12-28 18:25:33 +0000261AC_TYPE_UINT16_T
262AC_TYPE_UINT32_T
263AC_TYPE_UINT64_T
264AC_TYPE_UINT8_T
David Reiss33fc5ad2008-05-09 07:17:34 +0000265AC_CHECK_TYPES([ptrdiff_t], [], [exit 1])
David Reiss832b2622007-12-28 18:25:33 +0000266
David Reiss7ed4b982008-02-11 23:24:47 +0000267AC_STRUCT_TM
268
David Reiss85a8f7b2009-05-21 02:28:16 +0000269dnl NOTE(dreiss): AI_ADDRCONFIG is not defined on OpenBSD.
270AC_CHECK_DECL([AI_ADDRCONFIG], [],
271 [AC_DEFINE([AI_ADDRCONFIG], 0,
272 [Define if the AI_ADDRCONFIG symbol is unavailable])],
273 [
274 #include <sys/types.h>
275 #include <sys/socket.h>
276 #include <netdb.h>
277])
278
David Reiss832b2622007-12-28 18:25:33 +0000279AC_FUNC_ALLOCA
280AC_FUNC_MALLOC
David Reiss7ed4b982008-02-11 23:24:47 +0000281AC_FUNC_MEMCMP
David Reiss832b2622007-12-28 18:25:33 +0000282AC_FUNC_REALLOC
283AC_FUNC_SELECT_ARGTYPES
284AC_FUNC_STAT
285AC_FUNC_STRERROR_R
David Reiss7ed4b982008-02-11 23:24:47 +0000286AC_FUNC_STRFTIME
David Reiss832b2622007-12-28 18:25:33 +0000287AC_FUNC_VPRINTF
288AC_CHECK_FUNCS([strtoul])
289AC_CHECK_FUNCS([bzero])
David Reiss7ed4b982008-02-11 23:24:47 +0000290AC_CHECK_FUNCS([ftruncate])
David Reiss832b2622007-12-28 18:25:33 +0000291AC_CHECK_FUNCS([gethostbyname])
292AC_CHECK_FUNCS([gettimeofday])
293AC_CHECK_FUNCS([memmove])
294AC_CHECK_FUNCS([memset])
295AC_CHECK_FUNCS([mkdir])
296AC_CHECK_FUNCS([realpath])
297AC_CHECK_FUNCS([select])
298AC_CHECK_FUNCS([socket])
299AC_CHECK_FUNCS([strchr])
300AC_CHECK_FUNCS([strdup])
David Reiss7ed4b982008-02-11 23:24:47 +0000301AC_CHECK_FUNCS([strerror])
David Reiss832b2622007-12-28 18:25:33 +0000302AC_CHECK_FUNCS([strstr])
303AC_CHECK_FUNCS([strtol])
304AC_CHECK_FUNCS([sqrt])
David Reisse4ca1792009-05-21 02:28:19 +0000305dnl The following functions are optional.
306AC_CHECK_FUNCS([clock_gettime])
307AC_CHECK_FUNCS([sched_get_priority_min])
308AC_CHECK_FUNCS([sched_get_priority_max])
David Reiss832b2622007-12-28 18:25:33 +0000309
David Reiss79db3e12010-08-31 16:51:31 +0000310if test "$cross_compiling" = "no" ; then
311 AX_SIGNED_RIGHT_SHIFT
312fi
David Reisse4d4ea02009-04-02 21:37:17 +0000313
David Reiss5ddabb82010-10-06 17:09:37 +0000314dnl autoscan thinks we need this macro because we have a member function
315dnl called "error". Invoke the macro but don't run the check so autoscan
316dnl thinks we are in the clear. It's highly unlikely that we will ever
317dnl actually use the function that this checks for.
318if false ; then
319 AC_FUNC_ERROR_AT_LINE
320fi
321
David Reiss22585732008-02-27 01:55:33 +0000322AX_THRIFT_GEN(cpp, [C++], yes)
323AM_CONDITIONAL([THRIFT_GEN_cpp], [test "$ax_thrift_gen_cpp" = "yes"])
David Reisse8a87de2008-02-27 02:39:25 +0000324AX_THRIFT_GEN(java, [Java], yes)
325AM_CONDITIONAL([THRIFT_GEN_java], [test "$ax_thrift_gen_java" = "yes"])
Bryan Duxbury321eb7a2010-04-22 21:17:39 +0000326AX_THRIFT_GEN(as3, [AS3], yes)
327AM_CONDITIONAL([THRIFT_GEN_as3], [test "$ax_thrift_gen_as3" = "yes"])
David Reissce4f4f02008-03-27 21:41:31 +0000328AX_THRIFT_GEN(csharp, [C#], yes)
329AM_CONDITIONAL([THRIFT_GEN_csharp], [test "$ax_thrift_gen_csharp" = "yes"])
David Reissbfd26dc2008-03-27 21:41:49 +0000330AX_THRIFT_GEN(py, [Python], yes)
331AM_CONDITIONAL([THRIFT_GEN_py], [test "$ax_thrift_gen_py" = "yes"])
David Reissae253582008-03-27 21:42:11 +0000332AX_THRIFT_GEN(rb, [Ruby], yes)
333AM_CONDITIONAL([THRIFT_GEN_rb], [test "$ax_thrift_gen_rb" = "yes"])
David Reissfdc21aa2008-03-27 21:42:34 +0000334AX_THRIFT_GEN(perl, [Perl], yes)
335AM_CONDITIONAL([THRIFT_GEN_perl], [test "$ax_thrift_gen_perl" = "yes"])
David Reiss32272d92009-02-17 20:28:30 +0000336AX_THRIFT_GEN(php, [PHP], yes)
337AM_CONDITIONAL([THRIFT_GEN_php], [test "$ax_thrift_gen_php" = "yes"])
David Reissf3b0db32009-02-17 20:28:01 +0000338AX_THRIFT_GEN(erl, [Erlang], yes)
339AM_CONDITIONAL([THRIFT_GEN_erl], [test "$ax_thrift_gen_erl" = "yes"])
David Reiss4b349aa2008-03-27 21:41:02 +0000340AX_THRIFT_GEN(cocoa, [Cocoa], yes)
341AM_CONDITIONAL([THRIFT_GEN_cocoa], [test "$ax_thrift_gen_cocoa" = "yes"])
David Reissb3ac8a62008-03-27 21:40:42 +0000342AX_THRIFT_GEN(st, [Smalltalk], yes)
343AM_CONDITIONAL([THRIFT_GEN_st], [test "$ax_thrift_gen_st" = "yes"])
David Reiss3d671b52008-03-27 21:40:11 +0000344AX_THRIFT_GEN(ocaml, [OCaml], yes)
345AM_CONDITIONAL([THRIFT_GEN_ocaml], [test "$ax_thrift_gen_ocaml" = "yes"])
David Reiss22812f82008-03-27 21:40:26 +0000346AX_THRIFT_GEN(hs, [Haskell], yes)
347AM_CONDITIONAL([THRIFT_GEN_hs], [test "$ax_thrift_gen_hs" = "yes"])
David Reiss782cb672009-02-17 20:28:13 +0000348AX_THRIFT_GEN(xsd, [XSD], yes)
349AM_CONDITIONAL([THRIFT_GEN_xsd], [test "$ax_thrift_gen_xsd" = "yes"])
David Reissdc0aada2008-10-21 00:09:23 +0000350AX_THRIFT_GEN(html, [HTML], yes)
351AM_CONDITIONAL([THRIFT_GEN_html], [test "$ax_thrift_gen_html" = "yes"])
T Jake Luciani322caa22010-02-15 03:24:55 +0000352AX_THRIFT_GEN(js, [JavaScript], yes)
353AM_CONDITIONAL([THRIFT_GEN_js], [test "$ax_thrift_gen_js" = "yes"])
Bryan Duxbury1237dcb2010-09-20 17:49:09 +0000354AX_THRIFT_GEN(javame, [JavaME], yes)
355AM_CONDITIONAL([THRIFT_GEN_javame], [test "$ax_thrift_gen_javame" = "yes"])
David Reiss22585732008-02-27 01:55:33 +0000356
David Reiss832b2622007-12-28 18:25:33 +0000357AC_CONFIG_HEADERS(config.h:config.hin)
358
359AC_CONFIG_FILES([
360 Makefile
361 compiler/cpp/Makefile
Bryan Duxburya1e268c2010-05-03 21:33:00 +0000362 compiler/cpp/version.h
David Reiss832b2622007-12-28 18:25:33 +0000363 lib/Makefile
364 lib/cpp/Makefile
David Reiss351e22b2010-08-31 16:51:19 +0000365 lib/cpp/test/Makefile
David Reiss832b2622007-12-28 18:25:33 +0000366 lib/cpp/thrift-nb.pc
367 lib/cpp/thrift-z.pc
Bryan Duxburyc6574472010-10-06 00:12:33 +0000368 lib/cpp/thrift.pc
David Reiss1fdb5922008-02-06 22:10:12 +0000369 lib/csharp/Makefile
Bryan Duxbury7173bd92010-05-02 22:54:22 +0000370 lib/erl/Makefile
Anthony F. Molinaroef164202010-09-07 03:35:30 +0000371 lib/erl/src/Makefile
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000372 lib/hs/Makefile
David Reissf8dcf032008-02-23 22:07:39 +0000373 lib/java/Makefile
T Jake Luciani1952e542009-02-01 04:47:30 +0000374 lib/perl/Makefile
375 lib/perl/test/Makefile
Bryan Duxbury6a681872010-05-02 22:39:31 +0000376 lib/php/Makefile
David Reiss832b2622007-12-28 18:25:33 +0000377 lib/py/Makefile
Kevin Clark4bd89162008-07-08 00:47:49 +0000378 lib/rb/Makefile
David Reiss8180c0c2008-02-04 21:14:14 +0000379 test/Makefile
Bryan Duxburyc6574472010-10-06 00:12:33 +0000380 test/hs/Makefile
David Reiss9ff3b9d2008-02-15 01:10:23 +0000381 test/py/Makefile
Kevin Clark4bd89162008-07-08 00:47:49 +0000382 test/rb/Makefile
David Reiss832b2622007-12-28 18:25:33 +0000383])
Marc Slemkob09f5882006-08-23 22:03:34 +0000384
385AC_OUTPUT
David Reiss5cc3ba82010-08-31 16:51:20 +0000386
387
388echo
389echo "$PACKAGE $VERSION"
390echo
391echo "Building code generators ..... :$thrift_generators"
392echo
David Reissea4c9812010-08-31 16:51:21 +0000393echo "Building C++ Library ......... : $have_cpp"
David Reiss5cc3ba82010-08-31 16:51:20 +0000394echo "Building Java Library ........ : $have_java"
395echo "Building C# Library .......... : $have_csharp"
396echo "Building Python Library ...... : $have_python"
397echo "Building Ruby Library ........ : $have_ruby"
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000398echo "Building Haskell Library ..... : $have_haskell"
David Reiss5cc3ba82010-08-31 16:51:20 +0000399echo "Building Perl Library ........ : $have_perl"
400echo "Building PHP Library ......... : $have_php"
401echo "Building Erlang Library ...... : $have_erlang"
402if test "$have_cpp" = "yes" ; then
403 echo
404 echo "Building TZlibTransport ...... : $have_zlib"
405 echo "Building TNonblockingServer .. : $have_libevent"
406fi
407if test "$have_java" = "yes" ; then
408 echo
409 echo "Using javac .................. : $JAVAC"
410 echo "Using java ................... : $JAVA"
411 echo "Using ant .................... : $ANT"
412fi
413if test "$have_csharp" = "yes" ; then
414 echo
415 echo "Using .NET 3.5 ............... : $net_3_5"
416fi
417if test "$have_python" = "yes" ; then
418 echo
419 echo "Using Python ................. : $PYTHON"
420fi
Anthony F. Molinaroddcf32a2010-10-05 16:45:50 +0000421if test "$have_php" = "yes" ; then
422 echo
423 echo "Using php-config ............. : $PHP_CONFIG"
424fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000425if test "$have_ruby" = "yes" ; then
426 echo
427 echo "Using Ruby ................... : $RUBY"
428 echo "Using rspec .................. : $RSPEC"
429fi
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000430if test "$have_haskell" = "yes" ; then
431 echo
432 echo "Using Haskell ................ : $RUNHASKELL"
Bryan Duxburyc6574472010-10-06 00:12:33 +0000433 echo "Using Cabal .................. : $CABAL"
Anthony F. Molinaroa5df7c72010-09-27 17:22:17 +0000434fi
David Reiss5cc3ba82010-08-31 16:51:20 +0000435if test "$have_perl" = "yes" ; then
436 echo
437 echo "Using Perl ................... : $PERL"
438fi
439if test "$have_erlang" = "yes" ; then
440 echo
441 echo "Using erlc ................... : $ERLC"
442fi
443echo
444echo "If something is missing that you think should be present,"
445echo "please skim the output of configure to find the missing"
446echo "component. Details are present in config.log."