You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
4.9 KiB

25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
  1. dnl run autoreconf -iv to produce the configure script.
  2. m4_define([cl_version_major], [1])
  3. m4_define([cl_version_minor], [2])
  4. m4_define([cl_version_patchlevel], [2])
  5. m4_define([cl_version], [cl_version_major.cl_version_minor.cl_version_patchlevel])
  6. dnl Libtool's library version information for CLN.
  7. dnl (Not to be confused with CLN's release version.)
  8. dnl Making new releases:
  9. dnl * increment CL_REVISION,
  10. dnl * if any functions/classes have been added, removed or changed, increment
  11. dnl CL_CURRENT and set CL_REVISION to 0,
  12. dnl * if any functions/classes have been added, increment CL_AGE,
  13. dnl * if backwards compatibility has been broken, set CL_AGE to 0.
  14. dnl $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) results in
  15. dnl libcln.so.$(CL_CURRENT)-$(CL_AGE)
  16. m4_define([cl_current], [6])
  17. m4_define([cl_revision], [0])
  18. m4_define([cl_age], [0])
  19. m4_define([cl_lt_version], [cl_current:cl_revision:cl_age])
  20. AC_INIT([cln], cln_version)
  21. AC_PREREQ(2.59)
  22. AC_CONFIG_SRCDIR(src/integer/gcd/cl_I_gcd.cc)
  23. AC_CONFIG_AUX_DIR([autoconf])
  24. AC_CONFIG_HEADERS(include/cln/config.h include/cln/host_cpu.h include/cln/version.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/timing/cl_t_config.h)
  25. AM_INIT_AUTOMAKE([foreign 1.8 dist-bzip2])
  26. AH_TOP([#ifdef _CL_CONFIG_H])
  27. AH_TOP([#include "cln/host_cpu.h"])
  28. AH_BOTTOM([#endif /* _CL_CONFIG_H */])
  29. dnl checks for programs
  30. dnl
  31. AC_PROG_CC
  32. dnl sets variable CC
  33. AC_PROG_CPP
  34. dnl sets variable CPP
  35. AC_PROG_CXX
  36. dnl sets variable CXX
  37. AC_PROG_CXXCPP
  38. dnl sets variable CXXCPP
  39. CL_AS_UNDERSCORE
  40. dnl sets variable AS_UNDERSCORE, DEFS ASM_UNDERSCORE
  41. CL_AS_NOEXECSTACK
  42. dnl sets variable ASMFLAGS
  43. AC_PROG_INSTALL
  44. dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM
  45. dnl
  46. dnl check for host type
  47. dnl
  48. CL_CANONICAL_HOST(autoconf)
  49. dnl sets variables host, host_cpu, host_vendor, host_os
  50. CL_CANONICAL_HOST_CPU
  51. dnl DEFS __${host_cpu}__
  52. case $host_os in
  53. *mingw*)
  54. AC_DISABLE_SHARED
  55. dnl Shared libraries are not supported on some platforms [yet]
  56. ;;
  57. *)
  58. AC_ENABLE_SHARED
  59. ;;
  60. esac
  61. AC_PROG_LIBTOOL
  62. dnl sets variable LIBTOOL
  63. LT_VERSION_INFO=cl_lt_version
  64. AC_SUBST(LT_VERSION_INFO)
  65. dnl release version
  66. CL_VERSION_MAJOR=cl_version_major
  67. CL_VERSION_MINOR=cl_version_minor
  68. CL_VERSION_PATCHLEVEL=cl_version_patchlevel
  69. dnl release version for cln/config.h, so it can be tested by the preprocessor
  70. AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR, [Major version number of CLN])
  71. AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR, [Minor version number of CLN])
  72. AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL, [Patchlevel version number of CLN])
  73. dnl concatenated release version
  74. CL_VERSION=cl_version
  75. AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION, [CLN release number])
  76. AC_SUBST(CL_VERSION)
  77. dnl checks for compiler characteristics
  78. dnl
  79. AC_LANG([C++])
  80. dnl
  81. CL_LONGLONG
  82. dnl DEFS HAVE_LONGLONG
  83. CL_LONGDOUBLE
  84. dnl DEFS HAVE_LONGDOUBLE
  85. dnl
  86. dnl checks for header files
  87. dnl
  88. AC_CHECK_HEADERS([unistd.h])
  89. dnl DEFS HAVE_UNISTD_H if exist unistd.h
  90. dnl
  91. dnl checks for typedefs
  92. dnl
  93. dnl
  94. dnl checks for functions and declarations
  95. dnl
  96. CL_ALLOCA
  97. dnl set variable ALLOCA, DEFS NO_ALLOCA
  98. CL_GETTIMEOFDAY
  99. dnl DEFS HAVE_GETTIMEOFDAY, GETTIMEOFDAY_DOTS, GETTIMEOFDAY_TZP_T
  100. ac_cv_func_ftime=no
  101. dnl don't use ftime(3) even if it's available
  102. CL_TIMES_CLOCK
  103. dnl DEFS HAVE_TIMES_CLOCK
  104. CL_RUSAGE
  105. dnl DEFS HAVE_SYS_RESOURCE_H, HAVE_GETRUSAGE, HAVE_SYS_TIMES_H
  106. CL_PERROR
  107. dnl DEFS HAVE_PERROR_DECL
  108. CL_ATTRIBUTE_FLATTEN
  109. dnl DEFS CL_HAVE_ATTRIBUTE_FLATTEN
  110. dnl
  111. dnl checks for compiler characteristics
  112. dnl
  113. AC_C_CHAR_UNSIGNED
  114. dnl DEFS __CHAR_UNSIGNED__ if char is unsigned
  115. dnl Create a subdirectory in the ${top_builddir} to hold auto-generated
  116. dnl headers. This subdirectory does not exist when ${top_builddir} != ${top_srcdir}
  117. dnl (a.k.a. "VPATH build").
  118. if test ! -d include/cln; then
  119. AS_MKDIR_P([include/cln])
  120. fi
  121. CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,[CL_INTPARAM_CROSS],include/cln/intparam.h,cl_cv_file_intparam_h)
  122. dnl builds include/cln/intparam.h
  123. CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,[CL_FLOATPARAM_CROSS],include/cln/floatparam.h,cl_cv_file_floatparam_h)
  124. dnl builds include/cln/floatparam.h
  125. CL_LIBGMP
  126. dnl DEFS CL_USE_GMP, GMP_DEMANDS_UINTD_*
  127. dnl
  128. dnl That's it.
  129. dnl
  130. AC_OUTPUT([Makefile src/Makefile tests/Makefile examples/Makefile doc/Makefile benchmarks/Makefile cln.spec cln.pc])