Prevent warning about unused variable in test.
[hivex.git] / configure.ac
index 62613ed..fc11b07 100644 (file)
@@ -1,5 +1,5 @@
 # hivex
 # hivex
-# Copyright (C) 2009-2010 Red Hat Inc.
+# Copyright (C) 2009-2011 Red Hat Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
 
 # major/minor/release must be numbers
 m4_define([hivex_major],   [1])
 
 # major/minor/release must be numbers
 m4_define([hivex_major],   [1])
-m4_define([hivex_minor],   [0])
-m4_define([hivex_release], [75])
+m4_define([hivex_minor],   [3])
+m4_define([hivex_release], [0])
 # extra can be any string
 m4_define([hivex_extra],   [])
 
 # extra can be any string
 m4_define([hivex_extra],   [])
 
@@ -40,7 +40,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA],["hivex_extra"],[Extra version string])
 gl_EARLY
 gl_INIT
 
 gl_EARLY
 gl_INIT
 
-AC_PROG_LIBTOOL
+AM_PROG_LIBTOOL
 
 dnl Check for basic C environment.
 AC_PROG_CC_STDC
 
 dnl Check for basic C environment.
 AC_PROG_CC_STDC
@@ -87,6 +87,8 @@ if test "$gl_gcc_warnings" = yes; then
   nw="$nw -Wunsafe-loop-optimizations" # just a warning that an optimization
                                     # was not possible, safe to ignore
   nw="$nw -Wpacked"                 # Allow attribute((packed)) on structs
   nw="$nw -Wunsafe-loop-optimizations" # just a warning that an optimization
                                     # was not possible, safe to ignore
   nw="$nw -Wpacked"                 # Allow attribute((packed)) on structs
+  nw="$nw -Wlong-long"              # Allow long long since it's required
+                                    # by xstrtoll.
 
   gl_MANYWARN_ALL_GCC([ws])
   gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
 
   gl_MANYWARN_ALL_GCC([ws])
   gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
@@ -116,6 +118,12 @@ test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
 
 AM_PROG_CC_C_O
 
 
 AM_PROG_CC_C_O
 
+dnl Work out how to specify the linker script to the linker.
+VERSION_SCRIPT_FLAGS=-Wl,--version-script=
+`/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null` || \
+    VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
+AC_SUBST(VERSION_SCRIPT_FLAGS)
+
 dnl Check support for 64 bit file offsets.
 AC_SYS_LARGEFILE
 
 dnl Check support for 64 bit file offsets.
 AC_SYS_LARGEFILE
 
@@ -143,7 +151,7 @@ AC_ARG_WITH([readline],
 LIBREADLINE=
 AS_IF([test "x$with_readline" != xno],
     [AC_CHECK_LIB([readline], [main],
 LIBREADLINE=
 AS_IF([test "x$with_readline" != xno],
     [AC_CHECK_LIB([readline], [main],
-        [AC_SUBST([LIBREADLINE], ["-lreadline -lncurses"])
+        [AC_SUBST([LIBREADLINE], ["-lreadline"])
          AC_DEFINE([HAVE_LIBREADLINE], [1],
                    [Define if you have libreadline])
         ],
          AC_DEFINE([HAVE_LIBREADLINE], [1],
                    [Define if you have libreadline])
         ],
@@ -151,7 +159,7 @@ AS_IF([test "x$with_readline" != xno],
          AC_MSG_FAILURE(
              [--with-readline was given, but test for readline failed])
          fi
          AC_MSG_FAILURE(
              [--with-readline was given, but test for readline failed])
          fi
-        ], -lncurses)])
+        ])])
 
 dnl For i18n.
 AM_GNU_GETTEXT([external])
 
 dnl For i18n.
 AM_GNU_GETTEXT([external])
@@ -165,7 +173,39 @@ AC_SUBST([LIBXML2_LIBS])
 dnl Check for OCaml (optional, for OCaml bindings).
 AC_PROG_OCAML
 AC_PROG_FINDLIB
 dnl Check for OCaml (optional, for OCaml bindings).
 AC_PROG_OCAML
 AC_PROG_FINDLIB
-AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" -a "x$OCAMLFIND" != "xno"])
+AM_CONDITIONAL([HAVE_OCAML],
+    [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
+AM_CONDITIONAL([HAVE_OCAMLOPT],
+    [test "x$OCAMLOPT" != "xno" && test "x$OCAMLFIND" != "xno"])
+
+if test "x$OCAMLC" != "xno"; then
+    dnl Check if we have caml/unixsupport.h header (OCaml bindings only).
+    old_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS -I$OCAMLLIB"
+    AC_CHECK_HEADERS([caml/unixsupport.h],[],[],
+    [
+    #include <caml/config.h>
+    #include <caml/mlvalues.h>
+    ])
+    CFLAGS="$old_CFLAGS"
+
+    dnl Do we have function caml_raise_with_args?
+    f=caml_raise_with_args
+    AC_MSG_CHECKING([for function $f])
+    echo "char $f (); char foo() { return $f (); }" > conftest.c
+    rm -f conftest_ml.ml
+    touch conftest_ml.ml
+    if $OCAMLC -c conftest.c 2>/dev/null && \
+       $OCAMLC -c conftest_ml.ml 2>/dev/null && \
+       $OCAMLC conftest.o conftest_ml.cmo -o conftest 2>/dev/null ; then
+        AC_DEFINE([HAVE_CAML_RAISE_WITH_ARGS],[1],
+                  [Defined if function caml_raise_with_args exists.])
+        AC_MSG_RESULT([found])
+    else
+        AC_MSG_RESULT([not found])
+    fi
+    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).
 dnl XXX This isn't quite right, we should check for Perl devel library.
@@ -174,7 +214,7 @@ 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
 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 Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker; do
+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])
     AC_MSG_CHECKING([for $pm])
     if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])
