summaryrefslogtreecommitdiffstats
path: root/configure.ac
blob: 704b0e27502ce6157700ba785c63b7327e7ecb54 (plain) (blame)
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
# Must init the autoconf setup
# The first parameter is project name
# second is version number
# third is bug report address
AC_INIT([foodtools], [0.0.1])

# Safety checks in case user overwritten --srcdir
AC_CONFIG_SRCDIR([src/food.c])

# Store the auxiliary build tools (e.g., install-sh, config.sub, config.guess)
# in this dir (build-aux)
AC_CONFIG_AUX_DIR([build-aux])

# Init automake, and specify this program use relaxed structures.
# i.e. this program doesn't follow the gnu coding standards, and doesn't have
# ChangeLog, COPYING, AUTHORS, INSTALL, README etc. files.
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects dist-xz])

# Set default cflags
: ${CFLAGS="-O3 -pedantic"}

# Check for C compiler
AC_PROG_CC
# We can add more checks in this section

PKG_CHECK_MODULES([CHECK], [check])

AC_CHECK_FUNCS([memset])
AC_CHECK_FUNCS([strcasecmp])
AC_CHECK_FUNCS([strdup])
AC_CHECK_FUNCS([strerror])
AC_CHECK_FUNCS([strstr])
AC_CHECK_FUNCS([strtol])
AC_CHECK_HEADERS([stdint.h])
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_TYPE_INT32_T
AC_TYPE_SIZE_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T

# Tells automake to create a Makefile
# See https://www.gnu.org/software/automake/manual/html_node/Requirements.html
AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])

# Generate the output
AC_OUTPUT