From: Anthony F. Molinaro Date: Mon, 27 Sep 2010 17:22:17 +0000 (+0000) Subject: THRIFT-905: hook haskell into autoconf X-Git-Tag: 0.5.0~19 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=a5df7c7b0ef66819f56039f95f6d8b40a3197d8d;p=common%2Fthrift.git THRIFT-905: hook haskell into autoconf git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001823 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/configure.ac b/configure.ac index 656193b3..28c21238 100644 --- a/configure.ac +++ b/configure.ac @@ -61,6 +61,12 @@ AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules. Default = "/usr/local/lib"]) AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"]) +AC_ARG_VAR([CABAL_CONFIGURE_FLAGS], + [Extra flags to pass to cabal: "cabal Setup.lhs configure $CABAL_CONFIGURE_FLAGS". + (Typically used to set --user or force --global.)]) + +AC_SUBST(CABAL_CONFIGURE_FLAGS) + AC_PROG_CC AC_PROG_CPP AC_PROG_CXX @@ -191,6 +197,19 @@ fi AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"]) AM_CONDITIONAL(HAVE_RSPEC, [test "x$RSPEC" != "x"]) +AX_THRIFT_LIB(haskell, [Haskell], yes) +have_haskell=no +RUNHASKELL=true +if test "$with_haskell" = "yes"; then + AC_PATH_PROG([RUNHASKELL], [runhaskell]) + if test "x$RUNHASKELL" != "x"; then + have_haskell="yes" + else + RUNHASKELL=true + fi +fi +AC_SUBST(RUNHASKELL) +AM_CONDITIONAL(WITH_HASKELL, [test "$have_haskell" = "yes"]) AC_C_CONST AC_C_INLINE @@ -335,6 +354,7 @@ AC_CONFIG_FILES([ lib/csharp/Makefile lib/erl/Makefile lib/erl/src/Makefile + lib/hs/Makefile lib/java/Makefile lib/perl/Makefile lib/perl/test/Makefile @@ -359,6 +379,7 @@ echo "Building Java Library ........ : $have_java" echo "Building C# Library .......... : $have_csharp" echo "Building Python Library ...... : $have_python" echo "Building Ruby Library ........ : $have_ruby" +echo "Building Haskell Library ..... : $have_haskell" echo "Building Perl Library ........ : $have_perl" echo "Building PHP Library ......... : $have_php" echo "Building Erlang Library ...... : $have_erlang" @@ -386,6 +407,10 @@ if test "$have_ruby" = "yes" ; then echo "Using Ruby ................... : $RUBY" echo "Using rspec .................. : $RSPEC" fi +if test "$have_haskell" = "yes" ; then + echo + echo "Using Haskell ................ : $RUNHASKELL" +fi if test "$have_perl" = "yes" ; then echo echo "Using Perl ................... : $PERL" diff --git a/lib/Makefile.am b/lib/Makefile.am index 56c4e975..3c95f241 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -43,6 +43,10 @@ if WITH_RUBY SUBDIRS += rb endif +if WITH_HASKELL +SUBDIRS += hs +endif + if WITH_PERL SUBDIRS += perl endif @@ -55,7 +59,6 @@ endif # so they will end up in our release tarballs. EXTRA_DIST = \ cocoa \ - hs \ ocaml \ php \ erl \ diff --git a/lib/hs/Makefile.am b/lib/hs/Makefile.am new file mode 100644 index 00000000..4c4208d1 --- /dev/null +++ b/lib/hs/Makefile.am @@ -0,0 +1,39 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +EXTRA_DIST = \ + README \ + Setup.lhs \ + TODO \ + Thrift.cabal \ + src + +all-local: + $(RUNHASKELL) Setup.lhs configure $(CABAL_CONFIGURE_FLAGS) + $(RUNHASKELL) Setup.lhs build + +install-exec-hook: + $(RUNHASKELL) Setup.lhs install + +# Make sure this doesn't fail if Haskell is not configured. +clean-local: + $(RUNHASKELL) Setup.lhs clean + +maintainer-clean-local: + $(RUNHASKELL) Setup.lhs clean