dnl
AC_INIT(src/integer/gcd/cl_I_gcd.cc)
AC_CONFIG_AUX_DIR(autoconf)
-AC_CONFIG_HEADER(include/cln/config.h include/cln/version.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/float/cl_float_config.h src/timing/cl_t_config.h)
+AC_CONFIG_HEADER(include/cln/config.h include/cln/version.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/timing/cl_t_config.h)
AC_PROG_MAKE_SET
dnl This piece of sed script replaces every line containing '@subdir@'
dnl by several consecutive lines, each referencing one subdir.
dnl
dnl checks for programs
dnl
-AC_PROG_CC
+CL_PROG_CC
dnl sets variable CC
AC_PROG_CPP
dnl sets variable CPP
-AC_PROG_CXX
+CL_PROG_CXX
dnl sets variable CXX
AC_PROG_CXXCPP
dnl sets variable CXXCPP
CL_AS_UNDERSCORE
dnl sets variable AS_UNDERSCORE, DEFS ASM_UNDERSCORE
-CL_PROG_RANLIB
+CL_AS_NOEXECSTACK
+ dnl sets variable ASMFLAGS
+AC_PROG_RANLIB
dnl sets variable RANLIB
-CL_PROG_INSTALL
+AC_PROG_INSTALL
dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM
dnl
dnl check for host type
dnl
dnl check for build configuration
dnl
- dnl libcln depends on libm
PACKAGE=cln
dnl libtool wants PACKAGE
+case $host_os in
+ *mingw*)
+ AC_DISABLE_SHARED
+ dnl Shared libraries are not supported on some platforms [yet]
+ ;;
+ *)
+ AC_ENABLE_SHARED
+ ;;
+esac
AC_PROG_LIBTOOL
dnl sets variable LIBTOOL
dnl CL_CURRENT and set CL_REVISION to 0,
dnl * if any functions/classes have been added, increment CL_AGE,
dnl * if backwards compatibility has been broken, set CL_AGE to 0.
-CL_CURRENT=2
-CL_REVISION=3
+dnl $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) results in
+dnl libcln.so.$(CL_CURRENT)-$(CL_AGE)
+CL_CURRENT=5
+CL_REVISION=2
CL_AGE=0
dnl make substitutions
AC_SUBST(CL_CURRENT)
AC_SUBST(CL_AGE)
dnl release version
CL_VERSION_MAJOR=1
-CL_VERSION_MINOR=1
-CL_VERSION_PATCHLEVEL=4
+CL_VERSION_MINOR=2
+CL_VERSION_PATCHLEVEL=2
dnl release version for cln/config.h, so it can be tested by the preprocessor
AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR)
AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR)
dnl
AC_LANG_CPLUSPLUS
dnl
-CL_BOOL
- dnl DEFS HAVE_BOOL, bool
CL_LONGLONG
dnl DEFS HAVE_LONGLONG
CL_LONGDOUBLE
dnl DEFS HAVE_LONGDOUBLE
-CL_TEMPLATE_NULL
- dnl DEFS HAVE_TEMPLATE_NULL
CL_GLOBAL_CONSTRUCTORS
dnl DEFS CL_GLOBAL_CONSTRUCTOR_PREFIX, CL_GLOBAL_DESTRUCTOR_PREFIX
dnl
dnl checks for header files
dnl
-CL_UNISTD_H
+AC_CHECK_HEADERS([unistd.h])
dnl DEFS HAVE_UNISTD_H if exist unistd.h
dnl
dnl checks for typedefs
dnl
CL_ALLOCA
dnl set variable ALLOCA, DEFS NO_ALLOCA
-CL_FPU_CONTROL
- dnl DEFS HAVE_FPU_CONTROL_T, HAVE_SETFPUCW
CL_GETTIMEOFDAY
dnl DEFS HAVE_GETTIMEOFDAY, GETTIMEOFDAY_DOTS, GETTIMEOFDAY_TZP_T
-CL_FTIME
- dnl DEFS HAVE_FTIME
+ac_cv_func_ftime=no
+ dnl don't use ftime(3) even if it's available
CL_TIMES_CLOCK
dnl DEFS HAVE_TIMES_CLOCK
CL_RUSAGE
dnl DEFS HAVE_SYS_RESOURCE_H, HAVE_GETRUSAGE, HAVE_SYS_TIMES_H
CL_PERROR
dnl DEFS HAVE_PERROR_DECL
+CL_ATTRIBUTE_FLATTEN
+ dnl DEFS CL_HAVE_ATTRIBUTE_FLATTEN
dnl
dnl checks for compiler characteristics
dnl
-CL_CHAR_UNSIGNED
+AC_C_CHAR_UNSIGNED
dnl DEFS __CHAR_UNSIGNED__ if char is unsigned
-test -d 'include/cln' || mkdir -p 'include/cln'
-CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,include/cln/intparam.h,cl_cv_file_intparam_h)
+
+dnl Create a subdirectory in the ${top_builddir} to hold auto-generated
+dnl headers. This subdirectory does not exist when ${top_builddir} != ${top_srcdir}
+dnl (a.k.a. "VPATH build").
+if test ! -d include/cln; then
+ AS_MKDIR_P([include/cln])
+fi
+CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,[CL_INTPARAM_CROSS],include/cln/intparam.h,cl_cv_file_intparam_h)
dnl builds include/cln/intparam.h
-CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,include/cln/floatparam.h,cl_cv_file_floatparam_h)
+CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,[CL_FLOATPARAM_CROSS],include/cln/floatparam.h,cl_cv_file_floatparam_h)
dnl builds include/cln/floatparam.h
-dnl
-dnl interfacing to GNU gmp (must be at least version 3)
-dnl
-AC_ARG_WITH(gmp, [ --with-gmp use external fast low-level functions from GNU MP 3.
- [default=yes]], ,with_gmp="yes")
-if test "$with_gmp" = yes; then
- CL_GMP_H_VERSION
- if test "$cl_cv_new_gmp_h" = no; then with_gmp="no"; fi
- if test "$with_gmp" = yes; then
- CL_GMP_CHECK
- if test "$cl_cv_new_libgmp" = no; then with_gmp="no"; fi
- fi
-fi
-if test "$with_gmp" = yes; then
- CL_GMP_SET_UINTD
- AC_DEFINE(CL_USE_GMP)
-else
- AC_MSG_WARN([disabling external GNU MP library])
-fi
+CL_LIBGMP
+ dnl DEFS CL_USE_GMP, GMP_DEMANDS_UINTD_*
dnl
dnl That's it.
dnl
cp "$srcdir/$f" "$f"
fi
done
-AC_OUTPUT([Makefile src/Makefile tests/Makefile benchmarks/Makefile examples/Makefile doc/Makefile cln-config cln-config.1 cln.spec], [chmod +x cln-config])
+AC_OUTPUT([Makefile src/Makefile tests/Makefile benchmarks/Makefile examples/Makefile doc/Makefile cln.spec cln.pc])