What I wanted to say in my last message was the fact I thought it would be

more logical to add some missing include and implement them instead of

adding #ifndef _MINGW32CE everywhere.



Let's examine my case : today I need to generate a D compiler, so if I am

listening to you it means I will have to modify D source and insert some

#infdef and maybe change some makefiles.



Now imagine a new language is created (let's call it X), it means that I

will have to do same kind of modifications.



I was just saying that if you provide a minimal implementation of missing

posix  functions using native API (mingw) it would be easier because it

wouldn't be necessary to test if errno exists



But this was just a suggestion/remark and if you tell me it's a bad idea I

believe you. In this case I will do the modifications to the D sources.

I was asking because recently I have ported ustl(embedded stl) to wince and

this is what I did, I have declared errno.h, unistd, ... and I have

provided implementations.

Then I was able to compile it without any source code modification of ustl.

So with this experience I have thought that it could be interesting to do

the same but it may be a bad idea.





















On Thu, 19 Jun 2008 16:05:50 +0200, Danny Backx <[EMAIL PROTECTED]>

wrote:

> On Thu, 2008-06-19 at 13:56 +0200, Mosfet wrote:

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

> [..]

>> 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 :

> 

> We provide two solutions, you say you require a third.

> 

> That may be true but it's not something we currently provide, and I'm

> not sure whether I want to spend the time to implement this third

> option.

> 

> Also I'm not sure whether you really need it.

> 

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

> lib

>> to do the same things

> 

> I don't understand this argument.

> 

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

> 

> If you compile stuff with cegcc then it'll link both cegcc.dll and

> coredll.dll . If you can't get some tools to work then something else

> must be going on.

> 

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

> 

> It's not a waste of time if you try to feed back changes to the original

> source trees. Also it's definitely not a waste of time if you see that

> we save a lot of time for a number of developers : they don't have to do

> the tool integration themselves.

> 

>> 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 :

> [..]

> 

>> ** 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

> 

> With respect, you can't expect me to debug your problem based on this

> information.

> 

> Also, quite frankly, nothing in this error message convinces me that the

> problem is in cegcc.

> 

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

> 

> You might want to do what I said above, and feed the changes for D on

> WinCE back to the D people so their next release will work out of the

> box on WinCE.

> 

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

> 

> There's never a quick reply to a hard question.

> 

> You might want to take a look at the cegcc/tools/errno directory. It

> provides simple errno simulation. You might want to build something

> similar for signals, you might be able to pull it from the newlib

> sources (see src/newlib/newlib/libc/signal).

> 

> But don't expect such solutions to just work : WinCE just doesn't

> support signals and errno.

> 

>       Danny

>


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