summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony F. Molinaro <molinaro@apache.org>2010-09-27 17:22:17 +0000
committerAnthony F. Molinaro <molinaro@apache.org>2010-09-27 17:22:17 +0000
commita5df7c7b0ef66819f56039f95f6d8b40a3197d8d (patch)
treea4f6ff9e950746e1c53941fe1411c985d7a3f557
parent3a3686fd51aaed9153a2d3f7299785753ba8e315 (diff)
downloadthrift-a5df7c7b0ef66819f56039f95f6d8b40a3197d8d.tar.gz
THRIFT-905: hook haskell into autoconf
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001823 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--configure.ac25
-rw-r--r--lib/Makefile.am5
-rw-r--r--lib/hs/Makefile.am39
3 files changed, 68 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 656193b31..28c21238f 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 56c4e975d..3c95f2418 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 000000000..4c4208d18
--- /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