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.
 
 
 
 
 

162 lines
4.6 KiB

dnl AUTOCONF configuration for CLN
dnl Bruno Haible 8.1.1999
dnl
dnl configure.in ---<autoconf>--->> configure
dnl
dnl configure ---<sh>--->> config.status
dnl --->> include/cl_config.h
dnl Makefile.in --->> Makefile
dnl src/Makefile.in --->> src/Makefile
dnl
dnl Makefile ---<make>--->> libcln.a
dnl
dnl
AC_INIT(src/integer/gcd/cl_I_gcd.cc)
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)
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
AC_PROG_CC
dnl sets variable CC
AC_PROG_CPP
dnl sets variable CPP
AC_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
dnl sets variable RANLIB
CL_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
AM_DISABLE_SHARED
AM_PROG_LIBTOOL
dnl CLN library version information.
dnl
dnl Making new releases:
dnl CLN_MICRO_VERSION += 1;
dnl CLN_INTERFACE_AGE += 1;
dnl CLN_BINARY_AGE += 1;
dnl if any functions have been added, set CLN_INTERFACE_AGE to 0.
dnl if backwards compatibility has been broken,
dnl set CLN_BINARY_AGE and CLN_INTERFACE_AGE to 0.
dnl CLN_MAJOR_VERSION=1
dnl CLN_MINOR_VERSION=0
dnl CLN_MICRO_VERSION=4
dnl CLN_INTERFACE_AGE=1
dnl CLN_BINARY_AGE=1
dnl sets variable LIBTOOL
dnl
dnl checks for compiler characteristics
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
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_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
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
dnl
dnl checks for compiler characteristics
dnl
CL_CHAR_UNSIGNED
dnl DEFS __CHAR_UNSIGNED__ if char is unsigned
test -d 'include' || mkdir 'include'
CL_MACHINE([integer types and behaviour],${srcdir}/autoconf/intparam.c,include/cl_intparam.h,cl_cv_file_intparam_h)
dnl builds include/cl_intparam.h
CL_MACHINE([floating-point types and behaviour],${srcdir}/autoconf/floatparam.c,include/cl_floatparam.h,cl_cv_file_floatparam_h)
dnl builds include/cl_floatparam.h
dnl
dnl interfacing to GNU gmp (must be at least version 3)
dnl
AC_ARG_WITH(gmp, [ --with-gmp use external fast GNU gmp low-level functions])
if test "$with_gmp" = yes; then
AC_CHECK_HEADER(gmp.h, , with_gmp="no")
dnl mpn_divexact_by3 was introduced in gmp3 and the symbol has a leading `__g':
AC_CHECK_LIB(gmp, __gmpn_divexact_by3, , with_gmp="no")
fi
if test "$with_gmp" = yes; then
AC_DEFINE(CL_USE_GMP)
else
AC_MSG_WARN([disabling external gmp])
fi
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)