1# Initialization 2AC_PREREQ([2.69]) 3AC_INIT([mboxd], [2.1.1], [https://github.com/openbmc/mboxbridge/issues]) 4AC_CONFIG_HEADERS([config.h]) 5AM_INIT_AUTOMAKE([subdir-objects -Wall -Wno-portability foreign dist-xz]) 6AM_SILENT_RULES([yes]) 7AC_CONFIG_MACRO_DIRS([m4]) 8 9# Checks for programs. 10AC_PROG_CC 11AC_PROG_CXX 12AM_PROG_AR 13AC_PROG_INSTALL 14AC_PROG_MAKE_SET 15 16# Checks for header files. 17AC_CHECK_HEADER(linux/aspeed-lpc-ctrl.h,[HAVE_UAPI_LINUX_LPC_CTRL_H=""],[HAVE_UAPI_LINUX_LPC_CTRL_H="-I linux/aspeed-lpc-ctrl.h"]) 18AS_IF([test "$HAVE_UAPI_LINUX_LPC_CTRL_H" != ""], 19 AC_MSG_WARN([Could not find linux/aspeed-lpc-ctrl.h: Attempting to download locally for building from https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/plain/include/uapi/linux/aspeed-lpc-ctrl.h?h=char-misc-next]) 20 AC_SUBST([BT_BMC_DL],[`test ! -f linux/aspeed-lpc-ctrl.h && mkdir -p linux && wget --quiet https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/plain/include/uapi/linux/aspeed-lpc-ctrl.h?h=char-misc-next -O linux/aspeed-lpc-ctrl.h`]) 21) 22 23# Checks for typedefs, structures, and compiler characteristics. 24AX_CXX_COMPILE_STDCXX(17, [noext], [mandatory]) 25AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CFLAGS]) 26AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CXXFLAGS]) 27 28# Checks for library functions. 29LT_INIT # Removes 'unrecognized options: --with-libtool-sysroot' 30 31AC_ARG_ENABLE([oe-sdk], 32 AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.]) 33) 34AC_ARG_VAR(OECORE_TARGET_SYSROOT, 35 [Path to the OE SDK SYSROOT]) 36AS_IF([test "x$enable_oe_sdk" == "xyes"], 37 AS_IF([test "x$OECORE_TARGET_SYSROOT" == "x"], 38 AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk]) 39 ) 40 AC_MSG_NOTICE([Enabling OE-SDK at $OECORE_TARGET_SYSROOT]) 41 [ 42 testcase_flags="-Wl,-rpath,\${OECORE_TARGET_SYSROOT}/lib" 43 testcase_flags="${testcase_flags} -Wl,-rpath,\${OECORE_TARGET_SYSROOT}/usr/lib" 44 testcase_flags="${testcase_flags} -Wl,-dynamic-linker,`find \${OECORE_TARGET_SYSROOT}/lib/ld-*.so | sort -r -n | head -n1`" 45 ] 46 AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags]) 47) 48 49AC_ARG_ENABLE([virtual-pnor], 50 AS_HELP_STRING([--enable-virtual-pnor], [Turn on virtual pnor]) 51) 52AS_IF([test "x$enable_virtual_pnor" == "xyes"], 53 [ 54 PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus]) 55 PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging]) 56 PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces]) 57 58 AM_CONDITIONAL(VIRTUAL_PNOR_ENABLED, true) 59 AX_APPEND_COMPILE_FLAGS([-DVIRTUAL_PNOR_ENABLED], [CXXFLAGS]) 60 AX_APPEND_COMPILE_FLAGS([-DVIRTUAL_PNOR_ENABLED], [CFLAGS]) 61 ], 62 [ 63 AM_CONDITIONAL(VIRTUAL_PNOR_ENABLED, false) 64 ] 65) 66 67AX_CODE_COVERAGE 68m4_ifdef([_AX_CODE_COVERAGE_RULES], 69 [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [true])], 70 [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [false])]) 71AX_ADD_AM_MACRO_STATIC([]) 72 73PKG_CHECK_MODULES(LIBSYSTEMD, libsystemd, , AC_MSG_ERROR([libsytemd not found])) 74AC_SUBST([LIBSYSTEMD_CFLAGS]) 75AC_SUBST([LIBSYSTEMD_LIBS]) 76 77AC_DEFINE(PARTITION_TOC_FILE, "pnor.toc", [The basename of the PNOR Table of contents file.]) 78AC_DEFINE(PARTITION_FILES_RO_LOC, "/var/lib/phosphor-software-manager/pnor/ro", [The path to the directory containing PNOR read only partition files.]) 79AC_DEFINE(PARTITION_FILES_RW_LOC, "/var/lib/phosphor-software-manager/pnor/rw", [The path to the directory containing PNOR read write partition files.]) 80AC_DEFINE(PARTITION_FILES_PRSV_LOC, "/var/lib/phosphor-software-manager/pnor/prsv", [The path to the directory containing PNOR preserve partition files.]) 81AC_DEFINE(PARTITION_FILES_PATCH_LOC, "/usr/local/share/pnor", [The path to the directory containing PNOR patch partition files.]) 82# Create configured output 83AC_CONFIG_FILES([Makefile]) 84AC_OUTPUT 85