Hi,


I would like to discuss about mingw32ce and the way it's implemented.

>From what I understand you comment missing include files on the windows CE

platform like this :



/* Define to 1 if you have the <errno.h> header file. */

#undef HAVE_ERRNO_H



or like that 



#if _GLIBCXX_HAVE_ERRNO_H

#include <cerrno>

#endif



I know that errno.h, signal.h and ... are not part of the original windows

CE platform but I think it would be better to provide these headers and to

implement missing posix functions in a dll(let's call it coredllex.dll or

posix4ce.dll).

You could anwser me that in the case I want to use these functions I should

use cegcc and this is where I disagree because there are lots of reasons

where I DO NEED to use native libraries :



+ Native lib are already embedded on devices so why should I add other lib

to do the same things

+ Some professionnal and supported tools are only working if we are using

native libs(coredll.dll) for instance when you use AppVerifier, the tools

tells the kernel to load a HOOK DLL to be able to trace functions and it

works only with coredll.

+ Everytime you want to generate a new wince compiler from a recent GCC you

need to analyze the modifications and to report yours and this not always

easy because sometimes software architecture is modified and you have one

chunk here and another one there. It's a big waste of time.



For now I am trying to generate a D cross-compiler for wince and when I try

I get the following error that has something to do with errno :



true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc"

"CC_FOR_TARGET=/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/xgcc

-B/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/

-B/opt/mingw32ce/arm-mingw32ce/bin/ -B/opt/mingw32ce/arm-mingw32ce/lib/

-isystem /opt/mingw32ce/arm-mingw32ce/include -isystem

/opt/mingw32ce/arm-mingw32ce/sys-include" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g

-O2 " "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2 -g -O2 "

"INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644"

"INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c"

"LDFLAGS=" "LIBCFLAGS=-O2 -g -O2 " "LIBCFLAGS_FOR_TARGET=-O2 -g -O2 "

"MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000  "

"PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS="

"exec_prefix=/opt/mingw32ce" "infodir=/opt/mingw32ce/info"

"libdir=/opt/mingw32ce/lib" "includedir=/opt/mingw32ce/include"

"prefix=/opt/mingw32ce" "tooldir=/opt/mingw32ce/arm-mingw32ce"

"gdc_include_dir=/opt/mingw32ce/include/d2/4.1.0" "AR=arm-mingw32ce-ar"

"AS=/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/as"

"LD=/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/collect-ld"

"RANLIB=arm-mingw32ce-ranlib"

"NM=/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/nm" "NM_FOR_BUILD="

"NM_FOR_TARGET=arm-mingw32ce-nm" "DESTDIR=" "WERROR=" DO=all multi-do #

make

CC_FOR_BUILD="gcc -I /home/Vincent/cegcc/src/gcc/libphobos/config"

BUILD_LIBIBERTY=../../build-i686-pc-cygwin/libiberty/libiberty.a

/home/Vincent/cegcc/src/gcc/libphobos/config/x3

/home/Vincent/cegcc/src/gcc/libphobos/config/errno.x3 -o

arm-mingw32ce/gcc/config/errno.d

/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/xgcc

-B/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/

-B/opt/mingw32ce/arm-mingw32ce/bin/ -B/opt/mingw32ce/arm-mingw32ce/lib/

-isystem /opt/mingw32ce/arm-mingw32ce/include -isystem

/opt/mingw32ce/arm-mingw32ce/sys-include -DHAVE_CONFIG_H -I . -I

/home/Vincent/cegcc/src/gcc/libphobos/gcc

** x3: running ./errno.x3.exe -o arm-mingw32ce/gcc/config/errno.d

/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/xgcc

-B/home/Vincent/cegcc/src/build-mingw32ce/gcc/./gcc/

-B/opt/mingw32ce/arm-mingw32ce/bin/ -B/opt/mingw32ce/arm-mingw32ce/lib/

-isystem /opt/mingw32ce/arm-mingw32ce/include -isystem

/opt/mingw32ce/arm-mingw32ce/sys-include -DHAVE_CONFIG_H -I . -I

/home/Vincent/cegcc/src/gcc/libphobos/gcc

x3: failed to get macros.

make[3]: *** [arm-mingw32ce/gcc/config/errno.d] Error 1

make[3]: Leaving directory

`/home/Vincent/cegcc/src/build-mingw32ce/gcc/arm-mingw32ce/libphobos'

make[2]: *** [all] Error 2

make[2]: Leaving directory

`/home/Vincent/cegcc/src/build-mingw32ce/gcc/arm-mingw32ce/libphobos'

make[1]: *** [all-target-libphobos] Error 2

make[1]: Leaving directory `/home/Vincent/cegcc/src/build-mingw32ce/gcc'

make: *** [all] Error 2



This is why in my case I would prefer to provide missing posix functions

when using mingw32ce.

Because otherwise I will have to report modifications everytime D is

releasing a new version and since it 's a very recent language, things are

moving fast.



The problem is I am not familiar at all with GCC build system so if you can

tell me quickly how it could be done, it would help me.



Thanks




















-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to