Date: Sat, 2 Jul 2011 22:08:27 -0400 From: Ed Maste <emaste@freebsd.org> To: Alexander Kabaev <kabaev@gmail.com> Cc: freebsd-hackers@freebsd.org, Robert Millan <rmh@debian.org> Subject: Re: [PATCH] __FreeBSD_kernel__ Message-ID: <20110703020827.GA5763@sandvine.com> In-Reply-To: <20110702193724.5c55a6c9@kan.dnsalias.net> References: <CAOfDtXPUxQO1zbnxh8sh%2By7g=d8QaH2svYtEQJ06L4d%2BQKG8VA@mail.gmail.com> <20110702193724.5c55a6c9@kan.dnsalias.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 02, 2011 at 07:37:24PM -0400, Alexander Kabaev wrote:
> On Sat, 2 Jul 2011 17:41:03 +0200
> Robert Millan <rmh@debian.org> wrote:
>
> > My request is that FreeBSD also defines __FreeBSD_kernel__. If this
> > happens, life would be made a bit easier on both sides, as it'd be
> > more natural for porters of either system to support both using a
> > single macro [1].
I think this is a good idea, especially if it means that a single change can
make it into upstream projects to support both FreeBSD and Debian
kFreeBSD.
> I do not think this belongs in GCC at all. You should already have a
> defined symbol to identify your OS and that should be used in cases
> where it matters.
I suspect the proposed patch put it in GCC based on the fact that we
already have __FreeBSD__ in contrib/gcc/config/freebsd-spec.h:
builtin_define_with_int_value ("__FreeBSD__", FBSD_MAJOR); \
> Alternatively, you should provide the symbol in
> similar way in which we provide __FreeBSD_version, through well-known
> header like sys/param.h and not pollute GCC.
I suspect this is probably a reasonable alternative, but may mean software
will have to pick up an additional #include.
Out of curiosity, what is the canonical way for software to identify a
Linux kernel -- __linux__ or some variant? Where is it defined?
Regards,
Ed Maste
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110703020827.GA5763>
