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.

142 lines
5.1 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(autoconf/cl_config.h 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_TOP([/* prevents cln/config.h from being included, so no macro gets redefined */])
  29. AH_TOP([#define _CL_CONFIG_PUBLIC_H])
  30. AH_TOP([/* prevents cln/version.h from being included, so no macro gets redefined */])
  31. AH_TOP([#define _CL_VERSION_H])
  32. AH_BOTTOM([#endif /* _CL_CONFIG_H */])
  33. dnl checks for programs
  34. dnl
  35. AC_PROG_CC
  36. dnl sets variable CC
  37. AC_PROG_CPP
  38. dnl sets variable CPP
  39. AC_PROG_CXX
  40. dnl sets variable CXX
  41. AC_PROG_CXXCPP
  42. dnl sets variable CXXCPP
  43. CL_AS_UNDERSCORE
  44. dnl sets variable AS_UNDERSCORE, DEFS ASM_UNDERSCORE
  45. CL_AS_NOEXECSTACK
  46. dnl sets variable ASMFLAGS
  47. AC_PROG_INSTALL
  48. dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM
  49. dnl
  50. dnl check for host type
  51. dnl
  52. CL_CANONICAL_HOST(autoconf)
  53. dnl sets variables host, host_cpu, host_vendor, host_os
  54. CL_CANONICAL_HOST_CPU
  55. dnl DEFS __${host_cpu}__
  56. case $host_os in
  57. *mingw*)
  58. AC_DISABLE_SHARED
  59. dnl Shared libraries are not supported on some platforms [yet]
  60. ;;
  61. *)
  62. AC_ENABLE_SHARED
  63. ;;
  64. esac
  65. AC_PROG_LIBTOOL
  66. dnl sets variable LIBTOOL
  67. LT_VERSION_INFO=cl_lt_version
  68. AC_SUBST(LT_VERSION_INFO)
  69. dnl release version
  70. CL_VERSION_MAJOR=cl_version_major
  71. CL_VERSION_MINOR=cl_version_minor
  72. CL_VERSION_PATCHLEVEL=cl_version_patchlevel
  73. dnl release version for cln/config.h, so it can be tested by the preprocessor
  74. AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR, [Major version number of CLN])
  75. AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR, [Minor version number of CLN])
  76. AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL, [Patchlevel version number of CLN])
  77. dnl concatenated release version
  78. CL_VERSION=cl_version
  79. AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION, [CLN release number])
  80. AC_SUBST(CL_VERSION)
  81. dnl checks for compiler characteristics
  82. dnl
  83. AC_LANG([C++])
  84. dnl
  85. CL_LONGLONG
  86. dnl DEFS HAVE_LONGLONG
  87. CL_LONGDOUBLE
  88. dnl DEFS HAVE_LONGDOUBLE
  89. dnl
  90. dnl checks for header files
  91. dnl
  92. AC_CHECK_HEADERS([unistd.h])
  93. dnl DEFS HAVE_UNISTD_H if exist unistd.h
  94. dnl
  95. dnl checks for typedefs
  96. dnl
  97. dnl
  98. dnl checks for functions and declarations
  99. dnl
  100. CL_ALLOCA
  101. dnl set variable ALLOCA, DEFS NO_ALLOCA
  102. CL_GETTIMEOFDAY
  103. dnl DEFS HAVE_GETTIMEOFDAY, GETTIMEOFDAY_DOTS, GETTIMEOFDAY_TZP_T
  104. ac_cv_func_ftime=no
  105. dnl don't use ftime(3) even if it's available
  106. CL_TIMES_CLOCK
  107. dnl DEFS HAVE_TIMES_CLOCK
  108. CL_RUSAGE
  109. dnl DEFS HAVE_SYS_RESOURCE_H, HAVE_GETRUSAGE, HAVE_SYS_TIMES_H
  110. CL_PERROR
  111. dnl DEFS HAVE_PERROR_DECL
  112. CL_ATTRIBUTE_FLATTEN
  113. dnl DEFS CL_HAVE_ATTRIBUTE_FLATTEN
  114. dnl
  115. dnl checks for compiler characteristics
  116. dnl
  117. AC_C_CHAR_UNSIGNED
  118. dnl DEFS __CHAR_UNSIGNED__ if char is unsigned
  119. dnl Create a subdirectory in the ${top_builddir} to hold auto-generated
  120. dnl headers. This subdirectory does not exist when ${top_builddir} != ${top_srcdir}
  121. dnl (a.k.a. "VPATH build").
  122. if test ! -d include/cln; then
  123. AS_MKDIR_P([include/cln])
  124. fi
  125. CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,[CL_INTPARAM_CROSS],include/cln/intparam.h,cl_cv_file_intparam_h)
  126. dnl builds include/cln/intparam.h
  127. CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,[CL_FLOATPARAM_CROSS],include/cln/floatparam.h,cl_cv_file_floatparam_h)
  128. dnl builds include/cln/floatparam.h
  129. CL_LIBGMP
  130. dnl DEFS CL_USE_GMP, GMP_DEMANDS_UINTD_*
  131. dnl
  132. dnl That's it.
  133. dnl
  134. AC_OUTPUT([Makefile src/Makefile tests/Makefile examples/Makefile doc/Makefile benchmarks/Makefile cln.spec cln.pc])