ICQ2000b

Marcus Meissner marcus at jet.franken.de
Wed May 23 00:30:36 CDT 2001


In article <9ef6oi$306o$1 at news.tht.net>,
Marc G. Fournier <scrappy at hub.org> wrote:
>
>>Marc G. Fournier <scrappy at hub.org> wrote:
>>> Andreas Mohr <zstkyu9001 at sneakemail.com> writes:
>>>>P.S.: Yes, I started debugging/fixing ICQ2000b, and it nearly works,
>>>>but I really don't see why we'd always want to use "emulated" software
>>>>instead of the "real" (possibly better !) thing...
>
>>> Actually, from what I've seen, none of the clones are "better then" the real
>>> thing as far as ICQ is concerned ... I haven't asked her for a list, but
>>> there are features of ICQ2000b that my gf uses that don't appear to exist
>>> (or she can't find) in licq, which is why I want to get ICQ2000b working for
>>> her under Wine ...
>
>>> I use licq myself, and find that it does all that I want, so that is what
>>> I use, but I'd rather not have to reboot my FreeBSD box into Windows
>>> just so that she can use ICQ if I can at all help it :(
>>Hmm, so how far did you get with ICQ2000b ?
>
>>Install works fine for me, but running it is a problem (SHAppBarMessage
>>causes a recursion which I already fixed).
>>So in fact it might already work (it looks promising !), but as I don't have
>>net access for my notebook right now, I can't test it.
>
>Just updated source and tried to compile, but got:
>
>gmake[2]: Entering directory `/usr/local/src/wine/tools/winebuild'
>gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall
>-mpreferred-stack-boundary=2 -D__WINE__ -D_REENTRANT
>-I/usr/X11R6/include -o spec16.o spec16.c
>In file included from spec16.c:15:
>../../include/wine/port.h:157: syntax error before `.'
>../../include/wine/port.h:158: syntax error before `.'
>../../include/wine/port.h:159: syntax error before `.'
>gmake[2]: *** [spec16.o] Error 1
>
>which are these three lines:
>
>    time_t        st_atime;    /* time of last access */
>    time_t        st_mtime;    /* time of last modification */
>    time_t        st_ctime;    /* time of last change */
>
>And, for the life of me, I can't figure it out ;(  

No need.

We already addressed this problem, apply patch below. 
Rerun:
	autoconf
	autoheader -l include
	./configure ...
	make depend && make

Ciao, Marcus

Index: configure.in
===================================================================
RCS file: /home/wine/wine/configure.in,v
retrieving revision 1.201
diff -u -r1.201 configure.in
--- configure.in	2001/05/16 20:56:05	1.201
+++ configure.in	2001/05/19 19:34:30
@@ -879,6 +895,37 @@
 AC_TYPE_SIZE_T()
 AC_CHECK_SIZEOF(long long,0)
 
+dnl *** 64bit file operations ***
+dnl *** FreeBSD already has 64bit clean stat struct and off_t in newer vers ***
+AC_CACHE_CHECK("whether file operations are already 64 bit",
+	wine_cv_fileop64,
+	AC_TRY_RUN([
+		#define _LARGEFILE64_SOURCE
+		#include <sys/types.h>
+		#include <sys/stat.h>
+
+		int 
+		main(int argc,char **argv) {
+			struct stat stbuf;
+			if (sizeof(off_t)!=8)
+				return 1;
+			if (sizeof(stbuf.st_size)!=8)
+				return 1;
+			return 0;
+		}
+	],
+	wine_cv_fileop64="yes",
+	wine_cv_fileop64="no",
+	wine_cv_fileop64="no"
+	)
+    )
+    if test "$wine_cv_fileop64" = "yes"
+    then
+        AC_DEFINE(HAVE_FILEOP64)
+    fi
+
+
+dnl *** Linux defines off64_t, struct stat64 and resp. functions ***
 AC_CACHE_CHECK("for off64_t",
 	wine_cv_off64_t,
 	AC_TRY_COMPILE([
Index: include/acconfig.h
===================================================================
RCS file: /home/wine/wine/include/acconfig.h,v
retrieving revision 1.39
diff -u -r1.39 acconfig.h
--- include/acconfig.h	2001/05/16 20:56:06	1.39
+++ include/acconfig.h	2001/05/19 19:34:30
@@ -131,3 +134,6 @@
 
 /* Define if we have struct stat64 */
 #undef HAVE_STRUCT_STAT64
+
+/* Define if we have 64bit clean struct stat and off_t already */
+#undef HAVE_FILEOP64
Index: library/port.c
===================================================================
RCS file: /home/wine/wine/library/port.c,v
retrieving revision 1.12
diff -u -r1.12 port.c
--- library/port.c	2001/05/16 19:45:34	1.12
+++ library/port.c	2001/05/19 19:34:31
@@ -389,6 +389,7 @@
 }
 #endif /* HAVE_LSTAT */
 
+#ifndef HAVE_FILEOP64
 #if !defined(HAVE_STAT64) || !defined(HAVE_LSTAT64) || !defined(HAVE_FSTAT64)
 static void _convert_stat_stat64(struct stat64 *stto,struct stat *stfrom)
 {
@@ -477,6 +478,9 @@
     return ftruncate(fd,(off_t)where);
 }
 #endif /* HAVE_LSEEK64 */
+
+#endif /* HAVE_FILEOP64 */
+
 /***********************************************************************
  *		getrlimit
  */
Index: include/wine/port.h
===================================================================
RCS file: /home/wine/wine/include/wine/port.h,v
retrieving revision 1.12
diff -u -r1.12 port.h
--- include/wine/port.h	2001/05/16 19:45:34	1.12
+++ include/wine/port.h	2001/05/19 19:34:32
@@ -133,6 +133,15 @@
 #define S_ISLNK(mod) (0)
 #endif /* S_ISLNK */
 
+#ifdef HAVE_FILEOP64
+# define stat64 stat
+# define off64_t off_t
+# define lstat64 lstat
+# define fstat64 fstat
+# define lseek64 lseek
+# define ftruncate64 ftruncate
+#else
+
 #ifndef HAVE_OFF64_T
 # if SIZEOF_LONG_LONG > 0 
 typedef long long off64_t;
@@ -179,6 +188,8 @@
 #ifndef HAVE_FTRUNCATE64
 extern int ftruncate64(int fd, off64_t offset);
 #endif
+
+#endif /* HAVE_FILEOP64 */
 
 #ifndef O_LARGEFILE
 # define O_LARGEFILE 0



More information about the wine-users mailing list