| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 1 | # Initialization | 
 | 2 | AC_PREREQ([2.69]) | 
| Patrick Venture | a29216e | 2019-06-27 11:06:36 -0700 | [diff] [blame] | 3 | AC_INIT([phosphor-ipmi-flash], [1.0], [https://github.com/openbmc/phosphor-ipmi-flash/issues]) | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 4 | AC_LANG([C++]) | 
 | 5 | AC_CONFIG_HEADERS([config.h]) | 
| Patrick Venture | 30993b3 | 2018-11-28 14:52:00 -0800 | [diff] [blame] | 6 | AC_CONFIG_MACRO_DIRS([m4]) | 
| Patrick Venture | 9dc342a | 2019-03-18 08:43:36 -0700 | [diff] [blame] | 7 | AM_INIT_AUTOMAKE([subdir-objects -Wall -Wno-portability -Werror foreign dist-xz]) | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 8 | AM_SILENT_RULES([yes]) | 
 | 9 |  | 
| Patrick Venture | 2f3b4b6 | 2019-03-08 13:22:40 -0800 | [diff] [blame] | 10 | # Make sure the default CFLAGS of `-O2 -g` don't override CODE_COVERAGE_CFLAGS | 
 | 11 | # It is important that this comes before AC_PROG_C{C,XX}, as we are attempting | 
 | 12 | # to stop them from populating default CFLAGS and CXXFLAGS. | 
 | 13 | AS_IF([test "x$enable_tests" = "xno"], [enable_code_coverage=no]) | 
 | 14 | AS_IF([test "x$enable_code_coverage" != "xno"], [ | 
 | 15 |     AS_IF([test "x${CXXFLAGS+set}" != "xset"], [ | 
 | 16 |         AC_SUBST(CXXFLAGS, [""]) | 
 | 17 |     ]) | 
 | 18 |     AS_IF([test "x${CFLAGS+set}" != "xset"], [ | 
 | 19 |         AC_SUBST(CFLAGS, [""]) | 
 | 20 |     ]) | 
 | 21 | ]) | 
 | 22 |  | 
| Patrick Venture | ac570a1 | 2019-05-08 08:53:16 -0700 | [diff] [blame] | 23 | # If building tests, enable both hardware options that are configuration controlled | 
 | 24 | AS_IF([test "x$enable_tests" = "xyes"], [enable_static_layout=yes]) | 
 | 25 | AS_IF([test "x$enable_tests" = "xyes"], [enable_tarball_ubi=yes]) | 
 | 26 |  | 
| Patrick Venture | ac570a1 | 2019-05-08 08:53:16 -0700 | [diff] [blame] | 27 | AS_IF([test "x$enable_tests" = "xyes"], [enable_aspeed_p2a=yes]) | 
 | 28 |  | 
 | 29 | # You can only build main.o with one of the lpc implementations, however, specify both. | 
| Patrick Venture | ac570a1 | 2019-05-08 08:53:16 -0700 | [diff] [blame] | 30 | AS_IF([test "x$enable_tests" = "xyes"], [enable_aspeed_lpc=yes]) | 
 | 31 | AS_IF([test "x$enable_tests" = "xyes"], [enable_nuvoton_lpc=yes]) | 
 | 32 |  | 
| Patrick Venture | de04c77 | 2019-07-19 13:37:30 -0700 | [diff] [blame] | 33 | AS_IF([test "x$enable_host_bios" = "xyes"], [enable_host_bios=yes]) | 
 | 34 |  | 
| Patrick Venture | 9efef5d | 2019-06-19 08:45:44 -0700 | [diff] [blame] | 35 | # If building tests, enable building all cleanup handler options. | 
 | 36 | AS_IF([test "x$enable_tests" = "xyes"], [enable_cleanup_delete=yes]) | 
 | 37 |  | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 38 | # Checks for programs. | 
 | 39 | AC_PROG_CXX | 
 | 40 | AM_PROG_AR | 
 | 41 | AC_PROG_INSTALL | 
 | 42 | AC_PROG_MAKE_SET | 
 | 43 |  | 
 | 44 | # Checks for typedefs, structures, and compiler characteristics. | 
 | 45 | AX_CXX_COMPILE_STDCXX_17([noext]) | 
 | 46 | AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS]) | 
 | 47 |  | 
 | 48 | # Checks for library functions. | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 49 | LT_INIT | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 50 |  | 
| Patrick Venture | c2298de | 2019-06-26 19:12:12 -0700 | [diff] [blame] | 51 | # Enable building the host tool (default: yes) | 
 | 52 | AC_ARG_ENABLE([build-host-tool], | 
 | 53 |     AC_HELP_STRING([--disable-build-host-tool], [Disable building the host tool]) | 
| Patrick Venture | 4b4ea21 | 2018-11-21 21:23:53 -0800 | [diff] [blame] | 54 | ) | 
| Patrick Venture | c2298de | 2019-06-26 19:12:12 -0700 | [diff] [blame] | 55 | AM_CONDITIONAL([BUILD_HOST_TOOL], [test "x$enable_build_host_tool" != "xno"]) | 
 | 56 |  | 
| Patrick Venture | 0d3b872 | 2019-06-27 07:04:06 -0700 | [diff] [blame] | 57 | # Enable building the bmc (default: yes) | 
 | 58 | AC_ARG_ENABLE([build-bmc-blob-handler], | 
 | 59 |     AC_HELP_STRING([--disable-build-bmc-blob-handler], [Disable buliding the BMC BLOB handler]) | 
 | 60 | ) | 
 | 61 | AM_CONDITIONAL([BUILD_BMC_HANDLER], [test "x$enable_build_bmc_blob_handler" != "xno"]) | 
 | 62 |  | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 63 | # Enable building host-bios support into the BMC (default: no) | 
 | 64 | # This is only set if build-bmc-blob-handler is not "no." | 
 | 65 | AC_ARG_ENABLE([host-bios], | 
 | 66 |     AC_HELP_STRING([--enable-host-bios], [Enable supporting the host bios]) | 
 | 67 | ) | 
 | 68 |  | 
| Patrick Venture | c37fe1e | 2019-06-27 07:49:12 -0700 | [diff] [blame] | 69 | # Build the BMC by default, so check if set to no. | 
 | 70 | AS_IF([test "x$enable_build_bmc_blob_handler" != "xno"], [ | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 71 |     PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221]) | 
 | 72 |  | 
| Patrick Venture | c2298de | 2019-06-26 19:12:12 -0700 | [diff] [blame] | 73 |     PKG_CHECK_MODULES( | 
 | 74 |         [SDBUSPLUS], | 
 | 75 |         [sdbusplus], | 
 | 76 |         [AC_DEFINE(HAVE_SDBUSPLUS, [1], [Found openbmc/sdbusplus package])], | 
 | 77 |         [AC_MSG_ERROR([The openbmc/sdbusplus package is required])] | 
 | 78 |     ) | 
 | 79 |  | 
