summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 70ba87abfb31c5ed759baac44715b8dc46b2f6d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
AC_INIT(erasurecode,0.9.4)
AC_GNU_SOURCE

AC_PREREQ([2.61])

AM_INIT_AUTOMAKE([subdir-objects no-dependencies silent-rules])
LT_INIT # libtool

AC_CONFIG_HEADER(include/config.h)

dnl Needed when reconfiguring with 'autoreconf -i -s'
AC_CONFIG_MACRO_DIR([m4])

AM_MAINTAINER_MODE([disable])
AM_SILENT_RULES([yes])

dnl Compiling with per-target flags requires AM_PROG_CC_C_O.
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_LIBTOOL
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_MAKE_SET

AX_EXT()

dnl Check for C library headers
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h \
                 string.h strings.h inttypes.h stdint.h ctype.h math.h iconv.h \
                 signal.h dlfcn.h pthread.h unistd.h limits.h errno.h)
AC_CHECK_FUNCS(malloc calloc realloc free)

# Check for jerasure/gf_complete headers
AC_CHECK_HEADERS(jerasure.h cauchy.h galois.h liberation.h reed_sol.h gf_complete.h)

# Enable this check when gf_complete is external
AC_CHECK_LIB([gf_complete], [gf_init_easy], [],
[
    echo "Error! gf_complete is required for algorithmic signature support."
    echo "gf_complete is available from https://bitbucket.org/jimplank/gf-complete.git"
    echo "On Debian/Ubuntu systems, you can use \'apt-get install gf-complete\'"
    exit -1
])

AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],
               [enable debugging, default: no]),
[case "${enableval}" in
               yes) debug=true ;;
               no)  debug=false ;;
               *)   AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;;
esac],
[debug=false])
AM_CONDITIONAL(DEBUG, test x"$debug" = x"true")

dnl Expand the sources and objects needed to build the library
AC_SUBST(ac_aux_dir)
AC_SUBST(OBJECTS)

AC_CONFIG_FILES([\
    src/builtin/xor_codes/Makefile \
    src/Makefile \
    test/Makefile \
    Makefile \
    erasurecode.pc \
    Xorcode.pc
])

AC_OUTPUT