Date: Thu, 17 Nov 2011 09:59:56 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Kostik Belousov <kostikbel@gmail.com>, Adrian Chadd <adrian@freebsd.org>, freebsd-arch@freebsd.org, Warner Losh <imp@bsdimp.com>, Robert Millan <rmh@freebsd.org> Subject: Re: [PATCH] Detect GNU/kFreeBSD in user-visible kernel headers Message-ID: <201111170959.56767.jhb@freebsd.org> In-Reply-To: <CAOfDtXMsmDa2XaZ0qmMKZxF5xagotw5EwaU=7y_GUxKLhaJ9OQ@mail.gmail.com> References: <CAOfDtXPX1Rv9T7%2B1jYQbkM14tRY7mqgCzPcUqvHxFaRObbwvEg@mail.gmail.com> <B188597B-4446-4EAB-A9BD-D9EBBEB8B1D7@bsdimp.com> <CAOfDtXMsmDa2XaZ0qmMKZxF5xagotw5EwaU=7y_GUxKLhaJ9OQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, November 17, 2011 1:46:33 am Robert Millan wrote: > 2011/11/16 Warner Losh <imp@bsdimp.com>: > > My second reaction was why not have > > > > #ifndef __FreeBSD_kernel__ > > #define __FreeBSD_kernel__ __FreeBSD__ > > #endif > > > > in sys/param.h and then just change __FreeBSD__ to __FreeBSD_kernel__ in the headers that are affected? But I'm not quite sure what effects that would have on your environment. > > I'm fine with this. > > > Why do you think people wouldn't be fond of the __FreeBSD_kernel__ being defined? > > See archived discussion: > > http://lists.freebsd.org/pipermail/freebsd-hackers/2011-July/035721.html > > particularly this mail in which you participated: > > http://lists.freebsd.org/pipermail/freebsd-hackers/2011-July/035823.html I recall the discussion from earlier. I can't recall if I had replied to it though. :-/ In my current opinion, I think it would be fine to define __FreeBSD_kernel__ on FreeBSD and to do it in <sys/param.h> for now until all the compilers we use have been updated to define it automatically (which may be a long time). I think it will also be fine to patch in-system headers to use __FreeBSD_kernel__ once <sys/param.h> is defined. Unfortunately headers in 3rd party software are going to have to check for both __FreeBSD__ and __FreeBSD_kernel__ to support both GNU/kFreeBSD and older FreeBSD for the foreseeable future. I think that is fine, but that the sooner we add __FreeBSD_kernel__ on FreeBSD the sooner we get the clock started for a day when those extra checks can go away. I would also be fine with MFC'ing the addition of __FreeBSD_kernel__ to older branches (at least 7 - 9) as well. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111170959.56767.jhb>