Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jan 1998 12:31:52 -0800
From:      Julian Elischer <julian@whistle.com>
To:        dg@root.com
Cc:        Terry Lambert <tlambert@primenet.com>, current@FreeBSD.ORG
Subject:   Re: PATCH: if_de.c #ifdef based version encoding
Message-ID:  <34CE4438.15FB7483@whistle.com>
References:  <199801271101.DAA25275@implode.root.com>

next in thread | previous in thread | raw e-mail | index | archive | help
David Greenman wrote:
> 
> >The value of the manifest constant __FreeBSD__ is derived from the
> >compiler tools and not from the kernel being built.
> >
> >In other words, the value of __FreeBSD__ comes from the version of the
> >OS the tools were built on, not from the OS that's running or the one
> >that is being targeted.
> >
> >This means that if I build a v3 kernel using a v2 system's tools, the
> >"#if __FreeBSD__ >= 3" and "#if defined(__FreeBSD__) && __FreeBSD__ >= 3"
> >will not test true, even though that is, in fact, what I am building.
> >
> >
> >Version information should not be encoded in #ifdef's; that is what
> >branch tags are for.  If I can check this code out, implicitly, I am
> >building a 3+ system.  The "#if" tests are bogus.
> >
> >This patch allows people to compile v3 kernels containing if_de.c on v2
> >systems.
> >
> >Please commit it.

The problem occurs as I discovered yesterday when upgrading 2.2.x to 3.x
a very simple fix that would allow Matt to have his driver (mostly) 
unmodified, would be:

to check in, in the 3.0 branch, the following:

#undef __FreeBSD__
#define __FreeBSD__ 3

> 
>    In theory, the de driver is maintained by Matt Thomas and he supports
> multiple OS's and OS versions in the code. You'll notice that there are
> #ifdef's for NetBSD and BSD/OS in there as well. If we were going to do
> as you suggest, then it would only make sense if all of the OS #ifdef's
> were removed. This will only make it more difficult for Matt to support
> FreeBSD, so I think it's a bad idea.

ok, then how about this small 'hack'

> 
> -DG
> 
> David Greenman
> Core-team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?34CE4438.15FB7483>