The Hermit Hacker writes:
> we do the whole dynloader stuff based on 'a different *file* per
> operating system' and its worked quite well
Most of these files are duplicates or kind of empty or some such. A little
more flexibility would be nice. There are also a couple of subtle
technical problems with AC_LINK_FILES in Autoconf which would lead me to
suggest that, "Given a tie, don't do it."
Why not
ipc.c:
#ifdef __BEOS__
/* BEOS stuff */
#elif defined(__FOONIX__)
/* FooNix stuff */
#else
/* "normal" stuff */
#endif
/* common stuff */
i.e., everything in one file but separated by system. That would also
eliminate the need for duplicating stuff that could be used across the
board.
> Would it break something that I'm overlooking? As long as the Unix
> developers are properly maintaining the unix_ipc.c variant, and someone
> from the BEOS world (David, say) was maintaining the beos_ipc.c, who
> cares?
In practice people also do error message rephrasing, include file
cleanups, function prototype changes, add or remove global variables,
change defines to enums, update comments, etc. There are also a couple of
things in ipc.c that are common to all implementations, so those would be
just waiting to fall out of sync.
I've seen stuff getting out of whack with reality in the *same* file
because it was #ifdef EXOTIC_FEATURE, so I'd agree with Tom to keep things
"in sight" as much as possible.
> I think this whole discussion has gotten way out of proportion and
> everyone is getting frustrated ...
If everyone got "frustrated" if people offer ideas then we'd never get
anywhere. *shrug*
--
Peter Eisentraut Sernanders väg 10:115
peter_e@gmx.net 75262 Uppsala
http://yi.org/peter-e/ Sweden