Tom Christiansen <[EMAIL PROTECTED]> writes:
>
>Explain why things like #ifdef HAS_SETLOCALE are not sufficient for
>this stated purpose.

Because the source has to have something like:

#ifdef HAS_SETLOCALE
 ...
 setlocale(...) 
 ...
#else
 ????
#endif 


That does not help someone who has Locale_Set() with different calling sequence 
but which could mimic the effect.

Suppose there is no pipe() but there is SocketPair().
Suppose there is no fork() but there is CloneAddressSpace().

With the #ifdef scheme the one set of source gets cluttered with 
an #ifdef forest where only ONE path through the forest applies at a
a time and you cannot see if for the trees.

With the "loadable" scheme we conditionally compile the version of 
the loadable for the current platform and "link it in".

I think this is inappropriate for sin/cos/tan et. al. and possibly even 
sockets (although Win32 sockets are weird enough that it would be worthwhile).

But for getpw* or shm/queue/msg or other may-not-be-there but we can 
fake it if you REALLY want it stuff it makes sense to move the faking out
into a loadable so we can fix it independantly of perl.

-- 
Nick Ing-Simmons

Reply via email to