1#                                               -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ([2.63])
5AC_INIT([vsearch], [2.17.1], [torognes@ifi.uio.no], [vsearch], [https://github.com/torognes/vsearch])
6AC_CANONICAL_TARGET
7AM_INIT_AUTOMAKE([subdir-objects])
8AC_LANG([C++])
9AC_CONFIG_SRCDIR([src/vsearch.cc])
10AC_CONFIG_HEADERS([config.h])
11
12AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
13MACOSX_DEPLOYMENT_TARGET="10.9"
14
15# Set default gcc and g++ options
16
17# CFLAGS='-g'
18# CXXFLAGS='-g -std=c++11'
19
20# Checks for programs.
21AC_PROG_CXX
22AC_PROG_RANLIB
23AC_PROG_INSTALL
24
25# Checks for libraries.
26AC_CHECK_LIB([pthread], [pthread_create])
27AC_CHECK_LIB([dl], [dlopen])
28AC_CHECK_LIB([psapi], [GetProcessMemoryInfo])
29
30# Checks for header files.
31AC_CHECK_HEADERS([getopt.h fcntl.h float.h regex.h ctype.h locale.h limits.h string.h sys/time.h dlfcn.h pthread.h])
32
33# Checks for typedefs, structures, and compiler characteristics.
34AC_C_INLINE
35AC_TYPE_SIZE_T
36AC_TYPE_UINT32_T
37AC_TYPE_INT64_T
38AC_TYPE_UINT64_T
39AC_TYPE_UINT8_T
40
41# Checks for library functions.
42AC_FUNC_MALLOC
43AC_FUNC_STRTOD
44AC_FUNC_ALLOCA
45AC_FUNC_REALLOC
46AC_CHECK_FUNCS([memmove memcpy posix_memalign gettimeofday localtime memchr memset pow regcomp strcasecmp strchr strcspn sysinfo])
47
48have_bzip2=no
49AC_ARG_ENABLE(bzip2, AS_HELP_STRING([--disable-bzip2], [Disable bzip2 support]))
50AS_IF([test "x$enable_bzip2" != "xno"], [
51  have_bzip2=yes
52])
53if test "x${have_bzip2}" = "xyes"; then
54  AC_CHECK_HEADERS([bzlib.h], [], [have_bzip2=no])
55fi
56
57have_zlib=no
58AC_ARG_ENABLE(zlib, AS_HELP_STRING([--disable-zlib], [Disable zlib support]))
59AS_IF([test "x$enable_zlib" != "xno"], [
60  have_zlib=yes
61])
62if test "x${have_zlib}" = "xyes"; then
63  AC_CHECK_HEADERS([zlib.h], [], [have_zlib=no])
64fi
65
66have_ps2pdf=no
67AC_ARG_ENABLE(pdfman, AS_HELP_STRING([--disable-pdfman], [Disable PDF manual creation]))
68AS_IF([test "x$enable_pdfman" != "xno"], [
69  have_ps2pdf=yes
70  AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, yes, no)
71  if test "x$HAVE_PS2PDF" = "xno"; then
72    AC_MSG_WARN([*** ps2pdf is required to build a PDF version of the manual])
73    have_ps2pdf=no
74  fi
75])
76
77have_man_html=no
78
79case $target in
80     aarch64*) target_aarch64="yes" ;;
81     powerpc64*) target_ppc="yes" ;;
82esac
83
84AC_CHECK_HEADERS([windows.h], [AM_CONDITIONAL(TARGET_WIN, true)], [AM_CONDITIONAL(TARGET_WIN, false)])
85
86AM_CONDITIONAL(HAVE_PS2PDF, test "x${have_ps2pdf}" = "xyes")
87AM_CONDITIONAL(HAVE_MAN_HTML, test "x${have_man_html}" = "xyes")
88AM_CONDITIONAL(TARGET_PPC, test "x${target_ppc}" = "xyes")
89AM_CONDITIONAL(TARGET_AARCH64, test "x${target_aarch64}" = "xyes")
90AM_PROG_CC_C_O
91
92AC_CONFIG_FILES([Makefile
93                 src/Makefile
94                 man/Makefile])
95
96AC_OUTPUT
97