You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
270 lines
10 KiB
270 lines
10 KiB
12 years ago
|
diff --git a/configure.ac b/configure.ac
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -187,14 +187,26 @@ AC_CHECK_FUNC([open_memstream])
|
||
|
AM_CONDITIONAL([HAVE_HIVEXSH],[test "x$ac_cv_func_open_memstream" = "xyes"])
|
||
|
|
||
|
dnl Check for OCaml (optional, for OCaml bindings).
|
||
|
-AC_PROG_OCAML
|
||
|
-AC_PROG_FINDLIB
|
||
|
+OCAMLC=no
|
||
|
+OCAMLFIND=no
|
||
|
+AC_ARG_ENABLE([ocaml],
|
||
|
+ AS_HELP_STRING([--disable-ocaml], [Disable OCaml language bindings]),
|
||
|
+ [],
|
||
|
+ [enable_ocaml=yes])
|
||
|
+AS_IF([test "x$enable_ocaml" != "xno"],
|
||
|
+ [dnl OCAMLC and OCAMLFIND have to be unset first, otherwise
|
||
|
+ dnl AC_CHECK_TOOL (inside AC_PROG_OCAML) will not look.
|
||
|
+ OCAMLC=
|
||
|
+ OCAMLFIND=
|
||
|
+ AC_PROG_OCAML
|
||
|
+ AC_PROG_FINDLIB
|
||
|
+ ])
|
||
|
AM_CONDITIONAL([HAVE_OCAML],
|
||
|
- [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||
|
+ [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||
|
AM_CONDITIONAL([HAVE_OCAMLOPT],
|
||
|
- [test "x$OCAMLOPT" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||
|
+ [test "x$OCAMLOPT" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||
|
|
||
|
-if test "x$OCAMLC" != "xno"; then
|
||
|
+if test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"; then
|
||
|
dnl Check if we have caml/unixsupport.h header (OCaml bindings only).
|
||
|
old_CFLAGS="$CFLAGS"
|
||
|
CFLAGS="$CFLAGS -I$OCAMLLIB"
|
||
|
@@ -223,28 +235,32 @@ if test "x$OCAMLC" != "xno"; then
|
||
|
rm -f conftest conftest.* conftest_ml.*
|
||
|
fi
|
||
|
|
||
|
-dnl Check for Perl (optional, for Perl bindings).
|
||
|
-dnl XXX This isn't quite right, we should check for Perl devel library.
|
||
|
+dnl Check for Perl (optional, for Perl bindings and Perl tools).
|
||
|
AC_CHECK_PROG([PERL],[perl],[perl],[no])
|
||
|
|
||
|
-dnl Check for Perl modules that must be present to compile and
|
||
|
-dnl test the Perl bindings.
|
||
|
-missing_perl_modules=no
|
||
|
-for pm in Test::More ExtUtils::MakeMaker IO::Stringy; do
|
||
|
- AC_MSG_CHECKING([for $pm])
|
||
|
- if ! perl -M$pm -e1 >/dev/null 2>&1; then
|
||
|
- AC_MSG_RESULT([no])
|
||
|
- missing_perl_modules=yes
|
||
|
- else
|
||
|
- AC_MSG_RESULT([yes])
|
||
|
- fi
|
||
|
-done
|
||
|
-if test "x$missing_perl_modules" = "xyes"; then
|
||
|
- AC_MSG_WARN([some Perl modules required to compile or test the Perl bindings are missing])
|
||
|
-fi
|
||
|
-
|
||
|
+AC_ARG_ENABLE([perl],
|
||
|
+ AS_HELP_STRING([--disable-perl], [Disable Perl language bindings]),
|
||
|
+ [],
|
||
|
+ [enable_perl=yes])
|
||
|
+AS_IF([test "x$enable_perl" != "xno"],[
|
||
|
+ dnl Check for Perl modules that must be present to compile and
|
||
|
+ dnl test the Perl bindings.
|
||
|
+ missing_perl_modules=no
|
||
|
+ for pm in Test::More ExtUtils::MakeMaker IO::Stringy; do
|
||
|
+ AC_MSG_CHECKING([for $pm])
|
||
|
+ if ! $PERL -M$pm -e1 >/dev/null 2>&1; then
|
||
|
+ AC_MSG_RESULT([no])
|
||
|
+ missing_perl_modules=yes
|
||
|
+ else
|
||
|
+ AC_MSG_RESULT([yes])
|
||
|
+ fi
|
||
|
+ done
|
||
|
+ if test "x$missing_perl_modules" = "xyes"; then
|
||
|
+ AC_MSG_WARN([some Perl modules required to compile or test the Perl bindings are missing])
|
||
|
+ fi
|
||
|
+ ])
|
||
|
AM_CONDITIONAL([HAVE_PERL],
|
||
|
- [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])
|
||
|
+ [test "x$enable_perl" != "xno" && test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])
|
||
|
|
||
|
dnl Check for Python (optional, for Python bindings).
|
||
|
PYTHON_PREFIX=
|
||
|
@@ -252,85 +268,111 @@ PYTHON_VERSION=
|
||
|
PYTHON_INCLUDEDIR=
|
||
|
PYTHON_INSTALLDIR=
|
||
|
|
||
|
-AC_CHECK_PROG([PYTHON],[python],[python],[no])
|
||
|
-
|
||
|
-if test "x$PYTHON" != "xno"; then
|
||
|
- AC_MSG_CHECKING([Python prefix])
|
||
|
- PYTHON_PREFIX=`$PYTHON -c "import sys; print (sys.prefix)"`
|
||
|
- AC_MSG_RESULT([$PYTHON_PREFIX])
|
||
|
-
|
||
|
- AC_MSG_CHECKING([Python version])
|
||
|
- PYTHON_VERSION_MAJOR=`$PYTHON -c "import sys; print (sys.version_info@<:@0@:>@)"`
|
||
|
- PYTHON_VERSION_MINOR=`$PYTHON -c "import sys; print (sys.version_info@<:@1@:>@)"`
|
||
|
- PYTHON_VERSION="$PYTHON_VERSION_MAJOR.$PYTHON_VERSION_MINOR"
|
||
|
- AC_MSG_RESULT([$PYTHON_VERSION])
|
||
|
-
|
||
|
- AC_MSG_CHECKING([for Python include path])
|
||
|
- if test -z "$PYTHON_INCLUDEDIR"; then
|
||
|
- python_path=`$PYTHON -c "import distutils.sysconfig; \
|
||
|
- print (distutils.sysconfig.get_python_inc ());"`
|
||
|
- PYTHON_INCLUDEDIR=$python_path
|
||
|
- fi
|
||
|
- AC_MSG_RESULT([$PYTHON_INCLUDEDIR])
|
||
|
-
|
||
|
- AC_ARG_WITH([python-installdir],
|
||
|
- [AS_HELP_STRING([--with-python-installdir],
|
||
|
- [directory to install python modules @<:@default=check@:>@])],
|
||
|
- [PYTHON_INSTALLDIR="$withval"
|
||
|
- AC_MSG_NOTICE([Python install dir $PYTHON_INSTALLDIR])],
|
||
|
- [PYTHON_INSTALLDIR=check])
|
||
|
-
|
||
|
- if test "x$PYTHON_INSTALLDIR" = "xcheck"; then
|
||
|
- PYTHON_INSTALLDIR=
|
||
|
- AC_MSG_CHECKING([for Python site-packages path])
|
||
|
- if test -z "$PYTHON_INSTALLDIR"; then
|
||
|
- PYTHON_INSTALLDIR=`$PYTHON -c "import distutils.sysconfig; \
|
||
|
- print (distutils.sysconfig.get_python_lib(1,0));"`
|
||
|
+AC_ARG_ENABLE([python],
|
||
|
+ AS_HELP_STRING([--disable-python], [Disable Python language bindings]),
|
||
|
+ [],
|
||
|
+ [enable_python=yes])
|
||
|
+AS_IF([test "x$enable_python" != "xno"],
|
||
|
+ [
|
||
|
+ AC_CHECK_PROG([PYTHON],[python],[python],[no])
|
||
|
+
|
||
|
+ if test "x$PYTHON" != "xno"; then
|
||
|
+ AC_MSG_CHECKING([Python prefix])
|
||
|
+ PYTHON_PREFIX=`$PYTHON -c "import sys; print (sys.prefix)"`
|
||
|
+ AC_MSG_RESULT([$PYTHON_PREFIX])
|
||
|
+
|
||
|
+ AC_MSG_CHECKING([Python version])
|
||
|
+ PYTHON_VERSION_MAJOR=`$PYTHON -c "import sys; print (sys.version_info@<:@0@:>@)"`
|
||
|
+ PYTHON_VERSION_MINOR=`$PYTHON -c "import sys; print (sys.version_info@<:@1@:>@)"`
|
||
|
+ PYTHON_VERSION="$PYTHON_VERSION_MAJOR.$PYTHON_VERSION_MINOR"
|
||
|
+ AC_MSG_RESULT([$PYTHON_VERSION])
|
||
|
+
|
||
|
+ AC_MSG_CHECKING([for Python include path])
|
||
|
+ if test -z "$PYTHON_INCLUDEDIR"; then
|
||
|
+ python_path=`$PYTHON -c "import distutils.sysconfig; \
|
||
|
+ print (distutils.sysconfig.get_python_inc ());"`
|
||
|
+ PYTHON_INCLUDEDIR=$python_path
|
||
|
+ fi
|
||
|
+ AC_MSG_RESULT([$PYTHON_INCLUDEDIR])
|
||
|
+
|
||
|
+ AC_ARG_WITH([python-installdir],
|
||
|
+ [AS_HELP_STRING([--with-python-installdir],
|
||
|
+ [directory to install python modules @<:@default=check@:>@])],
|
||
|
+ [PYTHON_INSTALLDIR="$withval"
|
||
|
+ AC_MSG_NOTICE([Python install dir $PYTHON_INSTALLDIR])],
|
||
|
+ [PYTHON_INSTALLDIR=check])
|
||
|
+
|
||
|
+ if test "x$PYTHON_INSTALLDIR" = "xcheck"; then
|
||
|
+ PYTHON_INSTALLDIR=
|
||
|
+ AC_MSG_CHECKING([for Python site-packages path])
|
||
|
+ if test -z "$PYTHON_INSTALLDIR"; then
|
||
|
+ PYTHON_INSTALLDIR=`$PYTHON -c "import distutils.sysconfig; \
|
||
|
+ print (distutils.sysconfig.get_python_lib(1,0));"`
|
||
|
+ fi
|
||
|
+ AC_MSG_RESULT([$PYTHON_INSTALLDIR])
|
||
|
+ fi
|
||
|
+
|
||
|
+ dnl Look for some optional symbols in libpython.
|
||
|
+ old_LIBS="$LIBS"
|
||
|
+
|
||
|
+ PYTHON_BLDLIBRARY=`$PYTHON -c "import distutils.sysconfig; \
|
||
|
+ print (distutils.sysconfig.get_config_var('BLDLIBRARY'))"`
|
||
|
+ AC_CHECK_LIB([c],[PyCapsule_New],
|
||
|
+ [AC_DEFINE([HAVE_PYCAPSULE_NEW],1,
|
||
|
+ [Found PyCapsule_New in libpython])],
|
||
|
+ [],[$PYTHON_BLDLIBRARY])
|
||
|
+ AC_CHECK_LIB([c],[PyString_AsString],
|
||
|
+ [AC_DEFINE([HAVE_PYSTRING_ASSTRING],1,
|
||
|
+ [Found PyString_AsString in libpython])],
|
||
|
+ [],[$PYTHON_BLDLIBRARY])
|
||
|
+
|
||
|
+ LIBS="$old_LIBS"
|
||
|
fi
|
||
|
- AC_MSG_RESULT([$PYTHON_INSTALLDIR])
|
||
|
- fi
|
||
|
-
|
||
|
- dnl Look for libpython and some optional symbols in it.
|
||
|
- old_LIBS="$LIBS"
|
||
|
- if test "x$PYTHON_VERSION_MAJOR" = "x3"; then
|
||
|
- dnl libpython3 is called "libpython3.Xmu.so"
|
||
|
- LIBPYTHON="python${PYTHON_VERSION}mu"
|
||
|
- else
|
||
|
- LIBPYTHON="python$PYTHON_VERSION"
|
||
|
- fi
|
||
|
- AC_CHECK_LIB([$LIBPYTHON], [PyList_Size], [],
|
||
|
- [AC_MSG_FAILURE([$LIBPYTHON is not installed])])
|
||
|
-
|
||
|
- AC_CHECK_FUNCS([PyCapsule_New \
|
||
|
- PyString_AsString])
|
||
|
- LIBS="$old_LIBS"
|
||
|
-fi
|
||
|
-
|
||
|
-AC_SUBST(PYTHON_PREFIX)
|
||
|
-AC_SUBST(PYTHON_VERSION)
|
||
|
-AC_SUBST(PYTHON_INCLUDEDIR)
|
||
|
-AC_SUBST(PYTHON_INSTALLDIR)
|
||
|
|
||
|
+ AC_SUBST(PYTHON_PREFIX)
|
||
|
+ AC_SUBST(PYTHON_VERSION)
|
||
|
+ AC_SUBST(PYTHON_INCLUDEDIR)
|
||
|
+ AC_SUBST(PYTHON_INSTALLDIR)
|
||
|
+ ])
|
||
|
AM_CONDITIONAL([HAVE_PYTHON],
|
||
|
[test "x$PYTHON" != "xno" && test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_INSTALLDIR" != "x"])
|
||
|
|
||
|
dnl Check for Ruby and rake (optional, for Ruby bindings).
|
||
|
AC_ARG_ENABLE([ruby],
|
||
|
- AS_HELP_STRING([--disable-ruby], [Disable Ruby language bindings]),
|
||
|
- [],
|
||
|
- [enable_ruby=yes])
|
||
|
-AS_IF([test "x$enable_ruby" != "xno"],
|
||
|
- [
|
||
|
- AC_CHECK_PROG([RUBY],[ruby],[ruby],[no])
|
||
|
- AC_CHECK_PROG([RAKE],[rake],[rake],[no])
|
||
|
- AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
|
||
|
- AC_SUBST(RAKE)
|
||
|
+ AS_HELP_STRING([--disable-ruby], [Disable Ruby language bindings]),
|
||
|
+ [],
|
||
|
+ [enable_ruby=yes])
|
||
|
+AS_IF([test "x$enable_ruby" != "xno"],[
|
||
|
+ AC_CHECK_PROG([RUBY],[ruby],[ruby],[no])
|
||
|
+ AC_CHECK_PROG([RAKE],[rake],[rake],[no])
|
||
|
+
|
||
|
+ AS_IF([test -n "$RUBY" && test -n "$RAKE"],[
|
||
|
+ dnl Find the library. Note on Debian it's not -lruby.
|
||
|
+ AC_MSG_CHECKING([for C library for Ruby extensions])
|
||
|
+ ruby_cmd='puts RbConfig::CONFIG@<:@"RUBY_SO_NAME"@:>@'
|
||
|
+ echo running: $RUBY -rrbconfig -e \'$ruby_cmd\' >&AS_MESSAGE_LOG_FD
|
||
|
+ $RUBY -rrbconfig -e "$ruby_cmd" >conftest 2>&AS_MESSAGE_LOG_FD
|
||
|
+ libruby="$(cat conftest)"
|
||
|
+ rm conftest
|
||
|
+ AS_IF([test -n "$libruby"],[
|
||
|
+ AC_MSG_RESULT([-l$libruby])
|
||
|
+ AC_CHECK_LIB([$libruby],[ruby_init],
|
||
|
+ [have_libruby=1],[have_libruby=])
|
||
|
+
|
||
|
+ dnl Symbols that we substitute when missing.
|
||
|
+ AS_IF([test -n "$have_libruby"],[
|
||
|
+ old_LIBS="$LIBS"
|
||
|
+ LIBS="$LIBS -l$libruby"
|
||
|
+ AC_CHECK_FUNCS([rb_hash_lookup])
|
||
|
+ LIBS="$old_LIBS"
|
||
|
+ ])
|
||
|
+ ],[
|
||
|
+ AC_MSG_RESULT([not found])
|
||
|
])
|
||
|
+ ])
|
||
|
+])
|
||
|
AM_CONDITIONAL([HAVE_RUBY],
|
||
|
- [test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])
|
||
|
-
|
||
|
-AM_CONDITIONAL([HAVE_RUBY],
|
||
|
- [test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])
|
||
|
+ [test -n "$RUBY" && test -n "$RAKE" && test -n "$have_libruby"])
|
||
|
|
||
|
dnl dnl Check for Java.
|
||
|
dnl AC_ARG_WITH(java_home,
|