"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Christian Weisgerber <naddy@mips.inka.de>
Subject:
Re: s/SIMPLEQ_/STAILQ_/g
To:
gameoftrees@openbsd.org
Date:
Wed, 30 Dec 2020 23:56:24 +0100

Download raw body.

Thread
Stefan Sperling:

> Could we easily add local STAILQ compat macros if they aren't defined?

Sure, we could do

  #ifndef STAILQ_HEAD
  ...
  #endif

and either map them back to SIMPLEQ

  #define STAILQ_HEAD(name, type) SIMPLEQ_HEAD(name, type)
  ...

(which is the reverse of what I'm doing in the FreeBSD port now),
or copy-paste the whole definition from <sys/queue.h>.

> Or is that too much effort?

I don't think there is a single header file now where we could put
those compat macros.

I have been wondering for some time whether it would make sense to
have an #include "got_compat.h" in every *.[cy] file, after the
system <foo.h> includes and before the local "bar.h" ones, that
could be used as a universal hook to pull in compatibility defines.

Plus: Every port to another OS needs something like this anyway.
Minus: Most ports to another OS will need additional changes, and
adding an extra include everywhere is easy to maintain in a port.

This would now be an argument for such a compat hook strictly for
OpenBSD purposes.

-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de