1AC_INIT([ssdeep],[2.14.1],[floss_ssdeep@irq.a4lg.com])
2AM_INIT_AUTOMAKE
3
4AC_CONFIG_FILES([Makefile])
5AM_CONFIG_HEADER([config.h])
6
7AC_CANONICAL_HOST
8
9AC_PROG_CC
10AC_PROG_CXX
11AC_LIBTOOL_WIN32_DLL
12AM_PROG_LIBTOOL
13AC_PROG_INSTALL
14
15AC_CONFIG_MACRO_DIR([m4])
16
17case $host in
18  *-*-*linux*-*) AC_DEFINE([__LINUX__],1,[Linux operating system functions]) ;;
19  *-*-mingw32)   CPPFLAGS="-DUNICODE -D_UNICODE $CPPFLAGS"
20esac
21
22
23# Bring additional directories where things might be found into our
24# search path. I don't know why autoconf doesn't do this by default
25AC_ARG_ENABLE([auto-search],
26[AS_HELP_STRING([--disable-auto-search], [disable searching additional include and library directories])],,
27[enable_auto_search=yes])
28with_auto_headers_default=$enable_auto_search
29with_auto_libs_default=$enable_auto_search
30AC_ARG_WITH([auto-headers],
31[AS_HELP_STRING([--without-auto-headers], [disable searching additional include directories])],,
32[with_auto_headers=$with_auto_headers_default])
33AC_ARG_WITH([auto-libs],
34[AS_HELP_STRING([--without-auto-libs], [disable searching additional library directories])],,
35[with_auto_libs=$with_auto_libs_default])
36for spfx in /usr/local /opt/local /sw ; do
37    if test "x$with_auto_headers" = xyes; then
38        AC_MSG_CHECKING([for ${spfx}/include])
39        if test -d ${spfx}/include; then
40            CPPFLAGS="-I${spfx}/include $CPPFLAGS"
41            AC_MSG_RESULT([yes])
42        else
43            AC_MSG_RESULT([no])
44        fi
45    fi
46    if test "x$with_auto_libs" = xyes; then
47        AC_MSG_CHECKING([for ${spfx}/lib])
48        if test -d ${spfx}/lib; then
49            LDFLAGS="-L${spfx}/lib $LDFLAGS"
50            AC_MSG_RESULT([yes])
51        else
52            AC_MSG_RESULT([no])
53        fi
54    fi
55done
56
57AC_C_BIGENDIAN
58AC_SYS_LARGEFILE
59
60AC_CHECK_HEADERS([libgen.h])
61AC_CHECK_HEADERS([dirent.h])
62AC_CHECK_HEADERS([inttypes.h])
63
64AC_CHECK_HEADERS([fcntl.h sys/types.h sys/ioctl.h sys/param.h wchar.h unistd.h sys/stat.h sys/disk.h])
65
66AC_CHECK_HEADER([inttypes.h],,AC_MSG_ERROR([You must have inttypes.h or some other C99 equivalent]),)
67
68# Bit-parallel string processing
69AC_ARG_ENABLE([bitparallel-string-ops],
70[AS_HELP_STRING([--disable-bitparallel-string-ops], [disable using bit-parallel string operations (which would work best at 64-bit environment)])],,
71[enable_bitparallel_string_ops=yes])
72AS_IF([test "x$enable_bitparallel_string_ops" = xno],[
73AC_DEFINE([SSDEEP_DISABLE_POSITION_ARRAY], [1], [Define to 1 if the user chose to disable bit-parallel string operations.])
74],)
75
76# These includes are required on FreeBSD
77AC_CHECK_HEADERS([sys/mount.h],[],[],
78[#ifdef HAVE_SYS_TYPES_H
79 # include <sys/types.h>
80 #endif
81 #ifdef HAVE_SYS_PARAM_H
82 # include <sys/param.h>
83 #endif])
84
85AC_FUNC_FSEEKO
86
87AC_OUTPUT
88
89
90