File: configure.ac

package info (click to toggle)
lcsync 0.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,152 kB
  • sloc: ansic: 9,376; sh: 3,117; makefile: 246
file content (76 lines) | stat: -rw-r--r-- 2,823 bytes parent folder | download
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
72
73
74
75
76
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.71])
AC_INIT([lcsync], [0.3.2], [bugs@librecast.net])
AC_COPYRIGHT(Copyright (c) 2022-2025 Brett Sheffield <bacs@librecast.net>
See COPYING for license details.
)
AC_CONFIG_SRCDIR([src/])
AC_CONFIG_HEADERS([src/config.h])

# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_CHECK_PROG([testrunner], [lctest], [lctest], [maketest])
AC_CHECK_PROG([SETCAP_PROGRAM], [setcap], [setcap cap_net_raw=eip], [chmod u+s])
AC_SUBST([TESTRUNNER],[$testrunner])
AC_CHECK_PROG([ifconfig], [ifconfig], [ifconfig])
AC_SUBST([IFCONFIG],[$ifconfig])
AC_CHECK_PROG([iproute], [ip], [iproute])
AC_SUBST([IPROUTE],[$iproute])
AC_CHECK_PROG([ROUTE], [route], [route])

dnl Enable Bloom Filters?
AC_ARG_ENABLE([bloom-filters],
              AS_HELP_STRING([--enable-bloom-filters], [Enable bloom filters]))
AS_IF([test "x$enable_bloom_filters" = "xyes"], [
        AC_DEFINE([USE_BLOOM_FILTER],[1],[Use bloom filters])
        AC_SUBST([VEC_O],["vec.o"])
        AC_SUBST([MLD_BLOOM_FILTER],
                 ["#define MLD_BLOOM_FILTER 1"],
                 ["#undef MLD_BLOOM_FILTER"])
])

# Checks for libraries.
AC_CHECK_LIB([dl], [dlsym])
AC_CHECK_LIB([sodium], [sodium_init], , AC_MSG_ERROR([libsodium not found (required)]))
AC_CHECK_LIB([lcrq], [rq_init], , AC_MSG_ERROR([lcrq library not found (required)]))
AC_CHECK_LIB([librecast], [lc_ctx_new], , AC_MSG_ERROR([librecast library not found (required)]))
AC_CHECK_LIB([librecast], [lc_recvdir], , AC_MSG_ERROR([librecast >= 0.8 required]))
AC_CHECK_LIB([librecast], [lc_share], , AC_MSG_ERROR([librecast >= 0.7 required]))
AC_CHECK_LIB([m], [log2])
AC_CHECK_LIB([pthread], [pthread_create])
AC_SEARCH_LIBS([mld_init], [librecast mld], , AC_MSG_ERROR([libmld not found (required)]))
AC_SEARCH_LIBS([arc4random_uniform], [bsd])

# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdint.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h])
AC_CHECK_HEADERS([endian.h sys/endian.h])
AC_CHECK_HEADERS([librecast/mld.h mld.h], [mld_h_found=yes; break;])
AS_IF([test "x$mld_h_found" != "xyes"], AC_MSG_ERROR([mld.h not found (required)]))

# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT64_T
AC_TYPE_UINT32_T
AC_TYPE_UINT16_T
AC_TYPE_UINT8_T

# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_MMAP
AC_FUNC_STRTOD
AC_CHECK_FUNCS([clock_gettime ftruncate getcwd gethostname memmove memset munmap socket strchr strdup strerror])
AC_CHECK_FUNCS([utimensat utimes])

AC_CONFIG_FILES([Makefile
                 src/Makefile
	         doc/Makefile
                 test/Makefile
])
AC_OUTPUT