| Patrick Venture | 84778b8 | 2019-06-26 20:11:09 -0700 | [diff] [blame] | 80 |     AC_CHECK_HEADER( | 
 | 81 |         [blobs-ipmid/blobs.hpp], | 
 | 82 |         [], | 
 | 83 |         [AC_MSG_ERROR(["phosphor-ipmi-blobs required and not found."])] | 
 | 84 |     ) | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 85 |  | 
| Patrick Venture | 298930a | 2019-07-03 11:44:52 -0700 | [diff] [blame] | 86 |     AC_CHECK_HEADER( | 
 | 87 |         [nlohmann/json.hpp], | 
 | 88 |         [], | 
 | 89 |         [AC_MSG_ERROR([Could not find nlohmann/json.hpp])] | 
 | 90 |     ) | 
 | 91 |  | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 92 |     PKG_PROG_PKG_CONFIG | 
 | 93 |     AC_ARG_WITH([systemdsystemunitdir], | 
 | 94 |         [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])], | 
 | 95 |         [], | 
 | 96 |         [with_systemdsystemunitdir=auto] | 
 | 97 |     ) | 
 | 98 |     AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], | 
 | 99 |         [def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) | 
 | 100 |          AS_IF([test "x$def_systemdsystemunitdir" = "x"], | 
 | 101 |                [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], | 
 | 102 |                     [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])] | 
 | 103 |                ) | 
 | 104 |                with_systemdsystemunitdir=no], | 
 | 105 |                [with_systemdsystemunitdir="$def_systemdsystemunitdir"] | 
 | 106 |          )] | 
 | 107 |     ) | 
 | 108 |     AS_IF([test "x$with_systemdsystemunitdir" != "xno"], | 
 | 109 |         [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])] | 
 | 110 |     ) | 
 | 111 |     AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 112 |  | 
 | 113 |     # Only set if build-bmc-blob-handler wasn't unset. | 
| Patrick Venture | de04c77 | 2019-07-19 13:37:30 -0700 | [diff] [blame] | 114 |     AM_CONDITIONAL([ENABLE_HOST_BIOS], [test "x$enable_host_bios" = "xyes"]) | 
 | 115 |     AS_IF([test "x$enable_host_bios" = "xyes"], [ | 
 | 116 |         AX_APPEND_COMPILE_FLAGS([-DENABLE_HOST_BIOS], [CXXFLAGS]) | 
 | 117 |     ]) | 
| Patrick Venture | 413c0d6 | 2019-07-19 09:04:50 -0700 | [diff] [blame] | 118 | ], [ | 
 | 119 |     AM_CONDITIONAL([HAVE_SYSTEMD], [0]) | 
 | 120 |     AM_CONDITIONAL([ENABLE_HOST_BIOS], [0]) | 
| Patrick Venture | c2298de | 2019-06-26 19:12:12 -0700 | [diff] [blame] | 121 | ]) | 
 | 122 |  | 
| Patrick Venture | c37fe1e | 2019-06-27 07:49:12 -0700 | [diff] [blame] | 123 | # If not building the host-tool, we're building the BMC. | 
 | 124 | AS_IF([test "x$enable_build_host_tool" != "xno"], [ | 
 | 125 |     PKG_CHECK_MODULES( | 
| Benjamin Fair | c04c2c5 | 2020-06-05 09:14:44 -0700 | [diff] [blame] | 126 |         [PCIACCESS], | 
 | 127 |         [pciaccess >= 0.8.0], | 
| Patrick Venture | c37fe1e | 2019-06-27 07:49:12 -0700 | [diff] [blame] | 128 |         [], | 
| Benjamin Fair | c04c2c5 | 2020-06-05 09:14:44 -0700 | [diff] [blame] | 129 |         [AC_MSG_ERROR([Could not find libpciaccess... pciaccess package required])] | 
| Patrick Venture | c37fe1e | 2019-06-27 07:49:12 -0700 | [diff] [blame] | 130 |     ) | 
| Benjamin Fair | e5aafa5 | 2020-06-05 21:04:24 -0700 | [diff] [blame^] | 131 |     PKG_CHECK_MODULES( | 
 | 132 |         [STDPLUS], | 
 | 133 |         [stdplus], | 
 | 134 |         [], | 
 | 135 |         [AC_MSG_ERROR([Could not find stdplus... openbmc/stdplus package required])] | 
 | 136 |     ) | 
 | 137 |     PKG_CHECK_MODULES( | 
 | 138 |         [FMT], | 
 | 139 |         [fmt], | 
 | 140 |         [], | 
 | 141 |         [AC_MSG_ERROR([Could not find fmt... fmtlib/fmt package required])] | 
 | 142 |     ) | 
| Patrick Venture | c37fe1e | 2019-06-27 07:49:12 -0700 | [diff] [blame] | 143 | ]) | 
 | 144 |  | 
| Patrick Venture | c2298de | 2019-06-26 19:12:12 -0700 | [diff] [blame] | 145 | # These packages are required for both the BMC and the host-tool. | 
| Patrick Venture | 8b3b325 | 2019-03-07 07:50:13 -0800 | [diff] [blame] | 146 | PKG_CHECK_MODULES( | 
 | 147 |     [IPMIBLOB], | 
 | 148 |     [ipmiblob], | 
 | 149 |     [], | 
 | 150 |     [AC_MSG_ERROR( | 
 | 151 |         [Could not find ipmiblob...openbmc/ipmi-blob-tool package required]) | 
 | 152 |     ] | 
 | 153 | ) | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 154 | AX_PTHREAD([], [AC_MSG_ERROR(["pthread required and not found"])]) | 
 | 155 |  | 
| Patrick Venture | fa6c4d9 | 2018-11-02 18:34:53 -0700 | [diff] [blame] | 156 | # Configurability | 
| Patrick Venture | cf10cda | 2019-05-15 10:35:10 -0700 | [diff] [blame] | 157 |  | 
| Rui Zhang | d8515a6 | 2020-03-24 16:46:44 -0700 | [diff] [blame] | 158 | # Enable ppc host memory access | 
 | 159 | AC_ARG_ENABLE([ppc], | 
 | 160 |     AS_HELP_STRING([--enable-ppc], | 
 | 161 |                    [Enable ppc host memory access.])) | 
 | 162 | AM_CONDITIONAL([ENABLE_PPC], [test "x$enable_ppc" = "xyes"]) | 
 | 163 | AS_IF([test "x$enable_ppc" = "xyes"], [ | 
 | 164 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_PPC], [CXXFLAGS]) | 
 | 165 | ]) | 
 | 166 |  | 
