configure.ac 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. AC_PREREQ(2.59)
  2. AC_INIT(clevis, 8)
  3. AC_CANONICAL_SYSTEM
  4. AC_PROG_CC_C99
  5. AC_PROG_RANLIB
  6. AC_PROG_SED
  7. AM_INIT_AUTOMAKE([subdir-objects foreign no-dist-gzip dist-bzip2 parallel-tests])
  8. AM_SILENT_RULES([yes])
  9. AM_PROG_CC_C_O
  10. PKG_PROG_PKG_CONFIG([0.25])
  11. PKG_CHECK_MODULES([luksmeta], [luksmeta >= 8])
  12. PKG_CHECK_MODULES([libcrypto], [libcrypto])
  13. PKG_CHECK_MODULES([jansson], [jansson >= 2.10])
  14. PKG_CHECK_MODULES([udisks2], [udisks2])
  15. PKG_CHECK_MODULES([jose], [jose >= 8])
  16. PKG_CHECK_MODULES([systemd], [systemd])
  17. PKG_CHECK_MODULES([dracut], [dracut])
  18. PKG_CHECK_MODULES([audit], [audit >> 2.7.8])
  19. AC_CHECK_PROG([PWMAKE], [pwmake], [yes])
  20. test -n "$PWMAKE" || AC_MSG_ERROR([pwmake required!])
  21. AC_ARG_WITH([dracutmodulesdir],
  22. [AS_HELP_STRING([--with-dracutmodulesdir=DIR], [Directory for dracut modules])],
  23. [],
  24. [with_dracutmodulesdir=$($PKG_CONFIG --variable=dracutmodulesdir dracut)])
  25. AC_SUBST([dracutmodulesdir], [$with_dracutmodulesdir])
  26. AC_ARG_WITH([systemdsystemunitdir],
  27. [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd unit files])],
  28. [],
  29. [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
  30. AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
  31. for ac_prog in systemd-socket-activate systemd-activate; do
  32. AC_CHECK_PROG([SD_ACTIVATE], [$ac_prog], [$as_dir/$ac_prog], [],
  33. [$PATH$PATH_SEPARATOR$($PKG_CONFIG --variable=systemdutildir systemd)])
  34. test -n "$SD_ACTIVATE" && break
  35. done
  36. test -n "$SD_ACTIVATE" || AC_MSG_ERROR([systemd-socket-activate required!])
  37. AC_MSG_CHECKING([systemd-socket-activate inetd flag])
  38. if $SD_ACTIVATE --help | grep -q inetd; then
  39. SD_ACTIVATE="$SD_ACTIVATE --inetd"
  40. AC_MSG_RESULT([--inetd])
  41. else
  42. AC_MSG_RESULT([(default)])
  43. fi
  44. AC_SUBST(SD_ACTIVATE)
  45. AC_ARG_ENABLE([user],
  46. AS_HELP_STRING([--enable-user=USER],
  47. [Set unprivileged user (default: root)]),
  48. [CLEVIS_USER="${enableval}"],
  49. [CLEVIS_USER="root"])
  50. AC_ARG_ENABLE([group],
  51. AS_HELP_STRING([--enable-group=GROUP],
  52. [Set unprivileged group (default: root)]),
  53. [CLEVIS_GROUP="${enableval}"],
  54. [CLEVIS_GROUP="root"])
  55. AC_SUBST([CLEVIS_USER])
  56. AC_SUBST([CLEVIS_GROUP])
  57. CLEVIS_CFLAGS="\
  58. -Wall \
  59. -Wextra \
  60. -Werror \
  61. -Wstrict-aliasing \
  62. -Wchar-subscripts \
  63. -Wformat-security \
  64. -Wmissing-declarations \
  65. -Wmissing-prototypes \
  66. -Wnested-externs \
  67. -Wpointer-arith \
  68. -Wshadow \
  69. -Wsign-compare \
  70. -Wstrict-prototypes \
  71. -Wtype-limits \
  72. -Wno-missing-field-initializers \
  73. -Wno-unused-parameter \
  74. "
  75. AC_SUBST([CLEVIS_CFLAGS])
  76. AC_CONFIG_FILES([
  77. src/systemd/Makefile
  78. src/udisks2/Makefile
  79. src/dracut/Makefile
  80. tests/Makefile
  81. src/Makefile
  82. Makefile
  83. ])
  84. AC_OUTPUT