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.

184 lines
5.5 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
  1. dnl AUTOCONF configuration for CLN
  2. dnl Bruno Haible 8.1.1999
  3. dnl
  4. dnl configure.in ---<autoconf>--->> configure
  5. dnl
  6. dnl configure ---<sh>--->> config.status
  7. dnl --->> include/cln/config.h
  8. dnl cln-config.in --->> cln-config
  9. dnl Makefile.in --->> Makefile
  10. dnl src/Makefile.in --->> src/Makefile
  11. dnl
  12. dnl Makefile ---<make>--->> libcln.a
  13. dnl
  14. dnl
  15. AC_INIT(src/integer/gcd/cl_I_gcd.cc)
  16. AC_CONFIG_HEADER(include/cln/config.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/float/cl_float_config.h src/timing/cl_t_config.h)
  17. AC_PROG_MAKE_SET
  18. dnl This piece of sed script replaces every line containing '@subdir@'
  19. dnl by several consecutive lines, each referencing one subdir.
  20. extrasub="$extrasub"'
  21. /@subdir@/{
  22. h
  23. g
  24. s/@subdir@/src/
  25. p
  26. g
  27. s/@subdir@/tests/
  28. p
  29. g
  30. s/@subdir@/benchmarks/
  31. p
  32. g
  33. s/@subdir@/examples/
  34. p
  35. g
  36. s/@subdir@/doc/
  37. p
  38. d
  39. }
  40. '
  41. dnl
  42. dnl checks for programs
  43. dnl
  44. AC_PROG_CC
  45. dnl sets variable CC
  46. AC_PROG_CPP
  47. dnl sets variable CPP
  48. AC_PROG_CXX
  49. dnl sets variable CXX
  50. AC_PROG_CXXCPP
  51. dnl sets variable CXXCPP
  52. CL_AS_UNDERSCORE
  53. dnl sets variable AS_UNDERSCORE, DEFS ASM_UNDERSCORE
  54. CL_PROG_RANLIB
  55. dnl sets variable RANLIB
  56. CL_PROG_INSTALL
  57. dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM
  58. dnl
  59. dnl check for host type
  60. dnl
  61. CL_CANONICAL_HOST(autoconf)
  62. dnl sets variables host, host_cpu, host_vendor, host_os
  63. CL_CANONICAL_HOST_CPU
  64. dnl DEFS __${host_cpu}__
  65. dnl
  66. dnl check for build configuration
  67. dnl
  68. LIBS=-lm
  69. dnl libcln depends on libm
  70. PACKAGE=cln
  71. dnl libtool wants PACKAGE
  72. AM_PROG_LIBTOOL
  73. dnl sets variable LIBTOOL
  74. dnl Libtool's library version information for CLN.
  75. dnl (Not to be confused with CLN's release version.)
  76. dnl Making new releases:
  77. dnl * increment CLN_REVISION,
  78. dnl * if any functions/classes have been added, removed or changed, increment
  79. dnl CLN_CURRENT and set CLN_REVISION to 0,
  80. dnl * if any functions/classes have been added, increment CLN_AGE,
  81. dnl * if backwards compatibility has been broken, set CLN_AGE to 0.
  82. CL_CURRENT=1
  83. CL_REVISION=0
  84. CL_AGE=0
  85. dnl make substitutions
  86. AC_SUBST(CL_CURRENT)
  87. AC_SUBST(CL_REVISION)
  88. AC_SUBST(CL_AGE)
  89. dnl release version
  90. CL_VERSION_MAJOR=1
  91. CL_VERSION_MINOR=1
  92. CL_VERSION_PATCHLEVEL=0
  93. dnl release version for cln/config.h, so it can be tested by the preprocessor
  94. AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR)
  95. AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR)
  96. AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL)
  97. dnl concateneted release version
  98. CL_VERSION=$CL_VERSION_MAJOR.$CL_VERSION_MINOR.$CL_VERSION_PATCHLEVEL
  99. AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION)
  100. AC_SUBST(CL_VERSION)
  101. dnl
  102. dnl checks for compiler characteristics
  103. dnl
  104. AC_LANG_CPLUSPLUS
  105. dnl
  106. CL_BOOL
  107. dnl DEFS HAVE_BOOL, bool
  108. CL_LONGLONG
  109. dnl DEFS HAVE_LONGLONG
  110. CL_LONGDOUBLE
  111. dnl DEFS HAVE_LONGDOUBLE
  112. CL_TEMPLATE_NULL
  113. dnl DEFS HAVE_TEMPLATE_NULL
  114. CL_GLOBAL_CONSTRUCTORS
  115. dnl DEFS CL_GLOBAL_CONSTRUCTOR_PREFIX, CL_GLOBAL_DESTRUCTOR_PREFIX
  116. dnl
  117. dnl checks for header files
  118. dnl
  119. CL_UNISTD_H
  120. dnl DEFS HAVE_UNISTD_H if exist unistd.h
  121. dnl
  122. dnl checks for typedefs
  123. dnl
  124. dnl
  125. dnl checks for functions and declarations
  126. dnl
  127. CL_ALLOCA
  128. dnl set variable ALLOCA, DEFS NO_ALLOCA
  129. CL_FPU_CONTROL
  130. dnl DEFS HAVE_FPU_CONTROL_T, HAVE_SETFPUCW
  131. CL_GETTIMEOFDAY
  132. dnl DEFS HAVE_GETTIMEOFDAY, GETTIMEOFDAY_DOTS, GETTIMEOFDAY_TZP_T
  133. CL_FTIME
  134. dnl DEFS HAVE_FTIME
  135. CL_TIMES_CLOCK
  136. dnl DEFS HAVE_TIMES_CLOCK
  137. CL_RUSAGE
  138. dnl DEFS HAVE_SYS_RESOURCE_H, HAVE_GETRUSAGE, HAVE_SYS_TIMES_H
  139. CL_PERROR
  140. dnl DEFS HAVE_PERROR_DECL
  141. dnl
  142. dnl checks for compiler characteristics
  143. dnl
  144. CL_CHAR_UNSIGNED
  145. dnl DEFS __CHAR_UNSIGNED__ if char is unsigned
  146. test -d 'include' || mkdir 'include'
  147. CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,include/cln/intparam.h,cl_cv_file_intparam_h)
  148. dnl builds include/cln/intparam.h
  149. CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,include/cln/floatparam.h,cl_cv_file_floatparam_h)
  150. dnl builds include/cln/floatparam.h
  151. dnl
  152. dnl interfacing to GNU gmp (must be at least version 3)
  153. dnl
  154. AC_ARG_WITH(gmp, [ --with-gmp use external fast low-level functions from GNU MP 3.
  155. [default=yes]], ,with_gmp="yes")
  156. if test "$with_gmp" = yes; then
  157. CL_GMP_H_VERSION
  158. if test "$cl_cv_new_gmp_h" = no; then with_gmp="no"; fi
  159. if test "$with_gmp" = yes; then
  160. CL_GMP_CHECK
  161. if test "$cl_cv_new_libgmp" = no; then with_gmp="no"; fi
  162. fi
  163. fi
  164. if test "$with_gmp" = yes; then
  165. AC_DEFINE(CL_USE_GMP)
  166. else
  167. AC_MSG_WARN([disabling external GNU MP library])
  168. fi
  169. dnl
  170. dnl That's it.
  171. dnl
  172. for f in 'tests/.gdbinit'; do
  173. if test '!' -f "$f"; then
  174. echo "creating $f"
  175. changequote(,)dnl
  176. g=`echo "$f" | sed -e 's,/[^/]*$,,'`
  177. changequote([,])dnl
  178. test "$g" = "$f" || test -d "$g" || mkdir "$g"
  179. cp "$srcdir/$f" "$f"
  180. fi
  181. done
  182. AC_OUTPUT([Makefile src/Makefile tests/Makefile benchmarks/Makefile examples/Makefile doc/Makefile cln-config], [chmod +x cln-config])