| Patrick Venture | 6f81b16 | 2019-05-20 14:02:59 -0700 | [diff] [blame] | 167 | # Enable the reboot update mechanism | 
 | 168 | AC_ARG_ENABLE([reboot-update], | 
 | 169 |     AS_HELP_STRING([--enable-reboot-update], | 
 | 170 |                    [Enable use of reboot update mechanism.])) | 
| Patrick Venture | 298930a | 2019-07-03 11:44:52 -0700 | [diff] [blame] | 171 | AM_CONDITIONAL([ENABLE_REBOOT_UPDATE], [test "x$enable_reboot_update" = "xyes"]) | 
| Patrick Venture | 6f81b16 | 2019-05-20 14:02:59 -0700 | [diff] [blame] | 172 | AS_IF([test "x$enable_reboot_update" = "xyes"], [ | 
 | 173 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_REBOOT_UPDATE], [CXXFLAGS]) | 
 | 174 | ]) | 
 | 175 |  | 
| Brandon Kim | cec91dd | 2019-09-16 17:24:40 -0700 | [diff] [blame] | 176 | # Enable the update with status file | 
 | 177 | AC_ARG_ENABLE([update-status], | 
 | 178 |     AS_HELP_STRING([--enable-update-status], | 
 | 179 |                    [Enable use of update status file.])) | 
 | 180 | AM_CONDITIONAL([ENABLE_UPDATE_STATUS], [test "x$enable_update_status" = "xyes"]) | 
 | 181 | AS_IF([test "x$enable_update_status" = "xyes"], [ | 
 | 182 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_UPDATE_STATUS], [CXXFLAGS]) | 
 | 183 | ]) | 
 | 184 |  | 
| Patrick Venture | 0d3b872 | 2019-06-27 07:04:06 -0700 | [diff] [blame] | 185 | # Enable the cleanup handle that deletes the temporary files. (default: no) | 
| Patrick Venture | 9efef5d | 2019-06-19 08:45:44 -0700 | [diff] [blame] | 186 | AC_ARG_ENABLE([cleanup-delete], | 
 | 187 |     AS_HELP_STRING([--enable-cleanup-delete], | 
 | 188 |                    [Enable use of the delete files cleanup mechanism.])) | 
 | 189 | AM_CONDITIONAL([BUILD_CLEANUP_DELETE], [test "x$enable_cleanup_delete" = "xyes"]) | 
 | 190 |  | 
| Patrick Venture | fa6c4d9 | 2018-11-02 18:34:53 -0700 | [diff] [blame] | 191 | # Enable static layout for firmware image staging. | 
 | 192 | AC_ARG_ENABLE([static-layout], | 
 | 193 |     AS_HELP_STRING([--enable-static-layout], | 
 | 194 |                    [Enable static layout firmware update via Blobs])) | 
| Patrick Venture | 298930a | 2019-07-03 11:44:52 -0700 | [diff] [blame] | 195 | AM_CONDITIONAL([ENABLE_STATIC_LAYOUT], [test "x$enable_static_layout" = "xyes"]) | 
| Patrick Venture | fa6c4d9 | 2018-11-02 18:34:53 -0700 | [diff] [blame] | 196 | AS_IF([test "x$enable_static_layout" = "xyes"], [ | 
 | 197 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_STATIC_LAYOUT], [CXXFLAGS]) | 
 | 198 | ]) | 
| Patrick Venture | d46b811 | 2018-11-15 13:38:55 -0800 | [diff] [blame] | 199 | # Enable tarball for firmware image staging. | 
 | 200 | AC_ARG_ENABLE([tarball-ubi], | 
 | 201 |     AS_HELP_STRING([--enable-tarball-ubi], | 
 | 202 |                    [Enable tarball firmware update via Blobs])) | 
| Patrick Venture | 80bfa67 | 2019-05-08 15:24:48 -0700 | [diff] [blame] | 203 | AS_IF([test "x$enable_tarball_ubi" = "xyes"], [ | 
| Patrick Venture | d46b811 | 2018-11-15 13:38:55 -0800 | [diff] [blame] | 204 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_TARBALL_UBI], [CXXFLAGS]) | 
 | 205 | ]) | 
| Patrick Venture | 002916a | 2018-11-15 10:38:07 -0800 | [diff] [blame] | 206 |  | 
| Patrick Venture | b90cacd | 2019-07-01 11:53:57 -0700 | [diff] [blame] | 207 | AS_IF([test "x$enable_tarball_ubi" = "xyes"], [ | 
 | 208 |     AS_IF([test "x$enable_static_layout" = "xyes"], [ | 
 | 209 |         AS_IF([test "x$enable_tests" != "xyes"], [ | 
 | 210 |             AC_MSG_ERROR([Invalid configuration enabling both static and ubi tarball bmc image types.]) | 
 | 211 |         ]) | 
 | 212 |     ]) | 
 | 213 | ]) | 
 | 214 |  | 
| Patrick Venture | 002916a | 2018-11-15 10:38:07 -0800 | [diff] [blame] | 215 | # The address used for mapping P2A or LPC into the BMC's memory-space: | 
 | 216 | # e.g. https://github.com/openbmc/linux/blob/1da2ce51886a3b2f5db2087f26c661e13ee13b84/arch/arm/boot/dts/aspeed-bmc-quanta-q71l.dts#L26 | 
 | 217 | # or https://github.com/openbmc/linux/blob/1da2ce51886a3b2f5db2087f26c661e13ee13b84/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts#L166 | 
 | 218 | # for PCI, this address is passed back to the host and is used directly. | 
 | 219 | AC_ARG_VAR(MAPPED_ADDRESS, [The base address of the memory region reserved for mapping.]) | 
 | 220 | AS_IF([test "x$MAPPED_ADDRESS" == "x"], | 
| Patrick Venture | ce6b874 | 2019-01-15 12:11:02 -0800 | [diff] [blame] | 221 |     [AC_DEFINE_UNQUOTED(MAPPED_ADDRESS, [0], [Default address to 0.])], | 
 | 222 |     [AC_DEFINE_UNQUOTED(MAPPED_ADDRESS, [$MAPPED_ADDRESS], [Value for memory region mapping.])] | 
| Patrick Venture | 002916a | 2018-11-15 10:38:07 -0800 | [diff] [blame] | 223 | ) | 
 | 224 |  | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 225 | AC_ARG_ENABLE([aspeed-lpc], | 
 | 226 |     AS_HELP_STRING([--enable-aspeed-lpc], | 
 | 227 |                    [Enable external transfers using Aspeed LPC])) | 
