Prev: [HACKERS] predefined macros for various BSD-based systems?
Next: [HACKERS] Keepalive for max_standby_delay
From: Giles Lean on 15 May 2010 04:46 Tom Lane <tgl(a)sss.pgh.pa.us> wrote: > I suppose that at least some of the *BSD herd really do predefine some > of the symbols being attributed to them here, but I would like to see > something authoritative about which and what. Documentation follows, but first the summary: FreeBSD: __FreeBSD__ NetBSD: __NetBSD__ OpenBSD: __OpenBSD__ I believe those #defines also tell you what the release is. I didn't look into their encoding schemes just now, but can if you want. (OS X aka Darwin is harder: they seem to like __APPLE__, but to determine the OS version the best I can see is __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__, which is quite horrid.) Re BSDi, I have no idea really but based on Google searching I'd bet on __bsdi__. Per Wikipedia BSDi was discontinued in 2003 and support ended in 2004. I submit that anyone still using it is not likely to be updating their PostgreSQL installation, so +1 from me for dropping support for it unless a volunteer using it comes forward. FYI (and you may know this, but I didn't learn until recently) GCC will tell you quite easily what #defines are predefined, and all those platforms use gcc: $ cc -E -dM - < /dev/null | grep FreeBSD #define __FreeBSD_cc_version 700003 #define __VERSION__ "4.2.1 20070719 [FreeBSD]" #define __FreeBSD__ 7 But you wanted something authoritative, so here's what I found: FreeBSD ======= http://www.freebsd.org/doc/en/books/porters-handbook/porting-versions.html "__FreeBSD__ is defined in all versions of FreeBSD." NetBSD ====== From the NetBSD-1.1 release notes (November, 1995): "* implement new cpp predefine strategy define __NetBSD__, ..." This is still the current behaviour, although the current release is 5.0.2 from February 2010. OpenBSD ======= http://www.openbsd.org/porting.html "Generic Porting Hints * __OpenBSD__ should be used sparingly, if at all. Constructs that look like #if defined(__NetBSD__) || defined(__FreeBSD__) are often inappropriate. Don't add blindly __OpenBSD__ to it. Instead, try to figure out what's going on, and what actual feature is needed." Regards, Giles -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Andrew Dunstan on 15 May 2010 06:14 Bruce Momjian wrote: > Peter Eisentraut wrote: > >> On l?r, 2010-05-15 at 00:23 -0400, Robert Haas wrote: >> >>> It's a commercial distribution of BSD. I remember it being pretty >>> nice when I used it 10+ years ago, but it sounds like it's dead now. >>> >> BSDI is the company that produced BSD/OS, which was Bruce's main >> development environment at some point, which is why it has left >> excruciating traces all over the PostgreSQL source. >> > > Uh, I still run BSDi. > > That's more or less the OS equivalent of writing with a quill. :-) cheers andrew -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
First
|
Prev
|
Pages: 1 2 Prev: [HACKERS] predefined macros for various BSD-based systems? Next: [HACKERS] Keepalive for max_standby_delay |