X-Git-Url: http://git.annexia.org/?p=hivex.git;a=blobdiff_plain;f=configure.ac;h=f3c1037257214a09db452b1dd66881f541575a8f;hp=8f19a2fad6b36ffec7effadd173793de30e0f9fd;hb=0b317929f9b76fc06ddca1abd7f7b1ae3b548070;hpb=6cf8c18d86e74c0f4d6efe4468e92a425f520be0 diff --git a/configure.ac b/configure.ac index 8f19a2f..f3c1037 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,7 @@ # major/minor/release must be numbers m4_define([hivex_major], [1]) m4_define([hivex_minor], [2]) -m4_define([hivex_release], [1]) +m4_define([hivex_release], [4]) # extra can be any string m4_define([hivex_extra], []) @@ -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]) @@ -203,7 +211,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 IO::Stringy; 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]) @@ -219,54 +227,66 @@ fi AM_CONDITIONAL([HAVE_PERL], [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"]) -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 +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 + if test "x$PYTHON_INCLUDEDIR" = "x"; then + AC_MSG_WARN([Python include directory not found]) + fi + + 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 + if test "x$PYTHON_SITE_PACKAGES" = "x"; then + AC_MSG_WARN([Python site-packages directory not found]) + fi + + old_LIBS="$LIBS" + LIBS="$LIBS -lpython$PYTHON_VERSION" + AC_CHECK_FUNCS([PyCapsule_New]) + LIBS="$old_LIBS" +fi -dnl AC_SUBST(PYTHON_PREFIX) -dnl AC_SUBST(PYTHON_VERSION) -dnl AC_SUBST(PYTHON_INCLUDEDIR) -dnl AC_SUBST(PYTHON_SITE_PACKAGES) +AC_SUBST(PYTHON_PREFIX) +AC_SUBST(PYTHON_VERSION) +AC_SUBST(PYTHON_INCLUDEDIR) +AC_SUBST(PYTHON_SITE_PACKAGES) -dnl AM_CONDITIONAL([HAVE_PYTHON], -dnl [test "x$PYTHON_INCLUDEDIR" != "x" -a "x$PYTHON_SITE_PACKAGES" != "x"]) +AM_CONDITIONAL([HAVE_PYTHON], + [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]) @@ -432,6 +452,7 @@ AC_CONFIG_FILES([Makefile lib/tools/Makefile ocaml/Makefile ocaml/META perl/Makefile perl/Makefile.PL + python/Makefile po/Makefile.in regedit/Makefile sh/Makefile @@ -450,8 +471,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 -dnl echo -n "Python bindings ..................... " -dnl if test "x$HAVE_PYTHON_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 "Ruby bindings ....................... " dnl if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi dnl echo -n "Java bindings ....................... "