| Patrick Venture | ac570a1 | 2019-05-08 08:53:16 -0700 | [diff] [blame] | 228 | AM_CONDITIONAL(ENABLE_ASPEED_LPC, [test "x$enable_aspeed_lpc" = "xyes"]) | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 229 | AS_IF([test "x$enable_aspeed_lpc" = "xyes"], [ | 
| Patrick Venture | 39b1305 | 2019-05-01 13:23:52 -0700 | [diff] [blame] | 230 |     AC_CHECK_HEADER( | 
 | 231 |         [linux/aspeed-lpc-ctrl.h], | 
 | 232 |         [], | 
 | 233 |         [AC_MSG_ERROR([Could not find linux/aspeed-lpc-ctrl.h])] | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 234 |     ) | 
| Patrick Venture | 39b1305 | 2019-05-01 13:23:52 -0700 | [diff] [blame] | 235 |  | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 236 |     AX_APPEND_COMPILE_FLAGS([-DASPEED_LPC], [CXXFLAGS]) | 
| Patrick Venture | 33740b9 | 2019-06-28 19:22:21 -0700 | [diff] [blame] | 237 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_LPC_BRIDGE], [CXXFLAGS]) | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 238 | ]) | 
 | 239 | AC_ARG_ENABLE([nuvoton-lpc], | 
 | 240 |     AS_HELP_STRING([--enable-nuvoton-lpc], | 
 | 241 |                    [Enable external transfers using Nuvoton LPC SHM])) | 
| Patrick Venture | ac570a1 | 2019-05-08 08:53:16 -0700 | [diff] [blame] | 242 | AM_CONDITIONAL(ENABLE_NUVOTON_LPC, [test "x$enable_nuvoton_lpc" = "xyes"]) | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 243 | AS_IF([test "x$enable_nuvoton_lpc" = "xyes"], [ | 
 | 244 |     AX_APPEND_COMPILE_FLAGS([-DNUVOTON_LPC], [CXXFLAGS]) | 
| Patrick Venture | 33740b9 | 2019-06-28 19:22:21 -0700 | [diff] [blame] | 245 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_LPC_BRIDGE], [CXXFLAGS]) | 
| Patrick Venture | e772842 | 2018-11-14 20:16:33 -0800 | [diff] [blame] | 246 | ]) | 
 | 247 |  | 
| Patrick Venture | e1f6d7d | 2019-06-28 18:08:49 -0700 | [diff] [blame] | 248 | AS_IF([test "x$enable_aspeed_lpc" = "xyes"], [ | 
 | 249 |     AS_IF([test "x$enable_nuvoton_lpc" = "xyes"], [ | 
 | 250 |         AS_IF([test "x$enable_tests" != "xyes"], [ | 
 | 251 |             AC_MSG_ERROR([Invalid configuration enabling both ASPEED and Nuvoton.]) | 
 | 252 |         ]) | 
 | 253 |     ]) | 
 | 254 | ]) | 
 | 255 |  | 
| Patrick Venture | a68d344 | 2019-04-30 12:51:07 -0700 | [diff] [blame] | 256 | AC_ARG_ENABLE([aspeed-p2a], | 
 | 257 |     AS_HELP_STRING([--enable-aspeed-p2a], | 
 | 258 |                    [Enable external transfers using Aspeed PCI-to-AHB])) | 
| Patrick Venture | ac570a1 | 2019-05-08 08:53:16 -0700 | [diff] [blame] | 259 | AM_CONDITIONAL(ENABLE_ASPEED_P2A, [test "x$enable_aspeed_p2a" = "xyes"]) | 
| Patrick Venture | a68d344 | 2019-04-30 12:51:07 -0700 | [diff] [blame] | 260 | AS_IF([test "x$enable_aspeed_p2a" = "xyes"], [ | 
 | 261 |     AC_CHECK_HEADER(linux/aspeed-p2a-ctrl.h, | 
 | 262 |                     [HAVE_UAPI_LINUX_P2A_CTRL_H=""], | 
 | 263 |                     [HAVE_UAPI_LINUX_P2A_CTRL_H="-I linux/aspeed-p2a-ctrl.h"]) | 
 | 264 |     AS_IF([test "$HAVE_UAPI_LINUX_P2A_CTRL_H" != ""], | 
 | 265 |         AC_MSG_WARN([Could not find linux/aspeed-p2a-ctrl.h: Attempting to download locally for building from openbmc/linux/+/dev-5.0]) | 
 | 266 |         AC_SUBST([PCI_BMC_DL], | 
 | 267 |                  [`mkdir -p linux;wget https://raw.githubusercontent.com/openbmc/linux/dev-5.0/include/uapi/linux/aspeed-p2a-ctrl.h -O linux/aspeed-p2a-ctrl.h`]) | 
 | 268 |     ) | 
 | 269 |     AX_APPEND_COMPILE_FLAGS([-DASPEED_P2A], [CXXFLAGS]) | 
| Patrick Venture | 89e97ba | 2019-06-28 19:07:59 -0700 | [diff] [blame] | 270 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_PCI_BRIDGE], [CXXFLAGS]) | 
| Patrick Venture | a68d344 | 2019-04-30 12:51:07 -0700 | [diff] [blame] | 271 | ]) | 
 | 272 |  | 
| Medad CChien | 874bdf9 | 2019-10-31 14:38:15 +0800 | [diff] [blame] | 273 | AC_ARG_ENABLE([nuvoton-p2a-vga], | 
 | 274 |     AS_HELP_STRING([--enable-nuvoton-p2a-vga], | 
 | 275 |                    [Enable external transfers using Nuvoton PCI-to-AHB via VGA])) | 
 | 276 |  | 
 | 277 | AM_CONDITIONAL(ENABLE_NUVOTON_P2A_VGA, [test "x$enable_nuvoton_p2a_vga" = "xyes"]) | 
 | 278 | AS_IF([test "x$enable_nuvoton_p2a_vga" = "xyes"], [ | 
 | 279 |     AX_APPEND_COMPILE_FLAGS([-DNUVOTON_P2A_VGA], [CXXFLAGS]) | 
 | 280 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_PCI_BRIDGE], [CXXFLAGS]) | 
 | 281 | ]) | 
 | 282 |  | 
 | 283 | AC_ARG_ENABLE([nuvoton-p2a-mbox], | 
 | 284 |     AS_HELP_STRING([--enable-nuvoton-p2a-mbox], | 
 | 285 |                    [Enable external transfers using Nuvoton PCI-to-AHB via MBOX])) | 
 | 286 |  | 
 | 287 | AM_CONDITIONAL(ENABLE_NUVOTON_P2A_MBOX, [test "x$enable_nuvoton_p2a_mbox" = "xyes"]) | 
 | 288 | AS_IF([test "x$enable_nuvoton_p2a_mbox" = "xyes"], [ | 
 | 289 |     AX_APPEND_COMPILE_FLAGS([-DNUVOTON_P2A_MBOX], [CXXFLAGS]) | 
 | 290 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_PCI_BRIDGE], [CXXFLAGS]) | 
 | 291 | ]) | 
 | 292 |  | 
