From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 447 invoked by alias); 28 Dec 2006 21:04:42 -0000 Received: (qmail 437 invoked by uid 22791); 28 Dec 2006 21:04:41 -0000 X-Spam-Check-By: sourceware.org Received: from mail.freax.org (HELO mail.freax.org) (86.39.154.66) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 28 Dec 2006 21:04:34 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.freax.org (Postfix) with ESMTP id 11455187E1F for ; Thu, 28 Dec 2006 21:52:20 +0100 (CET) Received: from mail.freax.org ([127.0.0.1]) by localhost (mail.freax.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 75r7+CCfJYc6 for ; Thu, 28 Dec 2006 21:52:19 +0100 (CET) Received: from [192.168.1.100] (d54C0EE14.access.telenet.be [84.192.238.20]) (using SSLv3 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by mail.freax.org (Postfix) with ESMTP id 76806187E1D for ; Thu, 28 Dec 2006 21:52:19 +0100 (CET) Subject: Trying to get pthread-win32 compiling for WinCE From: Philip Van Hoof To: pthreads-win32@sourceware.org Content-Type: multipart/mixed; boundary="=-fwynHsddH88r23NErEGx" Date: Thu, 28 Dec 2006 21:04:00 -0000 Message-Id: <1167339870.4875.15.camel@lort> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 Mailing-List: contact pthreads-win32-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: pthreads-win32-owner@sourceware.org X-SW-Source: 2006/txt/msg00080.txt.bz2 --=-fwynHsddH88r23NErEGx Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 5802 Hi there, I'm trying to compile pthread-win32 with eMbedded Visual C++ 4.0's compiler (cl.exe) and nmake.exe with include files of the Pocket PC 2003 SDK. I tried various things and got stuck at this problem: (note that I am not compiling with cygwin, it's just the location where I checked the sources out) C:\cygwin\home\Philip Van Hoof\pthreads>PATH PATH=C:\Program Files\Microsoft eMbedded C++ 4.0\Common\EVC\Bin;C:\Program Files \Microsoft eMbedded C++ 4.0\EVC\wce400\bin;C:\cygwin\bin C:\cygwin\home\Philip Van Hoof\pthreads> Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. if exist *.obj del *.obj if exist *.ilk del *.ilk if exist *.pdb del *.pdb if exist *.exp del *.exp if exist *.map del *.map if exist *.o del *.o if exist *.i del *.i if exist *.res del *.res cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c attr.c attr.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c barrier.c barrier.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c cancel.c cancel.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c cleanup.c cleanup.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c condvar.c condvar.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c create.c create.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c dll.c dll.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c errno.c errno.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c exit.c exit.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c fork.c fork.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c global.c global.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c misc.c misc.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c mutex.c mutex.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c nonportable.c nonportable.c cl /O2 /Ob2 /GX /TP /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_ CONFIG_H /DWINCE -IC:\Include\Emulator /Zi /D DEBUG /D _i386_ /D UNDER_CE= /D i_ 386_ /D UNICODE /D _UNICODE /D _X86_ /D x86 /c /D NEED_FTIME /D__CLEANUP_CXX -c private.c private.c ptw32_threadStart.c(108) : error C2146: syntax error : missing ';' before identi fier 'terminate_function' ptw32_threadStart.c(108) : fatal error C1004: unexpected end of file found NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft eMbedded C++ 4.0\Common\ EVC\Bin\NMAKE.EXE"' : return code '0x2' Stop. C:\cygwin\home\Philip Van Hoof\pthreads> I also had to make various little fixes (like some casting and setting Makefile includes right) of which I for the ease of explaining what I did simply made a diff (which is attached). Note that I removed the eh.h include from the ptw32_threadStart.c file because it doesn't exist in the include directory. That's probably not the right way to fix it ;-) (I know). Does somebody have pointers? How did others get the WinCE port compiled? -- Philip Van Hoof, software developer home: me at pvanhoof dot be gnome: pvanhoof at gnome dot org http://www.pvanhoof.be/blog --=-fwynHsddH88r23NErEGx Content-Disposition: attachment; filename=wince.diff Content-Type: text/x-patch; name=wince.diff; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 3829 ? process.h ? signal.h ? vc60.pdb Index: Makefile =================================================================== RCS file: /cvs/pthreads-win32/pthreads/Makefile,v retrieving revision 1.41 diff -u -r1.41 Makefile --- Makefile 3 Jun 2005 08:36:27 -0000 1.41 +++ Makefile 28 Dec 2006 20:52:36 -0000 @@ -27,7 +27,10 @@ OPTIM = /O2 /Ob2 OPTIMD = -CFLAGS = /W3 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_CONFIG_H +CFLAGS = /W0 /MD /nologo /Yd /I. /D_WIN32_WINNT=0x400 /DHAVE_CONFIG_H /DWINCE -IC:\Include\Emulator + +CFLAGS = $(CFLAGS) /Zi /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /c /D NEED_FTIME + CFLAGSD = /Zi $(CFLAGS) Index: dll.c =================================================================== RCS file: /cvs/pthreads-win32/pthreads/dll.c,v retrieving revision 1.29 diff -u -r1.29 dll.c --- dll.c 1 Apr 2005 00:55:21 -0000 1.29 +++ dll.c 28 Dec 2006 20:52:36 -0000 @@ -38,7 +38,8 @@ #include "pthread.h" #include "implement.h" - + +#if 0 #ifdef _MSC_VER /* * lpvReserved yields an unreferenced formal parameter; @@ -90,3 +91,4 @@ } /* DllMain */ #endif /* PTW32_STATIC_LIB */ +#endif Index: implement.h =================================================================== RCS file: /cvs/pthreads-win32/pthreads/implement.h,v retrieving revision 1.117 diff -u -r1.117 implement.h --- implement.h 3 Jun 2005 08:36:27 -0000 1.117 +++ implement.h 28 Dec 2006 20:52:37 -0000 @@ -695,12 +695,12 @@ arg, \ flags, \ pid) \ - CreateThread(security, \ + CreateThread((struct _SECURITY_ATTRIBUTES *) security, \ stack_size, \ (LPTHREAD_START_ROUTINE) start_proc, \ arg, \ flags, \ - pid) + (unsigned long *) pid) #define _endthreadex ExitThread Index: need_errno.h =================================================================== RCS file: /cvs/pthreads-win32/pthreads/need_errno.h,v retrieving revision 1.3 diff -u -r1.3 need_errno.h --- need_errno.h 14 Aug 2000 03:43:09 -0000 1.3 +++ need_errno.h 28 Dec 2006 20:52:37 -0000 @@ -62,12 +62,12 @@ /* declare reference to errno */ -#if (defined(_MT) || defined(_MD) || defined(_DLL)) && !defined(_MAC) -_CRTIMP extern int * __cdecl _errno(void); -#define errno (*_errno()) -#else /* ndef _MT && ndef _MD && ndef _DLL */ +//#if (defined(_MT) || defined(_MD) || defined(_DLL)) && !defined(_MAC) +//_CRTIMP extern int * __cdecl _errno(void); +//#define errno (*_errno()) +//#else /* ndef _MT && ndef _MD && ndef _DLL */ _CRTIMP extern int errno; -#endif /* _MT || _MD || _DLL */ +//#endif /* _MT || _MD || _DLL */ /* Error Codes */ Index: ptw32_threadStart.c =================================================================== RCS file: /cvs/pthreads-win32/pthreads/ptw32_threadStart.c,v retrieving revision 1.10 diff -u -r1.10 ptw32_threadStart.c --- ptw32_threadStart.c 15 May 2005 15:28:27 -0000 1.10 +++ ptw32_threadStart.c 28 Dec 2006 20:52:40 -0000 @@ -79,11 +79,13 @@ } #elif defined(__CLEANUP_CXX) + #if defined(_MSC_VER) -# include +//# include +#include #elif defined(__WATCOMC__) -# include +//# include # include typedef terminate_handler terminate_function; @@ -102,6 +104,8 @@ typedef terminate_handler terminate_function; #endif + +typedef terminate_handler terminate_function; static terminate_function ptw32_oldTerminate; @@ -109,9 +113,9 @@ void ptw32_terminate () { - set_terminate (ptw32_oldTerminate); + // set_terminate (ptw32_oldTerminate); (void) pthread_win32_thread_detach_np (); - terminate (); + //terminate (); } #endif --=-fwynHsddH88r23NErEGx--