Dear Readers,

I searched the ruby-talk archives and googled but both left me alone.

After I read the README.wince documentation for the build process I
installed all the required files. My setup is:

- Windows Embedded Visual C++ 4.0 SP4

- DELL Axim X51 ARMV5T XScale CPU
- Windows Mobile 5.0

The following batch set the env variables and provide me a command line
for the build process.

-->8---

set INCLUDE=F:\Programme\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4t

set LIB=F:\Programme\Windows CE Tools\wce400\STANDARDSDK\Lib\Armv4t
set CE_TOOLS_DIR=F:\Programme\Windows CE Tools\wce400
set EMBEDDED_TOOLS_DIR=C:\Programme\Microsoft eMbedded C++
4.0\EVC\WCE400\BIN

set
PATH=%PATH%;%EMBEDDED_TOOLS_DIR%;%CE_TOOLS_DIR%;C:\Programme\Microsoft
eMbedded C++ 4.0\Common\EVC\Bin

start /D F:\ cmd.exe
-----------------------------

I successfully ran configure.bat (without an architecture type as
parameter for two reasons: first I don't habe any idea how to look up
the target string for my pda like 'arm-hpc-wince', second this parameter
seems to be optional)

I ran nmake and he complaint following:

--->8-------
F:\ruby-1.8.4\wince>configure.bat
Creating Makefile
type `NMAKE' to make ruby for mswince.
F:\ruby-1.8.4\wince>nmake

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

Creating fake.rb
Creating config.h
config.h updated.
Creating config.status
rbconfig.rb updated
         cl -nologo -Zi -w -O2b2xg- -G6 -DRUBY_EXPORT -I. -I./..
-I./../missing -I./../wince -I. -I./
.. -I./../missing -I./../wince   -DUNDER_CE -D_WIN32_WCE=
-DFILENAME_MAX=MAX_PATH -DTLS_OUT_OF_INDE
XES=0xFFFFFFFF  -DBUFSIZ=512 -D_UNICODE -DUNICODE  -c -Tc./../array.c
array.c
.\config.h(92) : fatal error C1017: invalid integer constant expression
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
---------------------------

It seems that he stops as the -D variable _WIN32_WCE= is empty. Okay.
Opened the makefile in my editor and look up the line.

----->8-------
PROCESSOR_ARCHITECTURE = x86
PROCESSOR_LEVEL = 6

# RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)
# CFLAGS = -nologo $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/missing -I$(srcdir)/wince \
            $(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$(SUBSYSVERSION:.=) \
            -DFILENAME_MAX=MAX_PATH -DTLS_OUT_OF_INDEXES=0xFFFFFFFF \
            -DBUFSIZ=512 -D_UNICODE -DUNICODE $(QSH4)
------------------

How does he resolve the SUBSYSVERSION? It shouldn't be empty (I guess).
Sorry for the long post, but I hope to demonstrate that I try to figure
out the problem.


TIA,
-- 
Daniel Vöěkerts
Protected by Anti Pesto.