| Patrick Venture | e1f6d7d | 2019-06-28 18:08:49 -0700 | [diff] [blame] | 293 | AS_IF([test "x$enable_aspeed_p2a" = "xyes"], [ | 
 | 294 |     AS_IF([test "x$enable_nuvoton_lpc" = "xyes"], [ | 
 | 295 |         AS_IF([test "x$enable_tests" != "xyes"], [ | 
 | 296 |             AC_MSG_ERROR([Invalid configuration enabling both ASPEED and Nuvoton.]) | 
 | 297 |         ]) | 
 | 298 |     ]) | 
 | 299 | ]) | 
 | 300 |  | 
| Medad CChien | 874bdf9 | 2019-10-31 14:38:15 +0800 | [diff] [blame] | 301 | AS_IF([test "x$enable_aspeed_p2a" = "xyes"], [ | 
 | 302 |     AS_IF([test "x$enable_nuvoton_p2a_vga" = "xyes" -o "x$enable_nuvoton_p2a_mbox" = "xyes"], [ | 
 | 303 |         AS_IF([test "x$enable_tests" != "xyes"], [ | 
 | 304 |             AC_MSG_ERROR([Invalid configuration enabling both ASPEED and Nuvoton.]) | 
 | 305 |         ]) | 
 | 306 |     ]) | 
 | 307 | ]) | 
 | 308 |  | 
 | 309 | AS_IF([test "x$enable_nuvoton_lpc" = "xyes"], [ | 
 | 310 |     AS_IF([test "x$enable_nuvoton_p2a_vga" = "xyes" -o "x$enable_nuvoton_p2a_mbox" = "xyes"], [ | 
 | 311 |         AS_IF([test "x$enable_tests" != "xyes"], [ | 
 | 312 |             AC_MSG_ERROR([Invalid configuration enabling both PCI and LPC of Nuvoton.]) | 
 | 313 |         ]) | 
 | 314 |     ]) | 
 | 315 | ]) | 
 | 316 |  | 
 | 317 | AS_IF([test "x$enable_nuvoton_p2a_vga" = "xyes"], [ | 
 | 318 |     AS_IF([test "x$enable_nuvoton_p2a_mbox" = "xyes"], [ | 
 | 319 |         AS_IF([test "x$enable_tests" != "xyes"], [ | 
 | 320 |             AC_MSG_ERROR([Invalid configuration enabling both PCI-VGA and PCI-MBOX of Nuvoton.]) | 
 | 321 |         ]) | 
 | 322 |     ]) | 
 | 323 | ]) | 
 | 324 |  | 
| Benjamin Fair | 545f565 | 2019-10-09 14:18:54 -0700 | [diff] [blame] | 325 | AC_ARG_ENABLE([net-bridge], | 
 | 326 |     AS_HELP_STRING([--enable-net-bridge], | 
 | 327 |                    [Enable external transfers using a TCP connection])) | 
 | 328 | AM_CONDITIONAL(ENABLE_NET_BRIDGE, [test "x$enable_net_bridge" = "xyes"]) | 
 | 329 | AS_IF([test "x$enable_net_bridge" = "xyes"], [ | 
 | 330 |     AX_APPEND_COMPILE_FLAGS([-DENABLE_NET_BRIDGE], [CXXFLAGS]) | 
 | 331 | ]) | 
 | 332 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 333 | AC_ARG_VAR( | 
 | 334 |     STATIC_HANDLER_STAGED_NAME, | 
 | 335 |     [The file to use for staging the firmware update.] | 
 | 336 | ) | 
 | 337 | AS_IF( | 
 | 338 |     [test "x$STATIC_HANDLER_STAGED_NAME" == "x"], | 
 | 339 |     [STATIC_HANDLER_STAGED_NAME="/run/initramfs/bmc-image"] | 
 | 340 | ) | 
 | 341 | AC_DEFINE_UNQUOTED( | 
 | 342 |     [STATIC_HANDLER_STAGED_NAME], | 
 | 343 |     ["$STATIC_HANDLER_STAGED_NAME"], | 
 | 344 |     [The file to use for staging the firmware update.] | 
 | 345 | ) | 
| Patrick Venture | 35a82f3 | 2018-11-15 13:34:22 -0800 | [diff] [blame] | 346 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 347 | AC_ARG_VAR( | 
 | 348 |     TARBALL_STAGED_NAME, | 
 | 349 |     [The file to use for staging the firmware update.] | 
 | 350 | ) | 
 | 351 | AS_IF( | 
 | 352 |     [test "x$TARBALL_STAGED_NAME" == "x"], | 
 | 353 |     [TARBALL_STAGED_NAME="/tmp/image-update.tar"] | 
 | 354 | ) | 
 | 355 | AC_DEFINE_UNQUOTED( | 
 | 356 |     [TARBALL_STAGED_NAME], | 
 | 357 |     ["$TARBALL_STAGED_NAME"], | 
 | 358 |     [The file to use for staging the firmware update.] | 
 | 359 | ) | 
| Patrick Venture | d46b811 | 2018-11-15 13:38:55 -0800 | [diff] [blame] | 360 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 361 | AC_ARG_VAR( | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 362 |     BIOS_STAGED_NAME, | 
 | 363 |     [The file to use for staging the bios firmware update.] | 
 | 364 | ) | 
 | 365 | AS_IF( | 
 | 366 |     [test "x$BIOS_STAGED_NAME" == "x"], | 
 | 367 |     [BIOS_STAGED_NAME="/tmp/bios-image"] | 
 | 368 | ) | 
 | 369 | AC_DEFINE_UNQUOTED( | 
 | 370 |     [BIOS_STAGED_NAME], | 
 | 371 |     ["$BIOS_STAGED_NAME"], | 
 | 372 |     [The file to use for staging the bios firmware update.] | 
 | 373 | ) | 
 | 374 |  | 
 | 375 | AC_ARG_VAR( | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 376 |     HASH_FILENAME, | 
 | 377 |     [The file to use for the hash provided.] | 
 | 378 | ) | 
 | 379 | AS_IF( | 
 | 380 |     [test "x$HASH_FILENAME" == "x"], | 
 | 381 |     [HASH_FILENAME="/tmp/bmc.sig"] | 
 | 382 | ) | 
 | 383 | AC_DEFINE_UNQUOTED( | 
 | 384 |     [HASH_FILENAME], | 
 | 385 |     ["$HASH_FILENAME"], | 
 | 386 |     [The file to use for the hash provided.] | 
 | 387 | ) | 
