1 dnl AUTOCONF configuration for CLN
2 dnl Bruno Haible 8.1.1999
4 dnl configure.in ---<autoconf>--->> configure
6 dnl configure ---<sh>--->> config.status
7 dnl --->> include/cl_config.h
8 dnl Makefile.in --->> Makefile
9 dnl src/Makefile.in --->> src/Makefile
11 dnl Makefile ---<make>--->> libcln.a
14 AC_INIT(src/integer/gcd/cl_I_gcd.cc)
15 AC_CONFIG_HEADER(include/cl_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 dnl This piece of sed script replaces every line containing '@subdir@'
18 dnl by several consecutive lines, each referencing one subdir.
29 s/@subdir@/benchmarks/
41 dnl checks for programs
50 dnl sets variable CXXCPP
52 dnl sets variable AS_UNDERSCORE, DEFS ASM_UNDERSCORE
54 dnl sets variable RANLIB
56 dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM
58 dnl check for host type
60 CL_CANONICAL_HOST(autoconf)
61 dnl sets variables host, host_cpu, host_vendor, host_os
63 dnl DEFS __${host_cpu}__
65 dnl check for build configuration
69 dnl Libtool's library version information for CLN.
70 dnl (Not to be confused with CLN's release version.)
71 dnl Making new releases:
72 dnl * increment CLN_REVISION,
73 dnl * if any functions/classes have been added, removed or changed, increment
74 dnl CLN_CURRENT and set CLN_REVISION to 0,
75 dnl * if any functions/classes have been added, increment CLN_AGE,
76 dnl * if backwards compatibility has been broken, set CLN_AGE to 0.
80 dnl make substitutions
87 CL_VERSION_PATCHLEVEL=0
88 dnl release version for cl_config.h, so it can be tested by the preprocessor
89 AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION)
90 AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR)
91 AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL)
93 dnl sets variable LIBTOOL
95 dnl checks for compiler characteristics
100 dnl DEFS HAVE_BOOL, bool
102 dnl DEFS HAVE_LONGLONG
104 dnl DEFS HAVE_LONGDOUBLE
106 dnl DEFS HAVE_TEMPLATE_NULL
107 CL_GLOBAL_CONSTRUCTORS
108 dnl DEFS CL_GLOBAL_CONSTRUCTOR_PREFIX, CL_GLOBAL_DESTRUCTOR_PREFIX
110 dnl checks for header files
113 dnl DEFS HAVE_UNISTD_H if exist unistd.h
115 dnl checks for typedefs
118 dnl checks for functions and declarations
121 dnl set variable ALLOCA, DEFS NO_ALLOCA
123 dnl DEFS HAVE_FPU_CONTROL_T, HAVE_SETFPUCW
125 dnl DEFS HAVE_GETTIMEOFDAY, GETTIMEOFDAY_DOTS, GETTIMEOFDAY_TZP_T
129 dnl DEFS HAVE_TIMES_CLOCK
131 dnl DEFS HAVE_SYS_RESOURCE_H, HAVE_GETRUSAGE, HAVE_SYS_TIMES_H
133 dnl DEFS HAVE_PERROR_DECL
135 dnl checks for compiler characteristics
138 dnl DEFS __CHAR_UNSIGNED__ if char is unsigned
139 test -d 'include' || mkdir 'include'
140 CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,include/cl_intparam.h,cl_cv_file_intparam_h)
141 dnl builds include/cl_intparam.h
142 CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,include/cl_floatparam.h,cl_cv_file_floatparam_h)
143 dnl builds include/cl_floatparam.h
145 dnl interfacing to GNU gmp (must be at least version 3)
147 AC_ARG_WITH(gmp, [ --with-gmp use external fast low-level functions from GNU MP 3.
148 [default=yes]], ,with_gmp="yes")
149 if test "$with_gmp" = yes; then
151 if test "$cl_cv_new_gmp_h" = no; then with_gmp="no"; fi
152 if test "$with_gmp" = yes; then
154 if test "$cl_cv_new_libgmp" = no; then with_gmp="no"; fi
157 if test "$with_gmp" = yes; then
158 AC_DEFINE(CL_USE_GMP)
160 AC_MSG_WARN([disabling external GNU MP library])
165 for f in 'tests/.gdbinit'; do
166 if test '!' -f "$f"; then
169 g=`echo "$f" | sed -e 's,/[^/]*$,,'`
171 test "$g" = "$f" || test -d "$g" || mkdir "$g"
175 AC_OUTPUT(Makefile src/Makefile tests/Makefile benchmarks/Makefile examples/Makefile doc/Makefile)