[GiNaC-list] about CLN versus win32 patch
Sheplyakov Alexei
varg at theor.jinr.ru
Mon Jul 31 01:03:52 CEST 2006
Hello!
On Mon, Jul 24, 2006 at 12:04:16AM +0200, Richard B. Kreckel wrote:
> Your patch didn't apply because it wasn't from CVS, so I had to apply it
> manually.
It looks like you failed to do this properly.
I've attached patch for cln_1-1 branch.
In order to build from CVS I had to modify configure.ac and different
m4 macros, see the second attached file.
Best regards,
Alexei.
--
All science is either physics or stamp collecting.
-------------- next part --------------
diff --git a/src/base/random/cl_random_from.cc b/src/base/random/cl_random_from.cc
index 0470a4e..e858473 100644
--- a/src/base/random/cl_random_from.cc
+++ b/src/base/random/cl_random_from.cc
@@ -1,4 +1,7 @@
// random_state constructor.
+#if defined(_WIN32)
+#include <windows.h> // for GetCurrentProcessId()
+#endif
// General includes.
#include "cl_sysdep.h"
@@ -9,10 +12,6 @@ #include "cln/random.h"
// Implementation.
-#if defined(_WIN32)
-#include <windows.h> // for GetCurrentProcessId()
-#endif
-
#include "cl_base_config.h"
#include "cl_low.h"
#include <cstdlib> // declares rand()
@@ -47,14 +46,12 @@ #endif
#include <sys/times.h>
extern "C" clock_t times (struct tms * buffer);
-namespace cln {
inline uint32 get_seed (void)
{
var struct tms tmsbuf;
var uint32 seed_lo = times(&tmsbuf);
return seed_lo + tmsbuf.tms_utime + tmsbuf.tms_stime;
}
-} // namespace cln
#endif
@@ -62,14 +59,12 @@ #elif defined(_WIN32)
#include <sys/time.h>
#include <sys/timeb.h>
-namespace cln {
inline uint32 get_seed (void)
{
struct timeb timebuf;
ftime(&timebuf);
return cln::highlow32(timebuf.time, (long)(timebuf.millitm)*1000);
}
-} // namespace cln
#endif
-------------- next part --------------
diff --git a/configure.ac b/configure.ac
index a47ef2e..c2e0f7c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,6 +69,14 @@ dnl check for build configurat
dnl
PACKAGE=cln
dnl libtool wants PACKAGE
+case $host_os in
+ *mingw32*)
+ AC_LIBTOOL_WIN32_DLL
+ ;;
+ *)
+ ;;
+esac
+ dnl convince libtool to build win32 dll
AC_PROG_LIBTOOL
dnl sets variable LIBTOOL
@@ -94,12 +102,12 @@ CL_VERSION_MAJOR=1
CL_VERSION_MINOR=1
CL_VERSION_PATCHLEVEL=12
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)
+AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR, [CLN major version])
+AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR, [CLN minor version])
+AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL, [CLN patchlevel version])
dnl concatenated release version
CL_VERSION=$CL_VERSION_MAJOR.$CL_VERSION_MINOR.$CL_VERSION_PATCHLEVEL
-AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION)
+AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION, [CLN version])
AC_SUBST(CL_VERSION)
dnl
@@ -151,8 +159,10 @@ CL_MACHINE([floating-point types and beh
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")
+AC_ARG_WITH(gmp, AS_HELP_STRING([--with-gmp],
+ [use external fast low-level functions from GNU MP 3 (default: yes).]),
+ with_gmp="$withval",
+ 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
@@ -163,7 +173,7 @@ if test "$with_gmp" = yes; then
fi
if test "$with_gmp" = yes; then
CL_GMP_SET_UINTD
- AC_DEFINE(CL_USE_GMP)
+ AC_DEFINE(CL_USE_GMP, ,[Define if GNU MP library is available])
else
AC_MSG_WARN([disabling external GNU MP library])
fi
diff --git a/m4/c++-constructors.m4 b/m4/c++-constructors.m4
index 2eb9889..48df183 100644
--- a/m4/c++-constructors.m4
+++ b/m4/c++-constructors.m4
@@ -37,7 +37,7 @@ rm -f conftest*
])
if test "$cl_cv_cplusplus_ctorprefix" '!=' unknown; then
ac_value='"'"$cl_cv_cplusplus_ctorprefix"'"'
- AC_DEFINE_UNQUOTED(CL_GLOBAL_CONSTRUCTOR_PREFIX,$ac_value)
+ AC_DEFINE_UNQUOTED(CL_GLOBAL_CONSTRUCTOR_PREFIX,$ac_value, [Global ctor prefix])
AC_CACHE_CHECK(for the global destructors function prefix,
cl_cv_cplusplus_dtorprefix, [
cat > conftest.cc << EOF
@@ -63,7 +63,7 @@ rm -f conftest*
])
if test "$cl_cv_cplusplus_dtorprefix" '!=' none; then
ac_value='"'"$cl_cv_cplusplus_ctorprefix"'"'
- AC_DEFINE_UNQUOTED(CL_GLOBAL_DESTRUCTOR_PREFIX,$ac_value)
+ AC_DEFINE_UNQUOTED(CL_GLOBAL_DESTRUCTOR_PREFIX,$ac_value, [Global dtor prefix])
fi
dnl Check whether the global constructors/destructors functions are file-scope
dnl only by default. This is the case in egcs-1.1.2 or newer.
@@ -93,7 +93,7 @@ fi
rm -f conftest*
])
if test "$cl_cv_cplusplus_ctorexport" = yes; then
- AC_DEFINE(CL_NEED_GLOBALIZE_CTORDTOR)
+ AC_DEFINE(CL_NEED_GLOBALIZE_CTORDTOR, ,[Define if global ctor/dtors are file-scope by default])
fi
fi
fi
diff --git a/m4/general.m4 b/m4/general.m4
index 0c550af..3a0b403 100644
--- a/m4/general.m4
+++ b/m4/general.m4
@@ -129,6 +129,64 @@ AC_CANONICAL_HOST
AC_DEFUN([CL_CANONICAL_HOST_CPU],
[AC_REQUIRE([CL_CANONICAL_HOST])AC_REQUIRE([AC_PROG_CC])
+AH_TOP([
+#ifndef _CL_CONFIG_H
+#define _CL_CONFIG_H
+/* CLN's idea about CPU model */
+#ifndef __i386__
+#undef __i386__
+#endif
+#ifndef __m68k__
+#undef __m68k__
+#endif
+/* NB: GCC def's __mips__ both on big-endian and little-endian systems. */
+#ifndef __mips__
+#undef __mips__
+#endif
+#ifndef __mipsel__
+#undef __mipsel__
+#endif
+#ifndef __mips64__
+#undef __mips64__
+#endif
+#ifndef __sparc__
+#undef __sparc__
+#endif
+#ifndef __sparc64__
+#undef __sparc64__
+#endif
+#ifndef __alpha__
+#undef __alpha__
+#endif
+#ifndef __hppa__
+#undef __hppa__
+#endif
+#ifndef __arm__
+#undef __arm__
+#endif
+#ifndef __rs6000__
+#undef __rs6000__
+#endif
+#ifndef __m88k__
+#undef __m88k__
+#endif
+#ifndef __convex__
+#undef __convex__
+#endif
+#ifndef __ia64__
+#undef __ia64__
+#endif
+#ifndef __x86_64__
+#undef __x86_64__
+#endif
+#ifndef __s390__
+#undef __s390__
+#endif
+])
+AH_BOTTOM([
+#endif /* _CL_CONFIG_H */
+])
+
case "$host_cpu" in
changequote(,)dnl
i[4567]86 )
@@ -182,6 +240,7 @@ else
fi
;;
esac
+
dnl was AC_DEFINE_UNQUOTED(__${host_cpu}__) but KAI C++ 3.2d doesn't like this
cat >> confdefs.h <<EOF
#ifndef __${host_cpu}__
diff --git a/m4/gmp.m4 b/m4/gmp.m4
index 93bdc5d..5fc110b 100644
--- a/m4/gmp.m4
+++ b/m4/gmp.m4
@@ -62,5 +62,5 @@ #endif
AC_MSG_ERROR([Don't know which C-type has sizeof $gmp_retval.]),
AC_MSG_ERROR([cross-compiling - cannot determine]))
])
-AC_DEFINE_UNQUOTED($cl_gmp_demands)
+AC_DEFINE_UNQUOTED($cl_gmp_demands, ,[sizeof(uintD) == sizeof(mp_limb_t)])
])
diff --git a/m4/longdouble.m4 b/m4/longdouble.m4
index 069de22..72cecce 100644
--- a/m4/longdouble.m4
+++ b/m4/longdouble.m4
@@ -23,6 +23,6 @@ AC_TRY_COMPILE([
], , cl_cv_c_longdouble=yes, cl_cv_c_longdouble=no)])
])
if test $cl_cv_c_longdouble = yes; then
- AC_DEFINE(HAVE_LONGDOUBLE)
+ AC_DEFINE(HAVE_LONGDOUBLE, ,[Define if compiler support long double type])
fi
])
diff --git a/m4/param.m4 b/m4/param.m4
index 2a6b07d..21a7b84 100644
--- a/m4/param.m4
+++ b/m4/param.m4
@@ -31,9 +31,9 @@ CC=`echo "$CC " | sed -e 's/-O //g'`
fi
AC_TRY_EVAL(ac_link)
CC="$ORIGCC"
-if test -s conftest; then
+if test -s conftest${ac_exeext}; then
echo "creating $cl_machine_file_h"
- ./conftest > conftest.h
+ ./conftest${ac_exeext} > conftest.h
if cmp -s "$cl_machine_file_h" conftest.h 2>/dev/null; then
# The file exists and we would not be changing it
rm -f conftest.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: Digital signature
Url : http://www.cebix.net/pipermail/ginac-list/attachments/20060731/ec4b0906/attachment.pgp
More information about the GiNaC-list
mailing list