configure.ac 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. AC_PREREQ([2.53])
  2. AC_INIT([libdsm], [m4_esyscmd([./package_version.sh])],
  3. [], [libdsm], [])
  4. AC_CONFIG_HEADER(config.h)
  5. AC_CONFIG_SRCDIR([include/bdsm.h])
  6. AM_INIT_AUTOMAKE([1.6 foreign subdir-objects tar-ustar dist-zip])
  7. m4_ifdef([AM_SILENT_RULES], [
  8. AM_SILENT_RULES([yes])
  9. ])
  10. AC_CANONICAL_HOST
  11. BDSM_ABI_VERSION=m4_esyscmd([./abi_version.sh])
  12. BDSM_PACKAGE_VERSION=m4_esyscmd([./package_version.sh])
  13. BDSM_LIBTOOL_VERSION=m4_esyscmd([./abi_version.sh -libtool])
  14. AC_SUBST(BDSM_ABI_VERSION)
  15. AC_SUBST(BDSM_PACKAGE_VERSION)
  16. AC_SUBST(BDSM_LIBTOOL_VERSION)
  17. AC_MSG_NOTICE([dsm package version: $BDSM_PACKAGE_VERSION])
  18. AC_MSG_NOTICE([dsm ABI version: $BDSM_ABI_VERSION])
  19. AC_PROG_CC_C99
  20. AM_PROG_CC_C_O
  21. dnl Where is iconv? In libc or separate lib?
  22. AM_ICONV
  23. AC_ARG_ENABLE([programs],
  24. AS_HELP_STRING([--enable-programs], [Build additional programs [default=yes]])
  25. )
  26. AC_ARG_ENABLE([debug],
  27. AS_HELP_STRING([--enable-debug], [Additional debugging features [default=yes]])
  28. )
  29. AS_IF([test x"$enable_debug" != x"no"], [
  30. AC_DEFINE([BDSM_DEBUG], [1], [Enable debug message and compile flags])
  31. ])
  32. AM_CONDITIONAL([DEBUG], [test x"$enable_debug" != x"no"])
  33. AM_CONDITIONAL([PROGRAMS], [test x"$enable_programs" != x"no"])
  34. LT_INIT
  35. DOLT
  36. AC_CONFIG_MACRO_DIR([m4])
  37. ##############################
  38. ## Checks for the ASN.1 parser
  39. PKG_CHECK_MODULES([TASN1], [libtasn1])
  40. ## Check if it supports new types
  41. AC_MSG_CHECKING([whether libtasn1 version >= 3.0])
  42. CFLAGS="$CFLAGS $TASN1_CFLAGS"
  43. AC_COMPILE_IFELSE([
  44. AC_LANG_PROGRAM([#include <libtasn1.h>], [ asn1_node test; ])
  45. ], [
  46. AC_MSG_RESULT([yes])
  47. HAVE_TASN1_3PLUS=yes
  48. ], [
  49. AC_MSG_RESULT([no])
  50. HAVE_TASN1_3PLUS=no
  51. ])
  52. AM_CONDITIONAL([HAVE_TASN1_3PLUS],[test x$HAVE_TASN1_3PLUS = xyes])
  53. AS_IF([test x"$HAVE_TASN1_3PLUS" = x"yes"], [
  54. AC_DEFINE([HAVE_TASN1_3PLUS], [1], [libtasn1 has v 3.0 downcase types])
  55. dnl Ugly compatibility with old 2.x types
  56. AC_DEFINE([ASN1_ARRAY_TYPE], [asn1_static_node], [...])
  57. ], [
  58. dnl Ugly compatibility with new 3.x types
  59. AC_DEFINE([asn1_static_node], [ASN1_ARRAY_TYPE], [...])
  60. ])
  61. AC_SEARCH_LIBS([strlcpy], [bsd], [], [
  62. AC_MSG_ERROR([unable to find the strlcpy() function (missing libbsd?)])
  63. ])
  64. AC_CHECK_HEADERS([bsd/string.h])
  65. ## Checks for doxygen presence
  66. AC_CHECK_PROGS([DOXYGEN], [doxygen])
  67. AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
  68. if test -z "$DOXYGEN";
  69. then AC_MSG_WARN([Doxygen not found - continuing without Doxygen support])
  70. else
  71. AC_CONFIG_FILES([doc/Doxyfile])
  72. fi
  73. AC_OUTPUT([
  74. Makefile
  75. libdsm.pc
  76. ])