dnl run autoreconf -iv to produce the configure script.
-m4_define([cl_version_major], [1])
-m4_define([cl_version_minor], [2])
-m4_define([cl_version_patchlevel], [2])
+m4_define([cl_version_major], CL_GET_VERSION([MAJOR]))
+m4_define([cl_version_minor], CL_GET_VERSION([MINOR]))
+m4_define([cl_version_patchlevel], CL_GET_VERSION([PATCHLEVEL]))
m4_define([cl_version], [cl_version_major.cl_version_minor.cl_version_patchlevel])
dnl Libtool's library version information for CLN.
-dnl (Not to be confused with CLN's release version.)
-dnl Making new releases:
-dnl * increment CL_REVISION,
-dnl * if any functions/classes have been added, removed or changed, increment
-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.
-dnl $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) results in
-dnl libcln.so.$(CL_CURRENT)-$(CL_AGE)
-m4_define([cl_current], [6])
-m4_define([cl_revision], [0])
-m4_define([cl_age], [0])
-m4_define([cl_lt_version], [cl_current:cl_revision:cl_age])
+m4_define([cl_lt_current], CL_GET_LTVERSION([CURRENT]))
+m4_define([cl_lt_revision], CL_GET_LTVERSION([REVISION]))
+m4_define([cl_lt_age], CL_GET_LTVERSION([AGE]))
+m4_define([cl_lt_version], [cl_lt_current:cl_lt_revision:cl_lt_age])
-AC_INIT([cln], cln_version)
+AC_INIT([cln], cl_version)
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR(src/integer/gcd/cl_I_gcd.cc)
-AC_CONFIG_AUX_DIR([autoconf])
-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)
-AM_INIT_AUTOMAKE([foreign 1.8 dist-bzip2])
-AH_TOP([#ifdef _CL_CONFIG_H])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_HEADERS(autoconf/cl_config.h include/cln/config.h include/cln/host_cpu.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/timing/cl_t_config.h)
+AM_INIT_AUTOMAKE([foreign 1.10 dist-bzip2 subdir-objects])
+AH_TOP([#ifndef _CL_CONFIG_H])
+AH_TOP([#define _CL_CONFIG_H])
AH_TOP([#include "cln/host_cpu.h"])
+AH_TOP([/* prevents cln/config.h from being included, so no macro gets redefined */])
+AH_TOP([#define _CL_CONFIG_PUBLIC_H])
+AH_TOP([/* prevents cln/version.h from being included, so no macro gets redefined */])
+AH_TOP([#define _CL_VERSION_H])
AH_BOTTOM([#endif /* _CL_CONFIG_H */])
dnl checks for programs
dnl
dnl check for host type
dnl
-CL_CANONICAL_HOST(autoconf)
+CL_CANONICAL_HOST
dnl sets variables host, host_cpu, host_vendor, host_os
CL_CANONICAL_HOST_CPU
dnl DEFS __${host_cpu}__
LT_VERSION_INFO=cl_lt_version
AC_SUBST(LT_VERSION_INFO)
-
-dnl release version
-CL_VERSION_MAJOR=cl_version_major
-CL_VERSION_MINOR=cl_version_minor
-CL_VERSION_PATCHLEVEL=cl_version_patchlevel
-dnl release version for cln/config.h, so it can be tested by the preprocessor
-AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR, [Major version number of CLN])
-AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR, [Minor version number of CLN])
-AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL, [Patchlevel version number of CLN])
-dnl concatenated release version
CL_VERSION=cl_version
-AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION, [CLN release number])
AC_SUBST(CL_VERSION)
dnl checks for compiler characteristics
dnl
AC_LANG([C++])
+AX_CXX_COMPILE_STDCXX([11], [ext], [optional])
dnl
-CL_LONGLONG
- dnl DEFS HAVE_LONGLONG
-CL_LONGDOUBLE
- dnl DEFS HAVE_LONGDOUBLE
+AC_CHECK_ALIGNOF([void*])
+AC_DEFINE_UNQUOTED([cl_word_alignment], [$ac_cv_alignof_voidp], [Normal alignment of void*])
dnl
dnl checks for header files
dnl
dnl DEFS HAVE_GETTIMEOFDAY, GETTIMEOFDAY_DOTS, GETTIMEOFDAY_TZP_T
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 builds include/cln/floatparam.h
CL_LIBGMP
dnl DEFS CL_USE_GMP, GMP_DEMANDS_UINTD_*
+
+CLNLIB_LIBS='-L${libdir} -lcln'
+AC_LIB_LINKFLAGS_FROM_LIBS([CLNLIB_RPATH], [$CLNLIB_LIBS])
+
dnl
dnl That's it.
dnl
-AC_OUTPUT([Makefile src/Makefile tests/Makefile examples/Makefile doc/Makefile cln.spec cln.pc])
+AC_OUTPUT([Makefile src/Makefile tests/Makefile examples/Makefile doc/Makefile benchmarks/Makefile cln.spec cln.pc])