Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Oct 2015 12:12:18 -0700
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Hans Petter Selasky <hps@selasky.org>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: Quick test building a module cross all targets and architectures
Message-ID:  <CAJ-Vmo=bQE4GBhpkrwSZc_OwbXSgGFMB_1%2Bat5vF18mLvAXJbg@mail.gmail.com>
In-Reply-To: <20151026182348.GT2257@kib.kiev.ua>
References:  <562DEE4F.5010203@selasky.org> <5888922.UHSgpdyTWY@ralph.baldwin.cx> <20151026182348.GT2257@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26 October 2015 at 11:23, Konstantin Belousov <kostikbel@gmail.com> wrote:
> On Mon, Oct 26, 2015 at 11:03:07AM -0700, John Baldwin wrote:
>> On Monday, October 26, 2015 10:11:43 AM Hans Petter Selasky wrote:
>> > Hi,
>> >
>> > We have NO_MODULES for building kernel without modules, but no NO_KERNEL
>> > to only build the modules.
>> >
>> > What do you think about the following patch:
>> >
>> > > diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
>> > > index ddf828e..f0920df 100644
>> > > --- a/sys/conf/kern.post.mk
>> > > +++ b/sys/conf/kern.post.mk
>> > > @@ -32,7 +32,11 @@ KERN_DEBUGDIR?=      ${DEBUGDIR}
>> > >
>> > >  .for target in all clean cleandepend cleandir clobber depend install \
>> > >      obj reinstall tags
>> > > +.if !defined(NO_KERNEL)
>> > >  ${target}: kernel-${target}
>> > > +.else
>> > > +${target}:
>> > > +.endif
>> > >  .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists($S/modules)
>> > >  ${target}: modules-${target}
>> > >  modules-${target}:
>> >
>> > It allows only a single module with MODULES_OVERRIDE= and NO_KERNEL=YES
>> > to be built with universe in very little time. This can save a lot of
>> > build time when changes are limited to a set of kernel modules.
>>
>> Can you just use something like MODULES_WITH_WORLD instead?
>>
>> make tinderbox MAKE_JUST_WORLDS=yes SUBDIR_OVERRIDE=sys/modules MODULES_OVERRIDE=foo
>>
>> (If it's only 1 module directory you can probably just use SUBDIR_OVERRIDE directly?)
>>
>> make tinderbox MAKE_JUST_WORLDS=yes SUBDIR_OVERRIDE=sys/modules/foo
>>
>
> In any variant, this proposal sounds strange. Almost all in-kernel
> code is compiled both for kernel and for modules. I am only aware of
> exceptions for i915kms, which was done for a reason which is no longer
> valid. In other words, if your goal is to check that the change does not
> break compilation of some kernel code, then it is wrong to not compile
> kernels.
>
> Note that kernel and modules compilation environments are differrent.

No, the goal isn't that - it's to do things like "let's recompile usb
+ usb modules, unload, load to test."

It's not a substitute for the "test a full build"; it's for testing
things that are easily tested as modules - usb, wlan, etc.



-a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=bQE4GBhpkrwSZc_OwbXSgGFMB_1%2Bat5vF18mLvAXJbg>