| Patrick Venture | 35a82f3 | 2018-11-15 13:34:22 -0800 | [diff] [blame] | 388 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 389 | AC_ARG_VAR( | 
 | 390 |     PREPARATION_DBUS_SERVICE, | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 391 |     [The systemd target started when the host starts to send an update.] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 392 | ) | 
 | 393 | AS_IF( | 
 | 394 |     [test "x$PREPARATION_DBUS_SERVICE" == "x"], | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 395 |     [PREPARATION_DBUS_SERVICE="phosphor-ipmi-flash-bmc-prepare.target"] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 396 | ) | 
 | 397 | AC_DEFINE_UNQUOTED( | 
 | 398 |     [PREPARATION_DBUS_SERVICE], | 
 | 399 |     ["$PREPARATION_DBUS_SERVICE"], | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 400 |     [The systemd target started when the host starts to send an update.] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 401 | ) | 
| Patrick Venture | 6d7735d | 2019-06-21 10:03:19 -0700 | [diff] [blame] | 402 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 403 | AC_ARG_VAR( | 
 | 404 |     VERIFY_STATUS_FILENAME, | 
 | 405 |     [The file checked for the verification status.] | 
 | 406 | ) | 
 | 407 | AS_IF( | 
 | 408 |     [test "x$VERIFY_STATUS_FILENAME" == "x"], | 
 | 409 |     [VERIFY_STATUS_FILENAME="/tmp/bmc.verify"] | 
 | 410 | ) | 
 | 411 | AC_DEFINE_UNQUOTED( | 
 | 412 |     [VERIFY_STATUS_FILENAME], | 
 | 413 |     ["$VERIFY_STATUS_FILENAME"], | 
 | 414 |     [The file checked for the verification status.] | 
 | 415 | ) | 
| Patrick Venture | 74059d6 | 2019-05-17 10:40:26 -0700 | [diff] [blame] | 416 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 417 | AC_ARG_VAR( | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 418 |     BIOS_VERIFY_STATUS_FILENAME, | 
 | 419 |     [The file checked for the verification status.] | 
 | 420 | ) | 
 | 421 | AS_IF( | 
 | 422 |     [test "x$BIOS_VERIFY_STATUS_FILENAME" == "x"], | 
 | 423 |     [BIOS_VERIFY_STATUS_FILENAME="/tmp/bios.verify"] | 
 | 424 | ) | 
 | 425 | AC_DEFINE_UNQUOTED( | 
 | 426 |     [BIOS_VERIFY_STATUS_FILENAME], | 
 | 427 |     ["$BIOS_VERIFY_STATUS_FILENAME"], | 
 | 428 |     [The file checked for the verification status.] | 
 | 429 | ) | 
 | 430 |  | 
 | 431 | AC_ARG_VAR( | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 432 |     VERIFY_DBUS_SERVICE, | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 433 |     [The systemd target started for verification.] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 434 | ) | 
 | 435 | AS_IF( | 
 | 436 |     [test "x$VERIFY_DBUS_SERVICE" == "x"], | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 437 |     [VERIFY_DBUS_SERVICE="phosphor-ipmi-flash-bmc-verify.target"] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 438 | ) | 
 | 439 | AC_DEFINE_UNQUOTED( | 
 | 440 |     [VERIFY_DBUS_SERVICE], | 
 | 441 |     ["$VERIFY_DBUS_SERVICE"], | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 442 |     [The systemd target started for verification.] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 443 | ) | 
| Patrick Venture | 3ecb350 | 2019-05-17 11:03:51 -0700 | [diff] [blame] | 444 |  | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 445 | AC_ARG_VAR( | 
 | 446 |     UPDATE_DBUS_SERVICE, | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 447 |     [The systemd target started for updating the BMC.] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 448 | ) | 
 | 449 | AS_IF( | 
 | 450 |     [test "x$UPDATE_DBUS_SERVICE" == "x"], | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 451 |     [UPDATE_DBUS_SERVICE="phosphor-ipmi-flash-bmc-update.target"] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 452 | ) | 
 | 453 | AC_DEFINE_UNQUOTED( | 
 | 454 |     [UPDATE_DBUS_SERVICE], | 
 | 455 |     ["$UPDATE_DBUS_SERVICE"], | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 456 |     [The systemd target started for updating the BMC.] | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 457 | ) | 
| Patrick Venture | 6f81b16 | 2019-05-20 14:02:59 -0700 | [diff] [blame] | 458 |  | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 459 | AC_ARG_VAR( | 
| Brandon Kim | cec91dd | 2019-09-16 17:24:40 -0700 | [diff] [blame] | 460 |     UPDATE_STATUS_FILENAME, | 
 | 461 |     [The file checked for the update status.] | 
 | 462 | ) | 
 | 463 | AS_IF( | 
 | 464 |     [test "x$UPDATE_STATUS_FILENAME" == "x"], | 
 | 465 |     [UPDATE_STATUS_FILENAME="/tmp/bmc.update"] | 
 | 466 | ) | 
 | 467 | AC_DEFINE_UNQUOTED( | 
 | 468 |     [UPDATE_STATUS_FILENAME], | 
 | 469 |     ["$UPDATE_STATUS_FILENAME"], | 
 | 470 |     [The file checked for the update status.] | 
 | 471 | ) | 
 | 472 |  | 
 | 473 | AC_ARG_VAR( | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 474 |     PREPARATION_BIOS_TARGET, | 
 | 475 |     [The systemd target started when the host starts to send an update.] | 
 | 476 | ) | 
 | 477 | AS_IF( | 
 | 478 |     [test "x$PREPARATION_BIOS_TARGET" == "x"], | 
 | 479 |     [PREPARATION_BIOS_TARGET="phosphor-ipmi-flash-bios-prepare.target"] | 
 | 480 | ) | 
 | 481 | AC_DEFINE_UNQUOTED( | 
 | 482 |     [PREPARATION_BIOS_TARGET], | 
 | 483 |     ["$PREPARATION_BIOS_TARGET"], | 
 | 484 |     [The systemd target started when the host starts to send an update.] | 
 | 485 | ) | 
 | 486 | AC_ARG_VAR( | 
 | 487 |     VERIFY_BIOS_TARGET, | 
 | 488 |     [The systemd target started for verifying the BIOS image.] | 
 | 489 | ) | 
 | 490 | AS_IF( | 
 | 491 |     [test "x$VERIFY_BIOS_TARGET" == "x"], | 
 | 492 |     [VERIFY_BIOS_TARGET="phosphor-ipmi-flash-bios-verify.target"] | 
 | 493 | ) | 
 | 494 | AC_DEFINE_UNQUOTED( | 
 | 495 |     [VERIFY_BIOS_TARGET], | 
 | 496 |     ["$VERIFY_BIOS_TARGET"], | 
 | 497 |     [The systemd target started for verifying the BIOS image.] | 
 | 498 | ) | 
 | 499 | AC_ARG_VAR( | 
 | 500 |     UPDATE_BIOS_TARGET, | 
 | 501 |     [The systemd target started for updating the BIOS.] | 
 | 502 | ) | 
 | 503 | AS_IF( | 
 | 504 |     [test "x$UPDATE_BIOS_TARGET" == "x"], | 
 | 505 |     [UPDATE_BIOS_TARGET="phosphor-ipmi-flash-bios-update.target"] | 
 | 506 | ) | 
 | 507 | AC_DEFINE_UNQUOTED( | 
 | 508 |     [UPDATE_BIOS_TARGET], | 
 | 509 |     ["$UPDATE_BIOS_TARGET"], | 
 | 510 |     [The systemd target started for updating the BIOS.] | 
 | 511 | ) | 
 | 512 |  | 
