| # Initialization |
| AC_PREREQ([2.69]) |
| AC_INIT([phosphor-led-sysfs], [1.0], [https://github.com/openbmc/phosphor-led-sysfs/issues]) |
| AC_LANG([C++]) |
| AC_CONFIG_HEADERS([config.h]) |
| AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz]) |
| AM_SILENT_RULES([yes]) |
| |
| # Checks for programs. |
| AC_PROG_CXX |
| AC_PROG_INSTALL |
| AC_PROG_MAKE_SET |
| |
| # Checks for libraries. |
| PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221]) |
| |
| # Checks for typedefs, structures, and compiler characteristics. |
| AX_CXX_COMPILE_STDCXX_17([noext]) |
| AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS]) |
| |
| # For libtools |
| LT_INIT |
| |
| # Checks for header files. |
| PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus],, [AC_MSG_ERROR([Could not find sdbusplus...openbmc/sdbusplus package required])]) |
| PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [phosphor-dbus-interfaces],, [AC_MSG_ERROR([Could not find phosphor-dbus-interfaces...openbmc/phosphor-dbus-interfaces package required])]) |
| |
| # Check/set gtest specific functions. |
| AS_IF([test "x$enable_tests" != "xno"], [ |
| PKG_CHECK_MODULES([GTEST], [gtest], [], [true]) |
| PKG_CHECK_MODULES([GMOCK], [gmock], [], [true]) |
| AX_PTHREAD |
| |
| AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) |
| AX_APPEND_COMPILE_FLAGS([$GTEST_CFLAGS], [CPPFLAGS]) |
| AC_LANG_PUSH([C++]) |
| AC_CHECK_HEADERS([gtest/gtest.h], [ |
| AS_IF([test "x$GTEST_CFLAGS" = "x"], [ |
| AS_IF([test "x$PTHREAD_CFLAGS" = "x"], [ |
| AX_APPEND_COMPILE_FLAGS(["-DGTEST_HAS_PTHREAD=0"], [GTEST_CFLAGS]) |
| ], [ |
| AX_APPEND_COMPILE_FLAGS(["-DGTEST_HAS_PTHREAD=1"], [GTEST_CFLAGS]) |
| AX_APPEND_COMPILE_FLAGS([$PTHREAD_CFLAGS], [GTEST_CFLAGS]) |
| ]) |
| ]) |
| ], [ |
| AS_IF([test "x$enable_tests" = "xyes"], [ |
| AC_MSG_ERROR([Testing enabled but could not find gtest/gtest.h]) |
| ]) |
| ]) |
| AC_LANG_POP([C++]) |
| AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) |
| |
| AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) |
| AX_APPEND_COMPILE_FLAGS([$GMOCK_CFLAGS], [CPPFLAGS]) |
| AC_LANG_PUSH([C++]) |
| AC_CHECK_HEADERS([gmock/gmock.h], [], [ |
| AS_IF([test "x$enable_tests" = "xyes"], [ |
| AC_MSG_ERROR([Testing enabled but could not find gmock/gmock.h]) |
| ]) |
| ]) |
| AC_LANG_POP([C++]) |
| AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS]) |
| |
| AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) |
| AX_APPEND_COMPILE_FLAGS([$GTEST_LIBS], [LDFLAGS]) |
| AC_CHECK_LIB([gtest], [main], [ |
| AS_IF([test "x$GTEST_LIBS" = "x"], [ |
| AX_APPEND_COMPILE_FLAGS([-lgtest], [GTEST_LIBS]) |
| ]) |
| ], [ |
| AS_IF([test "x$enable_tests" = "xyes"], [ |
| AC_MSG_ERROR([Testing enabled but couldn't find gtest libs]) |
| ]) |
| ]) |
| AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) |
| |
| AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) |
| AX_APPEND_COMPILE_FLAGS([$GMOCK_LIBS], [LDFLAGS]) |
| AC_CHECK_LIB([gmock], [main], [ |
| AS_IF([test "x$GMOCK_LIBS" = "x"], [ |
| AX_APPEND_COMPILE_FLAGS([-lgmock], [GMOCK_LIBS]) |
| ]) |
| ], [ |
| AS_IF([test "x$enable_tests" = "xyes"], [ |
| AC_MSG_ERROR([Testing enabled but couldn't find gmock libs]) |
| ]) |
| ]) |
| AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS]) |
| ]) |
| |
| AX_CODE_COVERAGE |
| |
| AC_ARG_VAR(BUSNAME, [The Dbus busname to own]) |
| AS_IF([test "x$BUSNAME" == "x"], [BUSNAME="xyz.openbmc_project.LED.Controller"]) |
| AC_DEFINE_UNQUOTED([BUSNAME], ["$BUSNAME"], [The Dbus busname to own]) |
| AC_ARG_VAR(OBJPATH, [The physical LED controller Dbus root]) |
| AS_IF([test "x$OBJPATH" == "x"], [OBJPATH="/xyz/openbmc_project/led/physical"]) |
| AC_DEFINE_UNQUOTED([OBJPATH], ["$OBJPATH"], [The physical LED controller Dbus root]) |
| |
| # Platform device path for led subsystem. |
| AC_ARG_VAR(DEVPATH, [Physical led device path]) |
| AS_IF([test "x$DEVPATH" == "x"], [DEVPATH="/sys/class/leds/"]) |
| AC_DEFINE_UNQUOTED([DEVPATH], ["$DEVPATH"], [Physical led device path]) |
| |
| # Create configured output |
| AC_CONFIG_FILES([Makefile]) |
| AC_OUTPUT |