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