| Patrick Venture | 440bc38 | 2018-12-13 19:10:55 -0800 | [diff] [blame] | 513 | AC_CHECK_HEADER(linux/ipmi.h, [HAVE_LINUX_IPMI_H=""], [HAVE_LINUX_IPMI_H="-I linux/ipmi.h"]) | 
 | 514 | AS_IF([test "$HAVE_LINUX_IPMI_H" != ""], | 
 | 515 |     AC_MSG_WARN([Could not find linux/ipmi.h: Attempting to download locally for building from openbmc/linux/+/dev-4.18]) | 
 | 516 |     AC_SUBST([IPMI_BMC_DL], | 
 | 517 |              [`mkdir -p linux;wget https://raw.githubusercontent.com/openbmc/linux/dev-4.18/include/uapi/linux/ipmi.h -O linux/ipmi.h`]) | 
 | 518 | ) | 
 | 519 |  | 
 | 520 | AC_CHECK_HEADER(linux/ipmi_msgdefs.h, [HAVE_LINUX_IPMIMSGDEFS_H=""], [HAVE_LINUX_IPMIMSGDEFS_H="-I linux/ipmi_msgdefs.h"]) | 
 | 521 | AS_IF([test "$HAVE_LINUX_IPMIMSGDEFS_H" != ""], | 
 | 522 |     AC_MSG_WARN([Could not find linux/ipmi_msgdefs.h: Attempting to download locally for building from openbmc/linux/+/dev-4.18]) | 
 | 523 |     AC_SUBST([IPMIMSG_BMC_DL], | 
 | 524 |              [`mkdir -p linux;wget https://raw.githubusercontent.com/openbmc/linux/dev-4.18/include/uapi/linux/ipmi_msgdefs.h -O linux/ipmi_msgdefs.h`]) | 
 | 525 | ) | 
 | 526 |  | 
| Patrick Venture | 6bc04f9 | 2019-03-06 13:49:21 -0800 | [diff] [blame] | 527 | # Make it possible for users to choose if they want test support | 
 | 528 | # explicitly or not at all | 
 | 529 | AC_ARG_ENABLE([tests], AC_HELP_STRING([--disable-tests], | 
 | 530 |                                       [Build test cases])) | 
 | 531 |  | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 532 | # Check/set gtest specific functions. | 
| Patrick Venture | 6bc04f9 | 2019-03-06 13:49:21 -0800 | [diff] [blame] | 533 | AS_IF([test "x$enable_tests" != "xno"], [ | 
 | 534 |     PKG_CHECK_MODULES([GTEST], [gtest], [], [true]) | 
 | 535 |     PKG_CHECK_MODULES([GMOCK], [gmock], [], [true]) | 
 | 536 |     AX_PTHREAD | 
 | 537 |  | 
 | 538 |     AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) | 
 | 539 |     AX_APPEND_COMPILE_FLAGS([$GTEST_CFLAGS], [CPPFLAGS]) | 
 | 540 |     AC_LANG_PUSH([C++]) | 
 | 541 |     AC_CHECK_HEADERS([gtest/gtest.h], [ | 
 | 542 |         AS_IF([test "x$GTEST_CFLAGS" = "x"], [ | 
 | 543 |             AS_IF([test "x$PTHREAD_CFLAGS" = "x"], [ | 
 | 544 |                 AX_APPEND_COMPILE_FLAGS(["-DGTEST_HAS_PTHREAD=0"], [GTEST_CFLAGS]) | 
 | 545 |             ], [ | 
 | 546 |                 AX_APPEND_COMPILE_FLAGS(["-DGTEST_HAS_PTHREAD=1"], [GTEST_CFLAGS]) | 
 | 547 |                 AX_APPEND_COMPILE_FLAGS([$PTHREAD_CFLAGS], [GTEST_CFLAGS]) | 
 | 548 |             ]) | 
 | 549 |         ]) | 
 | 550 |     ], [ | 
 | 551 |         AS_IF([test "x$enable_tests" = "xyes"], [ | 
 | 552 |             AC_MSG_ERROR([Testing enabled but could not find gtest/gtest.h]) | 
 | 553 |         ]) | 
 | 554 |     ]) | 
 | 555 |     AC_LANG_POP([C++]) | 
 | 556 |     AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) | 
 | 557 |  | 
 | 558 |     AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) | 
 | 559 |     AX_APPEND_COMPILE_FLAGS([$GMOCK_CFLAGS], [CPPFLAGS]) | 
 | 560 |     AC_LANG_PUSH([C++]) | 
 | 561 |     AC_CHECK_HEADERS([gmock/gmock.h], [], [ | 
 | 562 |         AS_IF([test "x$enable_tests" = "xyes"], [ | 
 | 563 |             AC_MSG_ERROR([Testing enabled but could not find gmock/gmock.h]) | 
 | 564 |         ]) | 
 | 565 |     ]) | 
 | 566 |     AC_LANG_POP([C++]) | 
 | 567 |     AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) | 
 | 568 |  | 
 | 569 |     AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) | 
 | 570 |     AX_APPEND_COMPILE_FLAGS([$GTEST_LIBS], [LDFLAGS]) | 
 | 571 |     AC_CHECK_LIB([gtest], [main], [ | 
 | 572 |         AS_IF([test "x$GTEST_LIBS" = "x"], [ | 
 | 573 |             AX_APPEND_COMPILE_FLAGS([-lgtest], [GTEST_LIBS]) | 
 | 574 |         ]) | 
 | 575 |     ], [ | 
 | 576 |         AS_IF([test "x$enable_tests" = "xyes"], [ | 
 | 577 |             AC_MSG_ERROR([Testing enabled but couldn't find gtest libs]) | 
 | 578 |         ]) | 
 | 579 |     ]) | 
 | 580 |     AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) | 
 | 581 |  | 
 | 582 |     AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) | 
 | 583 |     AX_APPEND_COMPILE_FLAGS([$GMOCK_LIBS], [LDFLAGS]) | 
 | 584 |     AC_CHECK_LIB([gmock], [main], [ | 
 | 585 |         AS_IF([test "x$GMOCK_LIBS" = "x"], [ | 
 | 586 |             AX_APPEND_COMPILE_FLAGS([-lgmock], [GMOCK_LIBS]) | 
 | 587 |         ]) | 
 | 588 |     ], [ | 
 | 589 |         AS_IF([test "x$enable_tests" = "xyes"], [ | 
 | 590 |             AC_MSG_ERROR([Testing enabled but couldn't find gmock libs]) | 
 | 591 |         ]) | 
 | 592 |     ]) | 
 | 593 |     AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) | 
 | 594 | ]) | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 595 |  | 
