>>>> "Hans" == Hans Guenter Weigand
<hgweigand(a)wiesbaden.netsurf.de> writes:
Hans> -#if ! defined (__NetBSD__) && ! defined (__linux__)
Hans> +#if ! defined (__NetBSD__) && ! defined (__linux__) && !defined
Hans> (__OpenBSD__)
This multiple BSD problem is unfortunately kind of gross. Aren't all
the *BSD versions essentially identical from the point of view of
configure? If so, maybe we want to have some preprocessor symbol
that's equivalent to
defined (__NetBSD__) || defined (__OpenBSD__) || defined (__bsdi__) || ......
How many variants are there? I count four (with freebsd).
There are four. OpenBSD has not diverged too much from NetBSD, yet. Most
times it is sufficient to add __OpenBSD__ where you find __NetBSD__.
This will surely change in the future, and it possibly has already for
some architectures. This is my very naive approach, which leads to a
working XEmacs, at least on a Sparc.
In any case, platform-specific tests are evil, and would be better if
replaced by feature tests in configure.in. This is the direction we
are moving in, long-term.
And I am voting for it, too. But I'm not an experienced hacker. It is
the first time I deal with autoconf/configure. It is a huge, powerful
system, it takes some time to get through.
Platform-specific == operating-system-specific? Some of the architectures
OpenBSD supports need special treatment in some cases, so #ifdef
__OpenBSD__
is not always a solution. So I join this movement. :)
BTW, sparc.h needs some cleanup. A comment already says what's to do.
A sun-specific (solaris-specific?) definition needs to be moved to
sun.h. This removes the #ifdef kludge in sparc.h, too.
Martin
This is not a veto.
Thanks! I understand this patch as an initial trigger, not as a final
solution.
-hgw