configure.ac 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. # libmodbus package version number, (as distinct from shared library version)
  2. # An odd micro number indicates in-progress development from Git
  3. # An even micro number indicates a released version
  4. #
  5. # Making a point release:
  6. # - increase libmodbus_version_micro to the next even number
  7. #
  8. # After the release:
  9. # - increase libmodbus_version_minor to the next odd number
  10. #
  11. # Take care to update the libtool versioning when required (LIBMODBUS_LD_*).
  12. # http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
  13. #
  14. m4_define([libmodbus_version_major], [2])
  15. m4_define([libmodbus_version_minor], [9])
  16. m4_define([libmodbus_version_micro], [2])
  17. m4_define([libmodbus_release_status],
  18. [m4_if(m4_eval(libmodbus_version_minor % 2), [1], [snapshot],
  19. [release])])
  20. m4_define([libmodbus_version],
  21. [libmodbus_version_major.libmodbus_version_minor.libmodbus_version_micro])
  22. AC_PREREQ(2.63)
  23. AC_INIT([libmodbus],[libmodbus_version],[stephane.raimbault@gmail.com])
  24. AC_CONFIG_SRCDIR([src/modbus.c])
  25. AC_CONFIG_HEADERS([config.h])
  26. AM_INIT_AUTOMAKE([foreign])
  27. # enable nice build output on automake1.11
  28. m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
  29. LIBMODBUS_VERSION_MAJOR=libmodbus_version_major
  30. LIBMODBUS_VERSION_MINOR=libmodbus_version_minor
  31. LIBMODBUS_VERSION_MICRO=libmodbus_version_micro
  32. LIBMODBUS_VERSION=libmodbus_version
  33. AC_SUBST(LIBMODBUS_VERSION_MAJOR)
  34. AC_SUBST(LIBMODBUS_VERSION_MINOR)
  35. AC_SUBST(LIBMODBUS_VERSION_MICRO)
  36. AC_SUBST(LIBMODBUS_VERSION)
  37. # ABI version
  38. LIBMODBUS_LD_CURRENT=4
  39. LIBMODBUS_LD_REVISION=0
  40. LIBMODBUS_LD_AGE=0
  41. LIBMODBUS_LT_VERSION_INFO=$LIBMODBUS_LD_CURRENT:$LIBMODBUS_LD_REVISION:$LIBMODBUS_LD_AGE
  42. AC_SUBST(LIBMODBUS_LT_VERSION_INFO)
  43. # Check whether we are building for Win32
  44. os_win32="false"
  45. case "${target}" in
  46. *mingw32)
  47. os_win32="true"
  48. ;;
  49. esac
  50. AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "true")
  51. # Checks for programs.
  52. AC_PROG_CC
  53. AC_PROG_CXX
  54. AC_LIBTOOL_WIN32_DLL
  55. AC_PROG_LIBTOOL
  56. AC_PROG_MAKE_SET
  57. AC_DISABLE_STATIC
  58. AC_PROG_LIBTOOL
  59. AC_CHECK_HEADERS([ \
  60. termios.h \
  61. sys/time.h \
  62. unistd.h \
  63. errno.h \
  64. limits.h \
  65. fcntl.h \
  66. sys/types.h \
  67. sys/socket.h \
  68. sys/ioctl.h \
  69. netinet/in.h \
  70. netinet/tcp.h \
  71. arpa/inet.h \
  72. ])
  73. # Checks for header files.
  74. AC_HEADER_STDC
  75. # Checks for typedefs, structures, and compiler characteristics.
  76. AC_C_CONST
  77. AC_TYPE_SIZE_T
  78. AC_HEADER_TIME
  79. # AC_TYPE_UINT*_T: not supported by autoconf-2.59 of CentOS 5.3
  80. # AC_TYPE_UINT16_T
  81. # AC_TYPE_UINT32_T
  82. # AC_TYPE_UINT8_T
  83. # Cygwin defines IPTOS_LOWDELAY but can't handle that flag so it's necessary to
  84. # workaround that problem and Cygwin doesn't define MSG_DONTWAIT.
  85. AC_CHECK_DECLS([__CYGWIN__])
  86. # Checks for library functions.
  87. AC_FUNC_FORK
  88. AC_CHECK_FUNCS([gettimeofday inet_ntoa memset select socket strerror strlcpy])
  89. AC_CONFIG_FILES([
  90. Makefile
  91. src/Makefile
  92. src/modbus-version.h
  93. tests/Makefile
  94. libmodbus.pc
  95. ])
  96. AC_OUTPUT