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 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 68 69PKG_CHECK_MODULES(LIBSYSTEMD, libsystemd, , AC_MSG_ERROR([libsytemd not found])) 70AC_SUBST([LIBSYSTEMD_CFLAGS]) 71AC_SUBST([LIBSYSTEMD_LIBS]) 72 73AC_DEFINE(PARTITION_TOC_FILE, "pnor.toc", [The basename of the PNOR Table of contents file.]) 74AC_DEFINE(PARTITION_FILES_RO_LOC, "/var/lib/phosphor-software-manager/pnor/ro", [The path to the directory containing PNOR read only partition files.]) 75AC_DEFINE(PARTITION_FILES_RW_LOC, "/var/lib/phosphor-software-manager/pnor/rw", [The path to the directory containing PNOR read write partition files.]) 76AC_DEFINE(PARTITION_FILES_PRSV_LOC, "/var/lib/phosphor-software-manager/pnor/prsv", [The path to the directory containing PNOR preserve partition files.]) 77AC_DEFINE(PARTITION_FILES_PATCH_LOC, "/usr/local/share/pnor", [The path to the directory containing PNOR patch partition files.]) 78# Create configured output 79AC_CONFIG_FILES([Makefile]) 80AC_OUTPUT 81