hivexregedit: Low-level tool for merging and export in regedit format.
[hivex.git] / configure.ac
index 18cbd90..8d24848 100644 (file)
@@ -17,8 +17,8 @@
 
 # major/minor/release must be numbers
 m4_define([hivex_major],   [1])
-m4_define([hivex_minor],   [1])
-m4_define([hivex_release], [2])
+m4_define([hivex_minor],   [2])
+m4_define([hivex_release], [0])
 # extra can be any string
 m4_define([hivex_extra],   [])
 
@@ -167,6 +167,35 @@ AC_PROG_OCAML
 AC_PROG_FINDLIB
 AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" -a "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 $OCAMLOPT -c conftest.c 2>/dev/null && \
+       $OCAMLOPT -c conftest_ml.ml 2>/dev/null && \
+       $OCAMLOPT conftest.o conftest_ml.cmx -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.
 AC_CHECK_PROG([PERL],[perl],[perl],[no])
@@ -174,7 +203,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
-for pm in Test::More Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker; do
+for pm in Test::More Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker IO::Stringy; do
     AC_MSG_CHECKING([for $pm])
     if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])
@@ -190,54 +219,54 @@ fi
 AM_CONDITIONAL([HAVE_PERL],
     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
 
-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]]"`
-    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
-fi
+dnl dnl Check for Python (optional, for Python bindings).
+dnl AC_CHECK_PROG([PYTHON],[python],[python],[no])
+
+dnl PYTHON_PREFIX=
+dnl PYTHON_VERSION=
+dnl PYTHON_INCLUDEDIR=
+dnl PYTHON_SITE_PACKAGES=
+
+dnl if test "x$PYTHON" != "xno"; then
+dnl     PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
+dnl     PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
+dnl     for d in \
+dnl         $PYTHON_PREFIX/include/python$PYTHON_VERSION \
+dnl         /usr/include/python$PYTHON_VERSION \
+dnl         /usr/local/include/python$PYTHON_VERSION
+dnl     do
+dnl         AC_MSG_CHECKING([Python.h in $d])
+dnl         if test -r "$d/Python.h"; then
+dnl             AC_MSG_RESULT([found])
+dnl             PYTHON_INCLUDEDIR=$d
+dnl             break
+dnl         fi
+dnl         AC_MSG_RESULT([not found])
+dnl     done
+dnl     for d in \
+dnl         $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \
+dnl         $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \
+dnl         /usr/lib64/python$PYTHON_VERSION/site-packages \
+dnl         /usr/lib/python$PYTHON_VERSION/site-packages \
+dnl         /usr/local/lib/python$PYTHON_VERSION/site-packages
+dnl     do
+dnl         AC_MSG_CHECKING([for $d])
+dnl         if test -d "$d"; then
+dnl             AC_MSG_RESULT([found])
+dnl             PYTHON_SITE_PACKAGES=$d
+dnl             break
+dnl         fi
+dnl         AC_MSG_RESULT([not found])
+dnl     done
+dnl fi
 
-AC_SUBST(PYTHON_PREFIX)
-AC_SUBST(PYTHON_VERSION)
-AC_SUBST(PYTHON_INCLUDEDIR)
-AC_SUBST(PYTHON_SITE_PACKAGES)
+dnl AC_SUBST(PYTHON_PREFIX)
+dnl AC_SUBST(PYTHON_VERSION)
+dnl AC_SUBST(PYTHON_INCLUDEDIR)
+dnl AC_SUBST(PYTHON_SITE_PACKAGES)
 
-AM_CONDITIONAL([HAVE_PYTHON],
-    [test "x$PYTHON_INCLUDEDIR" != "x" -a "x$PYTHON_SITE_PACKAGES" != "x"])
+dnl AM_CONDITIONAL([HAVE_PYTHON],
+dnl     [test "x$PYTHON_INCLUDEDIR" != "x" -a "x$PYTHON_SITE_PACKAGES" != "x"])
 
 dnl dnl Check for Ruby and rake (optional, for Ruby bindings).
 dnl AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
@@ -404,7 +433,7 @@ AC_CONFIG_FILES([Makefile
                  ocaml/Makefile ocaml/META
                  perl/Makefile perl/Makefile.PL
                  po/Makefile.in
-                 python/Makefile
+                 regedit/Makefile
                  sh/Makefile
                  xml/Makefile])
 AC_OUTPUT
@@ -421,8 +450,8 @@ echo -n "OCaml bindings ...................... "
 if test "x$HAVE_OCAML_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Perl bindings ....................... "
 if test "x$HAVE_PERL_TRUE" = "x"; then echo "yes"; else echo "no"; fi
-echo -n "Python bindings ..................... "
-if test "x$HAVE_PYTHON_TRUE" = "x"; then echo "yes"; else echo "no"; fi
+dnl echo -n "Python bindings ..................... "
+dnl if test "x$HAVE_PYTHON_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 dnl echo -n "Ruby bindings ....................... "
 dnl if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 dnl echo -n "Java bindings ....................... "