diff -Nru cln-1.1.9-orig/src/base/random/cl_random_from.cc cln-1.1.9/src/base/random/cl_random_from.cc --- cln-1.1.9-orig/src/base/random/cl_random_from.cc 2004-06-24 01:04:49.000000000 +0400 +++ cln-1.1.9/src/base/random/cl_random_from.cc 2005-08-12 18:23:11.000000000 +0400 @@ -1,5 +1,9 @@ // random_state constructor. +#if defined(_WIN32) // it _wants_ to be the first header... +#include +#endif + // General includes. #include "cl_sysdep.h" @@ -11,12 +15,21 @@ #include "cl_base_config.h" #include "cl_low.h" +#include // declares rand() + +#if defined(_WIN32) +inline uint32 get_seed() +{ + LARGE_INTEGER pcnt; // performance counter value + QueryPerformanceCounter(&pcnt); + pcnt.QuadPart << 16; + return (uint32)(pcnt.HighPart | pcnt.LowPart); +} -#if defined(unix) || defined(__unix) || defined(_AIX) || defined(sinix) || (defined(__MACH__) && defined(__APPLE__)) || (defined(_WIN32) && defined(__GNUC__)) || defined(__BEOS__) +#elif defined(unix) || defined(__unix) || defined(_AIX) || defined(sinix) || (defined(__MACH__) && defined(__APPLE__)) || (defined(__CYGWIN__) && defined(__GNUC__)) || defined(__BEOS__) #include #include // declares getpid() -#include // declares rand() #if defined(HAVE_GETTIMEOFDAY) @@ -64,10 +77,13 @@ { var uint32 seed_hi; var uint32 seed_lo; -#if defined(unix) || defined(__unix) || defined(_AIX) || defined(sinix) || (defined(__MACH__) && defined(__APPLE__)) || (defined(_WIN32) && defined(__GNUC__)) || defined(__BEOS__) +#if defined(unix) || defined(__unix) || defined(_AIX) || defined(sinix) || (defined(__MACH__) && defined(__APPLE__)) || (defined(__CYGWIN__) && defined(__GNUC__)) || defined(__BEOS__) seed_lo = ::get_seed(); seed_hi = (rand() // zuf�llige 31 Bit (bei UNIX_BSD) bzw. 16 Bit (bei UNIX_SYSV) << 8) ^ (uintL)(getpid()); // ca. 8 Bit von der Process ID +#elif defined(_WIN32) + seed_lo = ::get_seed(); + seed_hi = (rand() << 8) ^ (uintL)(GetCurrentProcessId()); #elif defined(__atarist) seed_lo = highlow32(GEMDOS_GetDate(),GEMDOS_GetTime()); // 16+16 zuf�llige Bits seed_hi = XBIOS_Random(); // 24 Bit zuf�llig vom XBIOS, vorne 8 Nullbits diff -Nru cln-1.1.9-orig/src/Makefile.in cln-1.1.9/src/Makefile.in --- cln-1.1.9-orig/src/Makefile.in 2004-11-03 23:56:50.000000000 +0300 +++ cln-1.1.9/src/Makefile.in 2005-08-12 18:23:36.000000000 +0400 @@ -203,7 +203,7 @@ $(ALLOBJECTS_LO) : $(SUBDIRS_TARGET) libcln.la : $(LIBTOOL) $(ALLOBJECTS_LO) - $(LIBTOOL_LINK) $(CC) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) + $(LIBTOOL_LINK) $(CXX) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) install : all force $(MKDIR) $(DESTDIR)$(libdir)