[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.