mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 06:29:23 +01:00
bbcfde8743
There has been a desire to remove the ELL plugin dependency from IWD which is the only consumer of the plugin API. This removes the dependency and prepares the tree for converting the existing ofono plugin into a regular module. sim_hardcoded was removed completely. This was originall implemented before full ofono support purely to test the IWD side of EAP-SIM/AKA. Since the ofono plugin (module-to-be) is now fully implemented there really isn't a need for sim_hardcoded.
301 lines
9.7 KiB
Plaintext
301 lines
9.7 KiB
Plaintext
AC_PREREQ(2.60)
|
|
AC_INIT(iwd, 1.9)
|
|
|
|
AC_CONFIG_HEADERS(config.h)
|
|
AC_CONFIG_AUX_DIR(build-aux)
|
|
AC_CONFIG_MACRO_DIR(build-aux)
|
|
|
|
AM_INIT_AUTOMAKE([foreign subdir-objects color-tests silent-rules
|
|
tar-pax no-dist-gzip dist-xz])
|
|
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_PREFIX_DEFAULT(/usr/local)
|
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
COMPILER_FLAGS
|
|
|
|
AC_LANG_C
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CC_PIE
|
|
AC_PROG_CC_ASAN
|
|
AC_PROG_CC_LSAN
|
|
AC_PROG_CC_UBSAN
|
|
AC_PROG_INSTALL
|
|
AC_PROG_MKDIR_P
|
|
AC_PROG_LN_S
|
|
|
|
AC_SYS_LARGEFILE
|
|
|
|
LT_PREREQ(2.2)
|
|
LT_INIT([disable-static])
|
|
|
|
AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
|
|
[disable code optimization through compiler]), [
|
|
if (test "${enableval}" = "no"); then
|
|
CFLAGS="$CFLAGS -U_FORTIFY_SOURCE -O0"
|
|
fi
|
|
])
|
|
|
|
AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],
|
|
[enable compiling with debugging information]), [
|
|
if (test "${enableval}" = "yes" &&
|
|
test "${ac_cv_prog_cc_g}" = "yes"); then
|
|
CFLAGS="$CFLAGS -g"
|
|
fi
|
|
])
|
|
|
|
AC_ARG_ENABLE(pie, AC_HELP_STRING([--enable-pie],
|
|
[enable position independent executables flag]), [
|
|
if (test "${enableval}" = "yes" &&
|
|
test "${ac_cv_prog_cc_pie}" = "yes"); then
|
|
CFLAGS="$CFLAGS -fPIE"
|
|
LDFLAGS="$LDFLAGS -pie"
|
|
fi
|
|
])
|
|
|
|
save_LIBS=$LIBS
|
|
AC_CHECK_LIB(asan, _init)
|
|
LIBS=$save_LIBS
|
|
|
|
AC_ARG_ENABLE(asan, AC_HELP_STRING([--enable-asan],
|
|
[enable linking with address sanitizer]), [
|
|
if (test "${enableval}" = "yes" &&
|
|
test "${ac_cv_lib_asan__init}" = "yes" &&
|
|
test "${ac_cv_prog_cc_asan}" = "yes"); then
|
|
CFLAGS="$CFLAGS -fsanitize=address";
|
|
LDFLAGS="$LDFLAGS -fsanitize=address"
|
|
fi
|
|
])
|
|
|
|
save_LIBS=$LIBS
|
|
AC_CHECK_LIB(lsan, _init)
|
|
LIBS=$save_LIBS
|
|
|
|
AC_ARG_ENABLE(lsan, AC_HELP_STRING([--enable-lsan],
|
|
[enable linking with leak sanitizer]), [
|
|
if (test "${enableval}" = "yes" &&
|
|
test "${ac_cv_lib_lsan__init}" = "yes" &&
|
|
test "${ac_cv_prog_cc_lsan}" = "yes"); then
|
|
CFLAGS="$CFLAGS -fsanitize=leak";
|
|
LDFLAGS="$LDFLAGS -fsanitize=leak"
|
|
fi
|
|
])
|
|
|
|
save_LIBS=$LIBS
|
|
AC_CHECK_LIB(ubsan, _init)
|
|
LIBS=$save_LIBS
|
|
|
|
AC_ARG_ENABLE(ubsan, AC_HELP_STRING([--enable-ubsan],
|
|
[enable linking with undefined behavior sanitizer]), [
|
|
if (test "${enableval}" = "yes" &&
|
|
test "${ac_cv_lib_ubsan__init}" = "yes" &&
|
|
test "${ac_cv_prog_cc_ubsan}" = "yes"); then
|
|
CFLAGS="$CFLAGS -fsanitize=undefined";
|
|
LDFLAGS="$LDFLAGS -fsanitize=undefined"
|
|
fi
|
|
])
|
|
if (test "${prefix}" = "NONE"); then
|
|
dnl no prefix and no localstatedir, so default to /var
|
|
if (test "$localstatedir" = '${prefix}/var'); then
|
|
AC_SUBST([localstatedir], ['/var'])
|
|
fi
|
|
|
|
prefix="${ac_default_prefix}"
|
|
fi
|
|
|
|
if (test "$localstatedir" = '${prefix}/var'); then
|
|
daemon_storagedir="${prefix}/var/lib/iwd"
|
|
wired_storagedir="${prefix}/var/lib/ead"
|
|
else
|
|
daemon_storagedir="${localstatedir}/lib/iwd"
|
|
wired_storagedir="${localstatedir}/lib/ead"
|
|
fi
|
|
|
|
AC_SUBST([daemon_storagedir], [${daemon_storagedir}])
|
|
AC_SUBST([wired_storagedir], [${wired_storagedir}])
|
|
|
|
AC_DEFINE_UNQUOTED(DAEMON_STORAGEDIR, "${daemon_storagedir}",
|
|
[Directory for Wireless daemon storage files])
|
|
AC_DEFINE_UNQUOTED(DAEMON_CONFIGDIR, "/etc/iwd",
|
|
[Directory for Wireless daemon configuration])
|
|
|
|
AC_DEFINE_UNQUOTED(WIRED_STORAGEDIR, "${wired_storagedir}",
|
|
[Directory for Ethernet daemon storage files])
|
|
|
|
AC_CHECK_FUNCS(explicit_bzero)
|
|
AC_CHECK_FUNCS(rawmemchr)
|
|
|
|
AC_CHECK_HEADERS(linux/types.h linux/if_alg.h)
|
|
|
|
# In maintainer mode: try to build with application backtrace and disable PIE.
|
|
if (test "${USE_MAINTAINER_MODE}" = yes); then
|
|
AC_SEARCH_LIBS([backtrace], [execinfo],
|
|
[
|
|
AC_DEFINE([HAVE_BACKTRACE], [1],
|
|
[Define to 1 if you have backtrace(3).])
|
|
CFLAGS="$CFLAGS -fno-PIE"
|
|
LDFLAGS="$LDFLAGS -no-pie"
|
|
])
|
|
fi
|
|
|
|
AC_ARG_ENABLE([daemon], AC_HELP_STRING([--disable-daemon],
|
|
[don't install iwd system daemon]),
|
|
[enable_daemon=${enableval}])
|
|
AM_CONDITIONAL(DAEMON, test "${enable_daemon}" != "no")
|
|
|
|
AC_ARG_ENABLE([client], AC_HELP_STRING([--disable-client],
|
|
[don't install iwctl client utility]),
|
|
[enable_client=${enableval}])
|
|
if (test "${enable_client}" != "no"); then
|
|
AC_CHECK_HEADERS(readline/readline.h, enable_readline=yes,
|
|
AC_MSG_ERROR(readline header files are required))
|
|
fi
|
|
AM_CONDITIONAL(CLIENT, test "${enable_client}" != "no")
|
|
|
|
AC_ARG_ENABLE([monitor], AC_HELP_STRING([--disable-monitor],
|
|
[don't install iwmon monitor utility]),
|
|
[enable_monitor=${enableval}])
|
|
AM_CONDITIONAL(MONITOR, test "${enable_monitor}" != "no")
|
|
|
|
AC_ARG_ENABLE([dbus-policy], AC_HELP_STRING([--disable-dbus-policy],
|
|
[don't install D-Bus system policy files]),
|
|
[enable_dbus_policy=${enableval}])
|
|
AM_CONDITIONAL(DBUS_POLICY, test "${enable_dbus_policy}" != "no")
|
|
|
|
AC_ARG_WITH([dbus-datadir], AC_HELP_STRING([--with-dbus-datadir=DIR],
|
|
[path to D-Bus data directory]),
|
|
[path_dbus_datadir=${withval}])
|
|
if (test "${enable_dbus_policy}" != "no" && test -z "${path_dbus_datadir}"); then
|
|
AC_MSG_CHECKING([D-Bus data directory])
|
|
path_dbus_datadir="`$PKG_CONFIG --variable=datadir dbus-1`"
|
|
if (test -z "${path_dbus_datadir}"); then
|
|
path_dbus_datadir="`$PKG_CONFIG --variable=sysconfdir dbus-1`"
|
|
if (test -z "${path_dbus_datadir}"); then
|
|
AC_MSG_ERROR([D-Bus data directory is required])
|
|
fi
|
|
fi
|
|
AC_MSG_RESULT([${path_dbus_datadir}])
|
|
fi
|
|
AC_SUBST(DBUS_DATADIR, [${path_dbus_datadir}])
|
|
|
|
AC_ARG_ENABLE([systemd-service], AC_HELP_STRING([--disable-systemd-service],
|
|
[don't install systemd service files]),
|
|
[enable_systemd_service=${enableval}])
|
|
AM_CONDITIONAL(SYSTEMD_SERVICE, test "${enable_systemd_service}" != "no")
|
|
|
|
AC_ARG_ENABLE([manual-pages], AC_HELP_STRING([--disable-manual-pages],
|
|
[don't install manual pages]),
|
|
[enable_manual_pages=${enableval}])
|
|
if (test "${enable_manual_pages}" != "no"); then
|
|
AC_CHECK_PROGS(RST2MAN, [rst2man rst2man.py], "no")
|
|
fi
|
|
AM_CONDITIONAL(MANUAL_PAGES, test "${enable_manual_pages}" != "no")
|
|
AM_CONDITIONAL(RUN_RST2MAN, test "${enable_manual_pages}" != "no" && test "${RST2MAN}" != "no")
|
|
|
|
AC_ARG_WITH([dbus-busdir], AC_HELP_STRING([--with-dbus-busdir=DIR],
|
|
[path to D-Bus bus services directory]),
|
|
[path_dbus_busdir=${withval}])
|
|
if (test "${enable_systemd_service}" != "no" && test -z "${path_dbus_busdir}"); then
|
|
AC_MSG_CHECKING([D-Bus bus services directory])
|
|
path_dbus_busdir="`$PKG_CONFIG --variable=system_bus_services_dir dbus-1`"
|
|
if (test -z "${path_dbus_busdir}"); then
|
|
AC_MSG_ERROR([D-Bus bus services directory is required])
|
|
fi
|
|
AC_MSG_RESULT([${path_dbus_busdir}])
|
|
fi
|
|
AC_SUBST(DBUS_BUSDIR, [${path_dbus_busdir}])
|
|
|
|
AC_ARG_WITH([systemd-unitdir], AC_HELP_STRING([--with-systemd-unitdir=DIR],
|
|
[path to systemd unit directory]),
|
|
[path_systemd_unitdir=${withval}])
|
|
if (test "${enable_systemd_service}" != "no" && test -z "${path_systemd_unitdir}"); then
|
|
AC_MSG_CHECKING([systemd unit directory])
|
|
path_systemd_unitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`"
|
|
if (test -z "${path_systemd_unitdir}"); then
|
|
AC_MSG_ERROR([systemd unit directory is required])
|
|
fi
|
|
AC_MSG_RESULT([${path_systemd_unitdir}])
|
|
fi
|
|
AC_SUBST(SYSTEMD_UNITDIR, [${path_systemd_unitdir}])
|
|
|
|
AC_ARG_WITH([systemd-networkdir], AC_HELP_STRING([--with-systemd-networkdir=DIR],
|
|
[path to systemd network directory]),
|
|
[path_systemd_networkdir=${withval}])
|
|
if (test "${enable_systemd_service}" != "no" && test -z "${path_systemd_networkdir}"); then
|
|
AC_MSG_CHECKING([systemd network directory])
|
|
path_systemd_networkdir="`$PKG_CONFIG --variable=systemdutildir systemd`"
|
|
if (test -z "${path_systemd_networkdir}"); then
|
|
AC_MSG_ERROR([systemd network directory is required])
|
|
fi
|
|
path_systemd_networkdir="${path_systemd_networkdir}/network"
|
|
AC_MSG_RESULT([${path_systemd_networkdir}])
|
|
fi
|
|
AC_SUBST(SYSTEMD_NETWORKDIR, [${path_systemd_networkdir}])
|
|
|
|
AC_ARG_WITH([systemd-modloaddir], AC_HELP_STRING([--with-systemd-modloaddir=DIR],
|
|
[path to systemd modules load directory]),
|
|
[path_systemd_modloaddir=${withval}])
|
|
if (test "${enable_systemd_service}" != "no" && test -z "${path_systemd_modloaddir}"); then
|
|
AC_MSG_CHECKING([systemd modules load directory])
|
|
path_systemd_modloaddir="`$PKG_CONFIG --variable=modulesloaddir systemd`"
|
|
if (test -z "${path_systemd_modloaddir}"); then
|
|
AC_MSG_ERROR([systemd modules load directory is required])
|
|
fi
|
|
AC_MSG_RESULT([${path_systemd_modloaddir}])
|
|
fi
|
|
AC_SUBST(SYSTEMD_MODLOADDIR, [${path_systemd_modloaddir}])
|
|
|
|
AC_ARG_ENABLE([external_ell], AC_HELP_STRING([--enable-external-ell],
|
|
[enable external Embedded Linux library]),
|
|
[enable_external_ell=${enableval}])
|
|
if (test "${enable_external_ell}" = "yes"); then
|
|
if (test "${enable_daemon}" != "no" ||
|
|
test "${enable_client}" != "no" ||
|
|
test "${enable_monitor}" != "no" ||
|
|
test "${enable_wired}" = "yes" ||
|
|
test "${enable_hwsim}" = "yes"); then
|
|
ell_min_version="0.33"
|
|
else
|
|
ell_min_version="0.5"
|
|
fi
|
|
PKG_CHECK_MODULES(ELL, ell >= ${ell_min_version}, dummy=yes,
|
|
AC_MSG_ERROR(Embedded Linux library >= ${ell_min_version} is required))
|
|
AC_SUBST(ELL_CFLAGS)
|
|
AC_SUBST(ELL_LIBS)
|
|
fi
|
|
AM_CONDITIONAL(EXTERNAL_ELL, test "${enable_external_ell}" = "yes")
|
|
|
|
|
|
AC_ARG_ENABLE([wired], AC_HELP_STRING([--enable-wired],
|
|
[enable Ethernet authentication support]),
|
|
[enable_wired=${enableval}])
|
|
AM_CONDITIONAL(WIRED, test "${enable_wired}" = "yes")
|
|
|
|
AC_ARG_ENABLE([hwsim], AC_HELP_STRING([--enable-hwsim],
|
|
[enable Wireless simulation utility]),
|
|
[enable_hwsim=${enableval}])
|
|
AM_CONDITIONAL(HWSIM, test "${enable_hwsim}" = "yes")
|
|
|
|
AC_ARG_ENABLE([tools], AC_HELP_STRING([--enable-tools],
|
|
[enable internal testing utilities]),
|
|
[enable_tools=${enableval}])
|
|
AM_CONDITIONAL(TOOLS, test "${enable_tools}" = "yes")
|
|
|
|
AC_ARG_ENABLE([ofono], AC_HELP_STRING([--enable-ofono],
|
|
[enable oFono SIM authentication support]),
|
|
[enable_ofono=${enableval}])
|
|
AM_CONDITIONAL(OFONO, test "${enable_ofono}" = "yes")
|
|
|
|
AC_CONFIG_FILES(Makefile)
|
|
|
|
AC_OUTPUT
|
|
|
|
AC_MSG_RESULT([
|
|
$PACKAGE_NAME $VERSION
|
|
])
|