dnl AUTOCONF configuration for CLN dnl dnl configure.ac ------>> configure dnl dnl configure ------>> config.status dnl --->> include/cln/config.h dnl cln-config.in --->> cln-config dnl Makefile.in --->> Makefile dnl src/Makefile.in --->> src/Makefile dnl dnl Makefile ------>> libcln.a dnl 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/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. extrasub="$extrasub"' /@subdir@/{ h g s/@subdir@/src/ p g s/@subdir@/tests/ p g s/@subdir@/benchmarks/ p g s/@subdir@/examples/ p g s/@subdir@/doc/ p d } ' dnl dnl checks for programs dnl CL_PROG_CC dnl sets variable CC AC_PROG_CPP dnl sets variable CPP 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_AS_NOEXECSTACK dnl sets variable ASMFLAGS AC_PROG_RANLIB dnl sets variable RANLIB AC_PROG_INSTALL dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM dnl dnl check for host type dnl CL_CANONICAL_HOST(autoconf) dnl sets variables host, host_cpu, host_vendor, host_os CL_CANONICAL_HOST_CPU dnl DEFS __${host_cpu}__ dnl dnl check for build configuration dnl 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 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) CL_CURRENT=5 CL_REVISION=2 CL_AGE=0 dnl make substitutions AC_SUBST(CL_CURRENT) AC_SUBST(CL_REVISION) AC_SUBST(CL_AGE) dnl release version CL_VERSION_MAJOR=1 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) AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL) dnl concatenated release version CL_VERSION=$CL_VERSION_MAJOR.$CL_VERSION_MINOR.$CL_VERSION_PATCHLEVEL AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION) AC_SUBST(CL_VERSION) dnl dnl checks for compiler characteristics dnl AC_LANG_CPLUSPLUS dnl CL_LONGLONG dnl DEFS HAVE_LONGLONG CL_LONGDOUBLE dnl DEFS HAVE_LONGDOUBLE CL_GLOBAL_CONSTRUCTORS dnl DEFS CL_GLOBAL_CONSTRUCTOR_PREFIX, CL_GLOBAL_DESTRUCTOR_PREFIX dnl dnl checks for header files dnl AC_CHECK_HEADERS([unistd.h]) dnl DEFS HAVE_UNISTD_H if exist unistd.h dnl dnl checks for typedefs dnl dnl dnl checks for functions and declarations dnl CL_ALLOCA dnl set variable ALLOCA, DEFS NO_ALLOCA CL_GETTIMEOFDAY 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 DEFS HAVE_PERROR_DECL CL_ATTRIBUTE_FLATTEN dnl DEFS CL_HAVE_ATTRIBUTE_FLATTEN dnl dnl checks for compiler characteristics dnl AC_C_CHAR_UNSIGNED dnl DEFS __CHAR_UNSIGNED__ if char is unsigned 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,[CL_FLOATPARAM_CROSS],include/cln/floatparam.h,cl_cv_file_floatparam_h) dnl builds include/cln/floatparam.h CL_LIBGMP dnl DEFS CL_USE_GMP, GMP_DEMANDS_UINTD_* dnl dnl That's it. dnl for f in 'tests/.gdbinit'; do if test '!' -f "$f"; then echo "creating $f" changequote(,)dnl g=`echo "$f" | sed -e 's,/[^/]*$,,'` changequote([,])dnl test "$g" = "$f" || test -d "$g" || mkdir "$g" cp "$srcdir/$f" "$f" fi done AC_OUTPUT([Makefile src/Makefile tests/Makefile benchmarks/Makefile examples/Makefile doc/Makefile cln.spec cln.pc])