Comments on pmake diffs for building on Linux
rwatson at FreeBSD.org
Tue Mar 4 15:38:40 UTC 2008
On Tue, 4 Mar 2008, M. Warner Losh wrote:
> : In most ports of FreeBSD parts to Linux that I've seen, the preferred solution
> : has to been to bring the entire FreeBSD queue.h with you rather than relying
> : on the native Linux queue.h. This is what we do for OpenBSM, for example;
> : this also helps out when you get to Mac OS X, Solaris, etc, where all the
> : queue.h's continue to vary in subtle ways. This depends a fair amount on a
> : lack of header pollution in the OS's own include files, of course...
> I was rather hoping for something that could be used without any of that
Sadly, nonsense seems to be the name of the game in software portability.
Here's the broken autoconf garbage I use to pick out adequate queue.h's from
# sys/queue.h exists on most systems, but its capabilities vary a great deal.
# test for LIST_FIRST and TAILQ_FOREACH_SAFE, which appears to not exist in
# all of them, and are necessary for OpenBSM.
#error LIST_FIRST missing
AC_DEFINE(HAVE_FULL_QUEUE_H,, Define if queue.h includes LIST_FIRST)
Note that there are at least a couple of mostly stylistic bugs there (could
use compile rather than link, definition description is poor, errors are
inconsistent). :-) I found that on both Linux and Mac OS X, the queue.h's
didn't have everything I wanted.
Robert N M Watson
University of Cambridge
More information about the freebsd-hackers