1# Initialization 2AC_PREREQ([2.69]) 3AC_INIT([mboxd], [2.1.0], [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_14([noext]) 25AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CFLAGS]) 26AX_APPEND_COMPILE_FLAGS([-fpic -Wall], [CXXFLAGS]) 27 28PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus],,\ 29AC_MSG_ERROR(["Requires sdbusplus package."])) 30 31PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging],,\ 32AC_MSG_ERROR(["Requires phosphor-logging package."])) 33 34AX_PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [],[phosphor-dbus-interfaces],\ 35[], [AC_MSG_ERROR(["phosphor-dbus-interfaces required and not found."])]) 36 37# Checks for library functions. 38LT_INIT # Removes 'unrecognized options: --with-libtool-sysroot' 39 40AC_ARG_ENABLE([oe-sdk], 41 AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.]) 42) 43AC_ARG_VAR(OECORE_TARGET_SYSROOT, 44 [Path to the OE SDK SYSROOT]) 45AS_IF([test "x$enable_oe_sdk" == "xyes"], 46 AS_IF([test "x$OECORE_TARGET_SYSROOT" == "x"], 47 AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk]) 48 ) 49 AC_MSG_NOTICE([Enabling OE-SDK at $OECORE_TARGET_SYSROOT]) 50 [ 51 testcase_flags="-Wl,-rpath,\${OECORE_TARGET_SYSROOT}/lib" 52 testcase_flags="${testcase_flags} -Wl,-rpath,\${OECORE_TARGET_SYSROOT}/usr/lib" 53 testcase_flags="${testcase_flags} -Wl,-dynamic-linker,`find \${OECORE_TARGET_SYSROOT}/lib/ld-*.so | sort -r -n | head -n1`" 54 ] 55 AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags]) 56) 57 58AC_ARG_ENABLE([virtual-pnor], 59 AS_HELP_STRING([--enable-virtual-pnor], [Turn on virtual pnor]) 60) 61AS_IF([test "x$enable_virtual_pnor" == "xno"], 62 [ 63 AM_CONDITIONAL(VIRTUAL_PNOR_ENABLED, false) 64 ], 65 [ 66 AM_CONDITIONAL(VIRTUAL_PNOR_ENABLED, true) 67 AX_APPEND_COMPILE_FLAGS([-DVIRTUAL_PNOR_ENABLED], [CXXFLAGS]) 68 AX_APPEND_COMPILE_FLAGS([-DVIRTUAL_PNOR_ENABLED], [CFLAGS]) 69 ] 70) 71 72AX_CODE_COVERAGE 73 74PKG_CHECK_MODULES(LIBSYSTEMD, libsystemd, , AC_MSG_ERROR([libsytemd not found])) 75AC_SUBST([LIBSYSTEMD_CFLAGS]) 76AC_SUBST([LIBSYSTEMD_LIBS]) 77 78AC_DEFINE(PARTITION_TOC_FILE, "pnor.toc", [The basename of the PNOR Table of contents file.]) 79AC_DEFINE(PARTITION_FILES_RO_LOC, "/var/lib/phosphor-software-manager/pnor/ro", [The path to the directory containing PNOR read only partition files.]) 80AC_DEFINE(PARTITION_FILES_RW_LOC, "/var/lib/phosphor-software-manager/pnor/rw", [The path to the directory containing PNOR read write partition files.]) 81AC_DEFINE(PARTITION_FILES_PRSV_LOC, "/var/lib/phosphor-software-manager/pnor/prsv", [The path to the directory containing PNOR preserve partition files.]) 82AC_DEFINE(PARTITION_FILES_PATCH_LOC, "/usr/local/share/pnor", [The path to the directory containing PNOR patch partition files.]) 83# Create configured output 84AC_CONFIG_FILES([Makefile]) 85AC_OUTPUT 86