1 # SPDX-License-Identifier: MIT
3 # Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
7 AC_INIT([librseq],[0.1.0-pre],[mathieu dot desnoyers at efficios dot com], [], [https://github.com/compudj/librseq/])
9 # Following the numbering scheme proposed by libtool for the library version
10 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
11 AC_SUBST([RSEQ_LIBRARY_VERSION], [0:0:0])
13 AC_CONFIG_HEADERS([include/config.h])
14 AC_CONFIG_AUX_DIR([config])
15 AC_CONFIG_MACRO_DIR([m4])
20 AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip nostdinc])
21 AM_MAINTAINER_MODE([enable])
23 # Enable silent rules if available (Introduced in AM 1.11)
24 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
26 AC_REQUIRE_AUX_FILE([tap-driver.sh])
28 # Checks for C compiler
29 AC_USE_SYSTEM_EXTENSIONS
34 # Checks for programs.
40 # Checks for typedefs, structures, and compiler characteristics.
50 AS_IF([test "x$ax_cv___attribute__" = "xyes"],
52 [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
54 AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])])
56 AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"
58 # Checks for library functions.
66 # AC_FUNC_MALLOC causes problems when cross-compiling.
76 AC_CHECK_HEADER([linux/rseq.h])
77 AS_IF([test "x${ac_cv_header_linux_rseq_h}" != "xyes"], [
78 AC_MSG_ERROR([Cannot find 'linux/rseq.h'.])
81 AC_CHECK_HEADER([linux/cpu_opv.h])
82 AH_TEMPLATE([HAVE_CPU_OPV], [Defined to 1 if we have cpu_opv headers.])
83 AS_IF([test "x${ac_cv_header_linux_cpu_opv_h}" = "xyes"], [
84 AC_DEFINE(HAVE_CPU_OPV, 1)
86 AM_CONDITIONAL([HAVE_CPU_OPV], [test "x${ac_cv_header_linux_cpu_opv_h}" = "xyes"])
88 AM_CPPFLAGS="-include config.h"
91 AM_CFLAGS="-Wall -Wextra $AM_CFLAGS"
105 # Mini-report on what will be built.
113 AS_ECHO("${PPRINT_COLOR_BLDBLU}librseq $PACKAGE_VERSION${PPRINT_COLOR_RST}")
116 PPRINT_SUBTITLE([Features])
118 PPRINT_PROP_STRING([Target architecture], $host_cpu)
120 # SMP support enabled/disabled
121 test "x${ac_cv_header_linux_cpu_opv_h}" = "xyes" && value=1 || value=0
122 PPRINT_PROP_BOOL([CPU OPV support], $value)
124 report_bindir="`eval eval echo $bindir`"
125 report_libdir="`eval eval echo $libdir`"
127 # Print the bindir and libdir this `make install' will install into.
129 PPRINT_SUBTITLE([Install directories])
130 PPRINT_PROP_STRING([Binaries], [$report_bindir])
131 PPRINT_PROP_STRING([Libraries], [$report_libdir])