X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=7e1d6f4e1c7d98e61080c11866d1244189423de4;hp=d3f853f30c129450538df1b273d4f883b5c39135;hb=a3b6fafed441d96380a3f089118f7486d6aa3126;hpb=4f0be680b5323e037314cfbd3dba34f03e637c8f diff --git a/configure.ac b/configure.ac index d3f853f30..7e1d6f4e1 100644 --- a/configure.ac +++ b/configure.ac @@ -101,6 +101,20 @@ if test -z "$GPERF" ; then AC_MSG_ERROR([*** gperf not found]) fi +# ------------------------------------------------------------------------------ +address_sanitizer_cflags= +address_sanitizer_cppflags= +address_sanitizer_ldflags= +AC_ARG_ENABLE(address-sanitizer, AS_HELP_STRING([--enable-address-sanitizer], [enable -fsanitize=address])) +AS_IF([test "x$enable_address_sanitizer" = "xyes"], [ + CC_CHECK_FLAG_APPEND([with_as_cflags], [CFLAGS], [-fsanitize=address]) + AS_IF([test -z "$with_as_cflags"], + [AC_MSG_ERROR([*** -fsanitize=address is not supported])]) + address_sanitizer_cflags="$with_as_cflags -fno-omit-frame-pointer -DVALGRIND=1" + address_sanitizer_cppflags="-DVALGRIND=1" + address_sanitizer_ldflags="-Wc,-fsanitize=address" + ]) + CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -pipe \ -Wall \ @@ -142,13 +156,13 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -fdata-sections \ -fstack-protector \ --param=ssp-buffer-size=4]) -AC_SUBST([OUR_CFLAGS], $with_cflags) +AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags") AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*], [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ -Wp,-D_FORTIFY_SOURCE=2])], [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])]) -AC_SUBST([OUR_CPPFLAGS], $with_cppflags) +AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $address_sanitizer_cppflags") CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -Wl,--as-needed \ @@ -156,7 +170,7 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -Wl,--gc-sections \ -Wl,-z,relro \ -Wl,-z,now]) -AC_SUBST([OUR_LDFLAGS], $with_ldflags) +AC_SUBST([OUR_LDFLAGS], "$with_ldflags $address_sanitizer_ldflags") # ------------------------------------------------------------------------------ # we use python to build the man page index, and for systemd-python @@ -175,9 +189,12 @@ AS_IF([test "x$PYTHON_BINARY" = "x"], [PYTHON_BINARY=/usr/bin/python])]) AC_ARG_VAR(PYTHON_BINARY, [Python binary used to launch installed scripts]) +AS_IF([test "x$have_python" != "xyes" -a "x$enable_python_devel" = "xyes"], + [AC_MSG_ERROR([*** python-devel support requires --with-python])]) + have_python_devel=no AC_ARG_ENABLE(python_devel, AS_HELP_STRING([--disable-python-devel], [Do not build python modules])) -AS_IF([test "x$enable_python_devel" != "xno"], [ +AS_IF([test "x$have_python" = "xyes" -a "x$enable_python_devel" != "xno"], [ PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}], [have_python_devel=yes], [PKG_CHECK_MODULES([PYTHON_DEVEL], [python], @@ -185,6 +202,7 @@ AS_IF([test "x$enable_python_devel" != "xno"], [ [have_python_devel=no])]) AS_IF([test "x$have_python_devel" = xno -a "x$enable_python_devel" = xyes], [AC_MSG_ERROR([*** python-devel support requested but libraries not found])]) + AC_PATH_PROGS(SPHINX_BUILD, sphinx-build-${PYTHON_VERSION} sphinx-build) ]) AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test "$have_python_devel" = "yes"]) @@ -790,7 +808,7 @@ AC_ARG_WITH(telinit, AS_HELP_STRING([--with-telinit=PATH], [Path to telinit]), [TELINIT="$withval"], - [TELINIT="/lib/upstart/telinit"]) + [TELINIT="/lib/sysvinit/telinit"]) AC_DEFINE_UNQUOTED(TELINIT, ["$TELINIT"], [Path to telinit]) @@ -803,7 +821,7 @@ have_myhostname=no AC_ARG_ENABLE(myhostname, AS_HELP_STRING([--disable-myhostname], [disable nss-myhostname support])) if test "x$enable_myhostname" != "xno"; then AC_HEADER_STDC - AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h]) + AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h sys/auxv.h]) AC_C_CONST AC_TYPE_SIZE_T @@ -1051,6 +1069,7 @@ AC_MSG_RESULT([ SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH} Build Python: ${PYTHON} Installation Python: ${PYTHON_BINARY} + sphinx binary: ${SPHINX_BUILD} firmware path: ${FIRMWARE_PATH} PAM modules dir: ${with_pamlibdir} PAM configuration dir: ${with_pamconfdir}