[PATCH] Headers for the x86 subtree

John Baldwin jhb at freebsd.org
Thu Oct 28 18:15:49 UTC 2010


On Thursday, October 28, 2010 1:32:23 pm Warner Losh wrote:
>   On 10/28/2010 10:49, John Baldwin wrote:
> > On Thursday, October 28, 2010 11:58:25 am Warner Losh wrote:
> >>    On 10/28/2010 08:53, TAKAHASHI Yoshihiro wrote:
> >>> In article<201010281013.03261.jhb at freebsd.org>
> >>> John Baldwin<jhb at freebsd.org>   writes:
> >>>
> >>>> I'm still doing testing, but this seems to be working so far.  I am
> >>>> moving mca.h as my current test.
> >>> sys/conf/kmod.mk requires the same change of sys/conf/kern.post.mk.
> >> I think that the pre-patch kern.post.mk code actually may be wrong...
> >> Or not so much wrong as redundant with what config(8) already does.
> >> IIRC, it was put in there as a stop-gap compatibility thing and it can
> >> now actually be removed (although it makes things nicer for John's patch).
> > Err, I'd rather remove the code from config?  config can't handle the kmod.mk
> > and include/Makefile cases and it is easier to verify the logic is identical
> > for the three cases if all three are done in Makefiles rather than having two
> > of them done via Makefiles and one done via config.
> Yea, the current behavior in config is to match NetBSD's approach (both 
> at the time years ago, and now)
> > Honestly, I also prefer that we do kernel build stuff in the Makefiles rather
> > than config when possible since config is much more of a black box.  Putting
> > things in config is also a bit more fragile.
> Config knows things that the make system might not know.  It has been 
> used to create the proper environment to build in.  That's its job.
> 
> Having said that, we can have config just export that information when 
> generating its Makefiles.  It dates from a time when it was difficult to 
> do things in a Makefile, so it makes sense to reevaluate what we're 
> doing with config.
> 
> One example: We should have it set MACHINE and MACHINE_ARCH in the 
> generated Makefile.  We've hacked things to include and/or rely on them 
> being set, but right now have them in the Makefiles.  This isn't quite 
> right anymore, so moving the code into config to export this 
> information, and moving things out of config like the symbolic links 
> makes sense.  But we'll need to bump the config version to do this 
> properly since there's compatibility issues if we're not careful...

It turns out our Makefiles were already fixed by ru@ to handle this properly
and config already exports the path to the source directory in the generated
Makefile.  ru@ had planned on removing the code to generate symlinks from
config but didn't do it.  My makefile changes to generate the x86 link worked
fine with buildkernel (using config -d) even though config was not patched to
create the link because of ru@'s changes.  I'm going to test just removing the
changes from config altogether.

-- 
John Baldwin


More information about the freebsd-arch mailing list