blob: 56a430cd3ac09b6ef3c2943dd17c6c0fba225512 [file] [log] [blame]
Matthew Barth5e60ba52016-09-26 13:40:01 -05001# Initializaion
2AC_PREREQ([2.69])
3AC_INIT([phosphor-networkd], [1.0], [https://github.com/openbmc/phosphor-networkd/issues])
Ratan Gupta8c834932017-04-14 16:30:24 +05304AC_LANG([C++])
Matthew Barth5e60ba52016-09-26 13:40:01 -05005AC_CONFIG_HEADERS([config.h])
6AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz])
7AM_SILENT_RULES([yes])
8
Ratan Gupta8c834932017-04-14 16:30:24 +05309
10# Checks for typedefs, structures, and compiler characteristics.
11AX_CXX_COMPILE_STDCXX_14([noext])
12AX_APPEND_COMPILE_FLAGS([-fpic -Wall -Werror], [CXXFLAGS])
13
Matthew Barth5e60ba52016-09-26 13:40:01 -050014# Checks for programs.
Ratan Gupta8c834932017-04-14 16:30:24 +053015AC_PROG_CXX
Matthew Barth5e60ba52016-09-26 13:40:01 -050016AC_PROG_CC
17AM_PROG_AR
18AC_PROG_INSTALL
19AC_PROG_MAKE_SET
20
Ratan Gupta8c834932017-04-14 16:30:24 +053021# Surpress the --with-libtool-sysroot error
22LT_INIT
23
Matthew Barth5e60ba52016-09-26 13:40:01 -050024# Checks for libraries.
25PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
26
Ratan Gupta8c834932017-04-14 16:30:24 +053027PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus],,\
28AC_MSG_ERROR(["Requires sdbusplus package."]))
29
30PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging],,\
31AC_MSG_ERROR(["Requires phosphor-logging package."]))
32
Matthew Barth5e60ba52016-09-26 13:40:01 -050033# Checks for header files.
Ratan Gupta8c834932017-04-14 16:30:24 +053034AC_CHECK_HEADER(systemd/sd-bus.h, ,\
35[AC_MSG_ERROR([Could not find systemd/sd-bus.h...systemd development package required])])
36
37AX_PKG_CHECK_MODULES([PHOSPHOR_DBUS_INTERFACES], [], [phosphor-dbus-interfaces],\
38[], [AC_MSG_ERROR(["phosphor-dbus-interfaces required and not found."])])
Matthew Barth5e60ba52016-09-26 13:40:01 -050039
40# Checks for typedefs, structures, and compiler characteristics.
41AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wno-unused-result], [CFLAGS])
42
43# Checks for library functions.
44LT_INIT # Removes 'unrecognized options: --with-libtool-sysroot'
45
Ratan Gupta8c834932017-04-14 16:30:24 +053046
Matthew Barth5e60ba52016-09-26 13:40:01 -050047# Check/set gtest specific functions.
48AX_PTHREAD([GTEST_CPPFLAGS="-DGTEST_HAS_PTHREAD=1"],[GTEST_CPPFLAGS="-GTEST_HAS_PTHREAD=0"])
49AC_SUBST(GTEST_CPPFLAGS)
50
51AC_ARG_ENABLE([oe-sdk],
52 AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.])
53)
54AC_ARG_VAR(OECORE_TARGET_SYSROOT,
55 [Path to the OE SDK SYSROOT])
56AS_IF([test "x$enable_oe_sdk" == "xyes"],
57 AS_IF([test "x$OECORE_TARGET_SYSROOT" == "x"],
58 AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk])
59 )
60 AC_MSG_NOTICE([Enabling OE-SDK at $OECORE_TARGET_SYSROOT])
61 [
62 testcase_flags="-Wl,-rpath,\${OECORE_TARGET_SYSROOT}/lib"
63 testcase_flags="${testcase_flags} -Wl,-rpath,\${OECORE_TARGET_SYSROOT}/usr/lib"
64 testcase_flags="${testcase_flags} -Wl,-dynamic-linker,`find \${OECORE_TARGET_SYSROOT}/lib/ld-*.so | sort -r -n | head -n1`"
65 ]
66 AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags])
67)
68
Ratan Gupta8c834932017-04-14 16:30:24 +053069AC_ARG_VAR(BUSNAME_NETWORK, [The Dbus busname to own])
70AS_IF([test "x$BUSNAME_NETWORK" == "x"], [BUSNAME_NETWORK="xyz.openbmc_project.Network"])
71AC_DEFINE_UNQUOTED([BUSNAME_NETWORK], ["$BUSNAME_NETWORK"], [The DBus busname to own])
72
73AC_ARG_VAR(OBJ_NETWORK, [The network manager DBus object path])
74AS_IF([test "x$OBJ_NETWORK" == "x"], [OBJ_NETWORK="/xyz/openbmc_project/network"])
75AC_DEFINE_UNQUOTED([OBJ_NETWORK], ["$OBJ_NETWORK"], [The network manager DBus object path])
76
Matthew Barth5e60ba52016-09-26 13:40:01 -050077# Create configured output.
78AC_CONFIG_FILES([Makefile])
79AC_OUTPUT