X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=configure.ac;h=1d929b4df57f2e195b9ed1e273616084d06cd9e1;hb=72daf40de09cdf78f951a941bf6fbf271bf9d44d;hp=fecf85bb007687b695b2b10bd7892fe0582512bc;hpb=ffd32d61d4fad969a6a0baec8c15774eac5ea2e2;p=hivex.git diff --git a/configure.ac b/configure.ac index fecf85b..1d929b4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # 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 @@ -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], [7]) # 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 -AC_PROG_LIBTOOL +AM_PROG_LIBTOOL 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 -Wlong-long" # Allow long long since it's required + # by xstrtoll. 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 +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 @@ -143,7 +151,7 @@ AC_ARG_WITH([readline], 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]) ], @@ -151,7 +159,7 @@ AS_IF([test "x$with_readline" != xno], AC_MSG_FAILURE( [--with-readline was given, but test for readline failed]) fi - ], -lncurses)]) + ])]) dnl For i18n. AM_GNU_GETTEXT([external]) @@ -166,6 +174,36 @@ 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_OCAMLOPT], [test "x$OCAMLOPT" != "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 + #include + ]) + 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. @@ -174,7 +212,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 ExtUtils::MakeMaker IO::Stringy; do AC_MSG_CHECKING([for $pm]) if ! perl -M$pm -e1 >/dev/null 2>&1; then AC_MSG_RESULT([no]) @@ -195,40 +233,30 @@ 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 + + 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) @@ -395,13 +423,18 @@ dnl [test "x$GHC" != "xno"]) dnl Produce output files. AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile + generator/Makefile gnulib/lib/Makefile gnulib/tests/Makefile hivex.pc images/Makefile lib/Makefile lib/tools/Makefile + ocaml/Makefile ocaml/META + perl/Makefile perl/Makefile.PL + python/Makefile po/Makefile.in + regedit/Makefile sh/Makefile xml/Makefile]) AC_OUTPUT