| Patrick Venture | 4679e50 | 2019-03-19 11:27:00 -0700 | [diff] [blame] | 596 | # Check for valgrind | 
 | 597 | AS_IF([test "x$enable_tests" = "xno"], [enable_valgrind=no]) | 
 | 598 | m4_foreach([vgtool], [valgrind_tool_list], | 
 | 599 |     [AX_VALGRIND_DFLT(vgtool, [off])]) | 
 | 600 | AX_VALGRIND_DFLT([memcheck], [on]) | 
 | 601 | AX_VALGRIND_CHECK | 
 | 602 | AM_EXTRA_RECURSIVE_TARGETS([check-valgrind]) | 
 | 603 | m4_foreach([vgtool], [valgrind_tool_list], | 
 | 604 |     [AM_EXTRA_RECURSIVE_TARGETS([check-valgrind-]vgtool)]) | 
 | 605 |  | 
| Patrick Venture | 2f3b4b6 | 2019-03-08 13:22:40 -0800 | [diff] [blame] | 606 | # Code coverage | 
 | 607 | AX_CODE_COVERAGE | 
| Patrick Venture | 2f3b4b6 | 2019-03-08 13:22:40 -0800 | [diff] [blame] | 608 | AS_IF([test "x$CODE_COVERAGE_ENABLED" = "xyes"], [ | 
 | 609 |     AX_APPEND_COMPILE_FLAGS([-DHAVE_GCOV], [CODE_COVERAGE_CPPFLAGS]) | 
 | 610 | ]) | 
| Patrick Venture | 9dc342a | 2019-03-18 08:43:36 -0700 | [diff] [blame] | 611 | m4_ifdef([_AX_CODE_COVERAGE_RULES], | 
 | 612 |     [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [true])], | 
 | 613 |     [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [false])]) | 
 | 614 | AX_ADD_AM_MACRO_STATIC([]) | 
| Patrick Venture | 2f3b4b6 | 2019-03-08 13:22:40 -0800 | [diff] [blame] | 615 |  | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 616 | # Add --enable-oe-sdk flag to configure script | 
 | 617 | AC_ARG_ENABLE([oe-sdk], | 
 | 618 |     AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.]) | 
 | 619 | ) | 
 | 620 |  | 
 | 621 | # Check for OECORE_TARGET_SYSROOT in the environment. | 
 | 622 | AC_ARG_VAR(OECORE_TARGET_SYSROOT, | 
 | 623 |     [Path to the OE SDK SYSROOT]) | 
 | 624 |  | 
 | 625 | # Configure OESDK_TESTCASE_FLAGS environment variable, which will be later | 
 | 626 | # used in test/Makefile.am | 
 | 627 | AS_IF([test "x$enable_oe_sdk" == "xyes"], | 
 | 628 |     AS_IF([test "x$OECORE_TARGET_SYSROOT" == "x"], | 
 | 629 |           AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk]) | 
 | 630 |     ) | 
 | 631 |     AC_MSG_NOTICE([Enabling OE-SDK at $OECORE_TARGET_SYSROOT]) | 
 | 632 |     [ | 
 | 633 |         testcase_flags="-Wl,-rpath,\${OECORE_TARGET_SYSROOT}/lib" | 
 | 634 |         testcase_flags="${testcase_flags} -Wl,-rpath,\${OECORE_TARGET_SYSROOT}/usr/lib" | 
 | 635 |         testcase_flags="${testcase_flags} -Wl,-dynamic-linker,`find \${OECORE_TARGET_SYSROOT}/lib/ld-*.so | sort -r -n | head -n1`" | 
 | 636 |     ] | 
 | 637 |     AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags]) | 
 | 638 | ) | 
 | 639 |  | 
 | 640 | # Create configured output | 
| Patrick Venture | f0c71df | 2019-06-26 19:39:36 -0700 | [diff] [blame] | 641 | AC_CONFIG_FILES([Makefile]) | 
 | 642 | AC_CONFIG_FILES([bmc/Makefile bmc/test/Makefile]) | 
| Patrick Venture | 6264e69 | 2019-06-21 10:57:45 -0700 | [diff] [blame] | 643 | AC_CONFIG_FILES([tools/Makefile tools/test/Makefile]) | 
 | 644 | AC_CONFIG_FILES([cleanup/Makefile cleanup/test/Makefile]) | 
| Patrick Venture | fd18216 | 2019-07-01 07:39:31 -0700 | [diff] [blame] | 645 | AC_CONFIG_FILES([bmc/phosphor-ipmi-flash-bmc-prepare.target]) | 
 | 646 | AC_CONFIG_FILES([bmc/phosphor-ipmi-flash-bmc-verify.target]) | 
 | 647 | AC_CONFIG_FILES([bmc/phosphor-ipmi-flash-bmc-update.target]) | 
| Patrick Venture | 7c2a00e | 2019-07-01 17:33:03 -0700 | [diff] [blame] | 648 | AC_CONFIG_FILES([bmc/phosphor-ipmi-flash-bios-prepare.target]) | 
 | 649 | AC_CONFIG_FILES([bmc/phosphor-ipmi-flash-bios-verify.target]) | 
 | 650 | AC_CONFIG_FILES([bmc/phosphor-ipmi-flash-bios-update.target]) | 
| Patrick Venture | 298930a | 2019-07-03 11:44:52 -0700 | [diff] [blame] | 651 | AC_CONFIG_FILES([bmc/config-static-bmc-reboot.json]) | 
 | 652 | AC_CONFIG_FILES([bmc/config-static-bmc.json]) | 
| Brandon Kim | cec91dd | 2019-09-16 17:24:40 -0700 | [diff] [blame] | 653 | AC_CONFIG_FILES([bmc/config-static-bmc-with-update-status.json]) | 
| Patrick Venture | 298930a | 2019-07-03 11:44:52 -0700 | [diff] [blame] | 654 | AC_CONFIG_FILES([bmc/config-bios.json]) | 
| Patrick Venture | c7ca291 | 2018-11-02 11:38:33 -0700 | [diff] [blame] | 655 | AC_OUTPUT |