public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
From: Philip Van Hoof <spam@pvanhoof.be>
To: pthreads-win32@sourceware.org
Subject: Trying to get pthread-win32 compiling for WinCE
Date: Thu, 28 Dec 2006 21:04:00 -0000	[thread overview]
Message-ID: <1167339870.4875.15.camel@lort> (raw)

[-- Attachment #1: Type: text/plain, Size: 5802 bytes --]

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




[-- Attachment #2: wince.diff --]
[-- Type: text/x-patch, Size: 3829 bytes --]

? 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 <eh.h>
+//# include <eh.h>
+#include <stdio.h>
 #elif defined(__WATCOMC__)
-# include <eh.h>
+//# include <eh.h>
 # include <exceptio.h>
 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

             reply	other threads:[~2006-12-28 21:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-28 21:04 Philip Van Hoof [this message]
2006-12-28 21:40 ` Marcel Ruff
2006-12-28 21:47   ` Philip Van Hoof
2006-12-28 22:02     ` Philip Van Hoof

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1167339870.4875.15.camel@lort \
    --to=spam@pvanhoof.be \
    --cc=pthreads-win32@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).