@@ -188,47 +228,37 @@ if test "x$missing_perl_modules" = "xyes"; then
 fi
 
 AM_CONDITIONAL([HAVE_PERL],
 fi
 
 AM_CONDITIONAL([HAVE_PERL],
-    [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+    [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])
 
 dnl Check for Python (optional, for Python bindings).
 AC_CHECK_PROG([PYTHON],[python],[python],[no])
 
 PYTHON_PREFIX=
 PYTHON_VERSION=
 
 dnl Check for Python (optional, for Python bindings).
 AC_CHECK_PROG([PYTHON],[python],[python],[no])
 
 PYTHON_PREFIX=
 PYTHON_VERSION=
-PYTHON_INCLUDEDIR=
-PYTHON_SITE_PACKAGES=
 
 if test "x$PYTHON" != "xno"; then
     PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
     PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
 
 if test "x$PYTHON" != "xno"; then
     PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
     PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
-    for d in \
-        $PYTHON_PREFIX/include/python$PYTHON_VERSION \
-        /usr/include/python$PYTHON_VERSION \
-        /usr/local/include/python$PYTHON_VERSION
-    do
-        AC_MSG_CHECKING([Python.h in $d])
-        if test -r "$d/Python.h"; then
-            AC_MSG_RESULT([found])
-            PYTHON_INCLUDEDIR=$d
-            break
-        fi
-        AC_MSG_RESULT([not found])
-    done
-    for d in \
-        $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \
-        $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \
-        /usr/lib64/python$PYTHON_VERSION/site-packages \
-        /usr/lib/python$PYTHON_VERSION/site-packages \
-        /usr/local/lib/python$PYTHON_VERSION/site-packages
-    do
-        AC_MSG_CHECKING([for $d])
-        if test -d "$d"; then
-            AC_MSG_RESULT([found])
-            PYTHON_SITE_PACKAGES=$d
-            break
-        fi
-        AC_MSG_RESULT([not found])
-    done
+
+    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_MSG_CHECKING([for Python site-packages path])
+    if test -z "$PYTHON_SITE_PACKAGES"; then
+        PYTHON_SITE_PACKAGES=`$PYTHON -c "import distutils.sysconfig; \
+                print (distutils.sysconfig.get_python_lib(1,0));"`
+    fi
+    AC_MSG_RESULT([$PYTHON_SITE_PACKAGES])
+
+    old_LIBS="$LIBS"
+    LIBS="$LIBS -lpython$PYTHON_VERSION"
+    AC_CHECK_FUNCS([PyCapsule_New])
+    LIBS="$old_LIBS"
 fi
 
 AC_SUBST(PYTHON_PREFIX)
 fi
 
 AC_SUBST(PYTHON_PREFIX)
@@ -237,170 +267,180 @@ AC_SUBST(PYTHON_INCLUDEDIR)
 AC_SUBST(PYTHON_SITE_PACKAGES)
 
 AM_CONDITIONAL([HAVE_PYTHON],
 AC_SUBST(PYTHON_SITE_PACKAGES)
 
 AM_CONDITIONAL([HAVE_PYTHON],
-    [test "x$PYTHON_INCLUDEDIR" != "x" -a "x$PYTHON_SITE_PACKAGES" != "x"])
+    [test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_SITE_PACKAGES" != "x"])
 
 dnl Check for Ruby and rake (optional, for Ruby bindings).
 AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
 AC_CHECK_PROG([RAKE],[rake],[rake],[no])
 
 AM_CONDITIONAL([HAVE_RUBY],
 
 dnl Check for Ruby and rake (optional, for Ruby bindings).
 AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
 AC_CHECK_PROG([RAKE],[rake],[rake],[no])
 
 AM_CONDITIONAL([HAVE_RUBY],
-    [test "x$RAKE" != "xno" -a -n "$HAVE_LIBRUBY"])
-
-dnl Check for Java.
-AC_ARG_WITH(java_home,
-    [AS_HELP_STRING([--with-java-home],
-        [specify path to JDK directory @<:@default=check@:>@])],
-    [],
-    [with_java_home=check])
-
-if test "x$with_java_home" != "xno"; then
-    if test "x$with_java_home" != "xyes" -a "x$with_java_home" != "xcheck"
-    then
-        # Reject unsafe characters in $JAVA_HOME
-        jh_lf='
-'
-        case $JAVA_HOME in
-          *[\\\"\#\$\&\'\`$jh_lf\ \    ]*)
-            AC_MSG_FAILURE([unsafe \$JAVA_HOME directory (use --with-java-home=no to disable Java support)]);;
-        esac
-        if test -d "$with_java_home"; then
-            JAVA_HOME="$with_java_home"
-        else
-            AC_MSG_FAILURE([$with_java_home is not a directory (use --with-java-home=no to disable Java support)])
-        fi
-    fi
-
-    if test "x$JAVA_HOME" = "x"; then
-        # Look for Java in some likely locations.
-        for d in \
-            /usr/lib/jvm/java \
-            /usr/lib/jvm/java-6-openjdk
-        do
-            if test -d $d -a -f $d/bin/java; then
-                JAVA_HOME=$d
-                break
-            fi
-        done
-    fi
-
-    if test "x$JAVA_HOME" != "x"; then
-        AC_MSG_CHECKING(for JDK in $JAVA_HOME)
-        if test ! -x "$JAVA_HOME/bin/java"; then
-            AC_MSG_ERROR([missing $JAVA_HOME/bin/java binary (use --with-java-home=no to disable Java support)])
-        else
-            JAVA="$JAVA_HOME/bin/java"
-        fi
-        if test ! -x "$JAVA_HOME/bin/javac"; then
-            AC_MSG_ERROR([missing $JAVA_HOME/bin/javac binary])
-        else
-            JAVAC="$JAVA_HOME/bin/javac"
-        fi
-        if test ! -x "$JAVA_HOME/bin/javah"; then
-            AC_MSG_ERROR([missing $JAVA_HOME/bin/javah binary])
-        else
-            JAVAH="$JAVA_HOME/bin/javah"
-        fi
-        if test ! -x "$JAVA_HOME/bin/javadoc"; then
-            AC_MSG_ERROR([missing $JAVA_HOME/bin/javadoc binary])
-        else
-            JAVADOC="$JAVA_HOME/bin/javadoc"
-        fi
-        if test ! -x "$JAVA_HOME/bin/jar"; then
-            AC_MSG_ERROR([missing $JAVA_HOME/bin/jar binary])
-        else
-            JAR="$JAVA_HOME/bin/jar"
-        fi
-        java_version=`$JAVA -version 2>&1 | grep "java version"`
-        AC_MSG_RESULT(found $java_version in $JAVA_HOME)
-
-        dnl Find jni.h.
-        AC_MSG_CHECKING([for jni.h])
-        if test -f "$JAVA_HOME/include/jni.h"; then
-            JNI_CFLAGS="-I$JAVA_HOME/include"
-        else
-            if test "`find $JAVA_HOME -name jni.h`" != ""; then
-                head=`find $JAVA_HOME -name jni.h | tail -1`
-                dir=`dirname "$head"`
-                JNI_CFLAGS="-I$dir"
-            else
-                AC_MSG_FAILURE([missing jni.h header file])
-            fi
-        fi
-        AC_MSG_RESULT([$JNI_CFLAGS])
-
-        dnl Find jni_md.h.
-        AC_MSG_CHECKING([for jni_md.h])
-        case "$build_os" in
-        *linux*) system="linux" ;;
-        *SunOS*) system="solaris" ;;
-        *cygwin*) system="win32" ;;
-        *) system="$build_os" ;;
-        esac
-        if test -f "$JAVA_HOME/include/$system/jni_md.h"; then
-            JNI_CFLAGS="$JNI_CFLAGS -I$JAVA_HOME/include/$system"
-        else
-            if test "`find $JAVA_HOME -name jni_md.h`" != ""; then
-                head=`find $JAVA_HOME -name jni_md.h | tail -1`
-                dir=`dirname "$head"`
-                JNI_CFLAGS="$JNI_CFLAGS -I$dir"
-            else
-                AC_MSG_FAILURE([missing jni_md.h header file])
-            fi
-        fi
-        AC_MSG_RESULT([$JNI_CFLAGS])
-
-        dnl Need extra version flag?
-        AC_MSG_CHECKING([extra javac flags])
-        JAVAC_FLAGS=
-        javac_version=`$JAVAC -version 2>&1`
-        case "$javac_version" in
-        *Eclipse*)
-            JAVAC_FLAGS="-source 1.5" ;;
-        esac
-        AC_MSG_RESULT([$JAVAC_FLAGS])
-
-        dnl Where to install jarfiles.
-        dnl XXX How to make it configurable?
-        JAR_INSTALL_DIR=\${prefix}/share/java
-        JNI_INSTALL_DIR=\${libdir}
-
-        dnl JNI version.
-        jni_major_version=`echo "$VERSION" | awk -F. '{print $1}'`
-        jni_minor_version=`echo "$VERSION" | awk -F. '{print $2}'`
-        jni_micro_version=`echo "$VERSION" | awk -F. '{print $3}'`
-        JNI_VERSION_INFO=`expr "$jni_major_version" + "$jni_minor_version"`":$jni_micro_version:$jni_minor_version"
-    fi
-fi
-
-AC_SUBST(JAVA_HOME)
-AC_SUBST(JAVA)
-AC_SUBST(JAVAC)
-AC_SUBST(JAVAH)
-AC_SUBST(JAVADOC)
-AC_SUBST(JAR)
-AC_SUBST(JNI_CFLAGS)
-AC_SUBST(JAVAC_FLAGS)
-AC_SUBST(JAR_INSTALL_DIR)
-AC_SUBST(JNI_INSTALL_DIR)
-AC_SUBST(JNI_VERSION_INFO)
-
-AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])
-
-dnl Check for Haskell (GHC).
-AC_CHECK_PROG([GHC],[ghc],[ghc],[no])
-
-AM_CONDITIONAL([HAVE_HASKELL],
-    [test "x$GHC" != "xno"])
+    [test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])
+
+dnl dnl Check for Java.
+dnl AC_ARG_WITH(java_home,
+dnl     [AS_HELP_STRING([--with-java-home],
+dnl         [specify path to JDK directory @<:@default=check@:>@])],
+dnl     [],
+dnl     [with_java_home=check])
+
+dnl if test "x$with_java_home" != "xno"; then
+dnl     if test "x$with_java_home" != "xyes" && test "x$with_java_home" != "xcheck"
+dnl     then
+dnl         # Reject unsafe characters in $JAVA_HOME
+dnl         jh_lf='
+dnl '
+dnl         case $JAVA_HOME in
+dnl           *[\\\"\#\$\&\'\`$jh_lf\ \        ]*)
+dnl             AC_MSG_FAILURE([unsafe \$JAVA_HOME directory (use --with-java-home=no to disable Java support)]);;
+dnl         esac
+dnl         if test -d "$with_java_home"; then
+dnl             JAVA_HOME="$with_java_home"
+dnl         else
+dnl             AC_MSG_FAILURE([$with_java_home is not a directory (use --with-java-home=no to disable Java support)])
+dnl         fi
+dnl     fi
+
+dnl     if test "x$JAVA_HOME" = "x"; then
+dnl         # Look for Java in some likely locations.
+dnl         for d in \
+dnl             /usr/lib/jvm/java \
+dnl             /usr/lib/jvm/java-6-openjdk
+dnl         do
+dnl             if test -d $d && test -f $d/bin/java; then
+dnl                 JAVA_HOME=$d
+dnl                 break
+dnl             fi
+dnl         done
+dnl     fi
+
+dnl     if test "x$JAVA_HOME" != "x"; then
+dnl         AC_MSG_CHECKING(for JDK in $JAVA_HOME)
+dnl         if test ! -x "$JAVA_HOME/bin/java"; then
+dnl             AC_MSG_ERROR([missing $JAVA_HOME/bin/java binary (use --with-java-home=no to disable Java support)])
+dnl         else
+dnl             JAVA="$JAVA_HOME/bin/java"
+dnl         fi
+dnl         if test ! -x "$JAVA_HOME/bin/javac"; then
+dnl             AC_MSG_ERROR([missing $JAVA_HOME/bin/javac binary])
+dnl         else
+dnl             JAVAC="$JAVA_HOME/bin/javac"
+dnl         fi
+dnl         if test ! -x "$JAVA_HOME/bin/javah"; then
+dnl             AC_MSG_ERROR([missing $JAVA_HOME/bin/javah binary])
+dnl         else
+dnl             JAVAH="$JAVA_HOME/bin/javah"
+dnl         fi
+dnl         if test ! -x "$JAVA_HOME/bin/javadoc"; then
+dnl             AC_MSG_ERROR([missing $JAVA_HOME/bin/javadoc binary])
+dnl         else
+dnl             JAVADOC="$JAVA_HOME/bin/javadoc"
+dnl         fi
+dnl         if test ! -x "$JAVA_HOME/bin/jar"; then
+dnl             AC_MSG_ERROR([missing $JAVA_HOME/bin/jar binary])
+dnl         else
+dnl             JAR="$JAVA_HOME/bin/jar"
+dnl         fi
+dnl         java_version=`$JAVA -version 2>&1 | grep "java version"`
+dnl         AC_MSG_RESULT(found $java_version in $JAVA_HOME)
+
+dnl         dnl Find jni.h.
+dnl         AC_MSG_CHECKING([for jni.h])
+dnl         if test -f "$JAVA_HOME/include/jni.h"; then
+dnl             JNI_CFLAGS="-I$JAVA_HOME/include"
+dnl         else
+dnl             if test "`find $JAVA_HOME -name jni.h`" != ""; then
+dnl                 head=`find $JAVA_HOME -name jni.h | tail -1`
+dnl                 dir=`dirname "$head"`
+dnl                 JNI_CFLAGS="-I$dir"
+dnl             else
+dnl                 AC_MSG_FAILURE([missing jni.h header file])
+dnl             fi
+dnl         fi
+dnl         AC_MSG_RESULT([$JNI_CFLAGS])
+
+dnl         dnl Find jni_md.h.
+dnl         AC_MSG_CHECKING([for jni_md.h])
+dnl         case "$build_os" in
+dnl         *linux*) system="linux" ;;
+dnl         *SunOS*) system="solaris" ;;
+dnl         *cygwin*) system="win32" ;;
+dnl         *) system="$build_os" ;;
+dnl         esac
+dnl         if test -f "$JAVA_HOME/include/$system/jni_md.h"; then
+dnl             JNI_CFLAGS="$JNI_CFLAGS -I$JAVA_HOME/include/$system"
+dnl         else
+dnl             if test "`find $JAVA_HOME -name jni_md.h`" != ""; then
+dnl                 head=`find $JAVA_HOME -name jni_md.h | tail -1`
+dnl                 dir=`dirname "$head"`
+dnl                 JNI_CFLAGS="$JNI_CFLAGS -I$dir"
+dnl             else
+dnl                 AC_MSG_FAILURE([missing jni_md.h header file])
+dnl             fi
+dnl         fi
+dnl         AC_MSG_RESULT([$JNI_CFLAGS])
+
+dnl         dnl Need extra version flag?
+dnl         AC_MSG_CHECKING([extra javac flags])
+dnl         JAVAC_FLAGS=
+dnl         javac_version=`$JAVAC -version 2>&1`
+dnl         case "$javac_version" in
+dnl         *Eclipse*)
+dnl             JAVAC_FLAGS="-source 1.5" ;;
+dnl         esac
+dnl         AC_MSG_RESULT([$JAVAC_FLAGS])
+
+dnl         dnl Where to install jarfiles.
+dnl         dnl XXX How to make it configurable?
+dnl         JAR_INSTALL_DIR=\${prefix}/share/java
+dnl         JNI_INSTALL_DIR=\${libdir}
+
+dnl         dnl JNI version.
+dnl         jni_major_version=`echo "$VERSION" | awk -F. '{print $1}'`
+dnl         jni_minor_version=`echo "$VERSION" | awk -F. '{print $2}'`
+dnl         jni_micro_version=`echo "$VERSION" | awk -F. '{print $3}'`
+dnl         JNI_VERSION_INFO=`expr "$jni_major_version" + "$jni_minor_version"`":$jni_micro_version:$jni_minor_version"
+dnl     fi
+dnl fi
+
+dnl AC_SUBST(JAVA_HOME)
+dnl AC_SUBST(JAVA)
+dnl AC_SUBST(JAVAC)
+dnl AC_SUBST(JAVAH)
+dnl AC_SUBST(JAVADOC)
+dnl AC_SUBST(JAR)
+dnl AC_SUBST(JNI_CFLAGS)
+dnl AC_SUBST(JAVAC_FLAGS)
+dnl AC_SUBST(JAR_INSTALL_DIR)
+dnl AC_SUBST(JNI_INSTALL_DIR)
+dnl AC_SUBST(JNI_VERSION_INFO)
+
+dnl AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])
+
+dnl dnl Check for Haskell (GHC).
+dnl AC_CHECK_PROG([GHC],[ghc],[ghc],[no])
+
+dnl AM_CONDITIONAL([HAVE_HASKELL],
+dnl     [test "x$GHC" != "xno"])
 
 dnl Produce output files.
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([Makefile
 
 dnl Produce output files.
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([Makefile
+                 generator/Makefile
                  gnulib/lib/Makefile
                  gnulib/tests/Makefile
                  hivex.pc
                  gnulib/lib/Makefile
                  gnulib/tests/Makefile
                  hivex.pc
-                 hivex/Makefile
-                 hivex/t/Makefile
-                 hivex/tools/Makefile])
+                 images/Makefile
+                 lib/Makefile
+                 lib/tools/Makefile
+                 ocaml/Makefile ocaml/META
+                 perl/Makefile perl/Makefile.PL
+                 python/Makefile
+                 po/Makefile.in
+                 regedit/Makefile
+                 ruby/Makefile ruby/Rakefile
+                 sh/Makefile
+                 xml/Makefile])
+AC_CONFIG_FILES([python/run-python-tests], [chmod +x python/run-python-tests])
 AC_OUTPUT
 
 dnl Produce summary.
 AC_OUTPUT
 
 dnl Produce summary.
@@ -419,10 +459,10 @@ echo -n "Python bindings ..................... "
 if test "x$HAVE_PYTHON_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Ruby bindings ....................... "
 if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 if test "x$HAVE_PYTHON_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Ruby bindings ....................... "
 if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
-echo -n "Java bindings ....................... "
-if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
-echo -n "Haskell bindings .................... "
-if test "x$HAVE_HASKELL" = "x"; then echo "yes"; else echo "no"; fi
+dnl echo -n "Java bindings ....................... "
+dnl if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
+dnl echo -n "Haskell bindings .................... "
+dnl if test "x$HAVE_HASKELL" = "x"; then echo "yes"; else echo "no"; fi
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."