[omniORB] [WinCE port] clwrapper.exe ... compiling problem
Xavier Outhier
xavier.outhier@anfdata.cz
Thu Apr 24 16:39:02 2003
Hi all,
I'm trying to make a port to WinCE.
I'm using the command line to recompile the sources.
I test compilation for NT with VC++ 6.0: fine.
Now, I want to use EVC 3.0 for WinCE3.0 for target MIPS
-1 I first deleted the environamt variables for VC++
-2 I test to recompile and of course it doesn't no cl.exe
found. So far so good
-3 I run the WCEMIPS.BAT from EVC to have a new path to
my new cl.exe, link.exe, lib.exe and so on
-4 I added a line in <Top>config\config.mk. This one
platform = mips_pocketpc_wince300
Commented out the previous #platform = x86_nt_4.0
-5 I've created a new file in
<Top>\mk\platforms\mips_pocketpc_wince300.mk
I took x86_nt_4.0.mk as a template here is the diff
between the 2 files:
2c2
< # x86_nt_4.0.mk - make variables and rules specific to Windows NT 4.0.
---
> # mips_pocketpc_wce3.0.mk - make variables and rules specific to Pocket PC for MIPS.
5,11c5,11
< WindowsNT = 1
< x86Processor = 1
<
< WINVER = 0x0400
<
< BINDIR = bin/x86_win32
< LIBDIR = lib/x86_win32
---
> #WindowsNT = 1
> #x86Processor = 1
>
> # WINVER = 0x0400
>
> BINDIR = bin/mips_pocketpc
> LIBDIR = lib/mips_pocketpc
36c36
< IMPORT_CPPFLAGS += -D__x86__ -D__NT__ -D__OSVERSION__=4
---
> IMPORT_CPPFLAGS += -D__mips__ -D__POCKETPC__ -D__OSVERSION__=WCE300
40c40
< OMNINAMES_LOG_DEFAULT_LOCATION = C:\\temp
---
> OMNINAMES_LOG_DEFAULT_LOCATION = D:\\OMNINAMES
-6 in <Top>\src, I run make export and I got this:
D:\omniORB-4.0.1\src>make export
making export in src/tool...
make[1]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool'
making export in src/tool/omniidl...
make[2]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl'
making export in src/tool/omniidl/cxx...
make[3]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx'
making export in src/tool/omniidl/cxx/cccp...
make[4]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx/cccp'
../../../../../bin/mips_pocketpc/clwrapper -gnuwin32 -c -O2 -MD -DHAVE_CONFIG_H -I. -I. -I. -I../../../../../include -D_
_WIN32__ -D_WIN32_WINNT=0x0400 -D__mips__ -D__POCKETPC__ -D__OSVERSION__=WCE300 -Focexp.o cexp.c
make[4]: ../../../../../bin/mips_pocketpc/clwrapper: Command not found
make[4]: *** [cexp.o] Error 127
make[4]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx/cccp'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx'
make[2]: *** [export] Error 2
make[2]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl'
make[1]: *** [export] Error 2
make[1]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool'
make: *** [export] Error 2
-7 I copied clwrapper.exe, libwrapper.exe, linkwrapper.exe,
oidlwrapper.exe and omkdepend.exe
from <Top>\bin\x86_win32 to <Top>\bin\mips_pocketpc
(I don't think it's a genious idea but... see point 8)
I retyped make export and got the first mistake from the code
D:\omniORB-4.0.1\src>make export
making export in src/tool...
make[1]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool'
making export in src/tool/omniidl...
make[2]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl'
making export in src/tool/omniidl/cxx...
make[3]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx'
making export in src/tool/omniidl/cxx/cccp...
make[4]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx/cccp'
../../../../../bin/mips_pocketpc/clwrapper -gnuwin32 -c -O2 -MD -DHAVE_CONFIG_H -I. -I. -I. -I../../../../../include -D_
_WIN32__ -D_WIN32_WINNT=0x0400 -D__mips__ -D__POCKETPC__ -D__OSVERSION__=WCE300 -Focexp.o cexp.c
cl -c -O2 -MD -DHAVE_CONFIG_H -I. -I. -I. -I..\..\..\..\..\include -D__WIN32__ -D_WIN32_WINNT=0x0400 -D__mips__ -D__POCK
ETPC__ -D__OSVERSION__=WCE300 -Focexp.o cexp.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
cexp.c
config-windows.h(1) : fatal error C1083: Cannot open include file: 'io.h': No such file or directory
make[4]: *** [cexp.o] Error 2
make[4]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx/cccp'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl/cxx'
make[2]: *** [export] Error 2
make[2]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/omniidl'
make[1]: *** [export] Error 2
make[1]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool'
make: *** [export] Error 2
-8 I tried to recompile clwrapper.exe, libwrapper.exe, linkwrapper.exe,
oidlwrapper.exe. In <Top>\src\tool\win32 I tried to make export and
make all and I got these errors:
D:\omniORB-4.0.1\src>cd D:\omniORB-4.0.1\src\tool\win32
D:\omniORB-4.0.1\src\tool\win32>make export
make: *** No rule to make target `export'. Stop.
D:\omniORB-4.0.1\src\tool\win32>make all
make: *** No rule to make target `all'. Stop.
-9 I tried to compile from <Top>\src\tool\.
I replaced in the dir.mk
ifdef Win32Platform
SUBDIRS = win32
endif
with
ifdef Win32Platform
SUBDIRS = win32
endif
in order to copimle only the win32 directory. I got this message:
D:\omniORB-4.0.1\src\tool>make export
making export in src/tool/win32...
make[1]: Entering directory `/cygdrive/d/omniORB-4.0.1/src/tool/win32'
make[1]: *** No rule to make target `export'. Stop.
make[1]: Leaving directory `/cygdrive/d/omniORB-4.0.1/src/tool/win32'
make: *** [export] Error 2
So my questions:
-Q1: I suppose that to port on winCE, I have to recompile first
clwrapper.exe, libwrapper.exe, linkwrapper.exe, oidlwrapper.exe.
Right or wrong?
-Q2: What's wrong with the makefile? I tried adding tabulations but
was not efficient. :(
-Q3: Does someone already made such a port? That's an interested
question, isn't it? :-)
Sorry it was long but I hope I gave all waht was necessary to understand
completly my problem.
Best Regards,
Xavier.