Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Oct 2025 17:39:47 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        Kyle Evans <kevans@freebsd.org>
Cc:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 1953a12ee2cd - main - flua: support our flua modules in the bootstrap flua
Message-ID:  <aOBCo2tQDevULzkY@nuc>
In-Reply-To: <202510031810.593IAZE9008541@gitrepo.freebsd.org>
References:  <202510031810.593IAZE9008541@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Oct 03, 2025 at 06:10:35PM +0000, Kyle Evans wrote:
> The branch main has been updated by kevans:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=1953a12ee2cde1afacb3e3f7612d89695c96e04f
> 
> commit 1953a12ee2cde1afacb3e3f7612d89695c96e04f
> Author:     Kyle Evans <kevans@FreeBSD.org>
> AuthorDate: 2025-10-03 18:09:03 +0000
> Commit:     Kyle Evans <kevans@FreeBSD.org>
> CommitDate: 2025-10-03 18:09:14 +0000
> 
>     flua: support our flua modules in the bootstrap flua
>     
>     This version builds every module into the flua binary itself, since all
>     of the bootstrap tools are built -DNO_SHARED.  As a result, we also
>     cannot dlsym(), so we can't really discover the names of our newly
>     builtin modules.  Instead, just build out a linker set with all of our
>     luaopen_*() functions to register everything up-front.
>     
>     Building in all of the modules isn't strictly necessary, but it means
>     that we have an example of how to add a bootstrap module everywhere you
>     go and one doesn't need to consider whether bootstrap flua can use a
>     module when writing scripts.  On my build machine, the consequence on
>     our binary size is an increase from around 1.6M -> 1.9M, which isn't
>     really that bad.
>     
>     .lua modules can install into their usual path below $WORLDTMP/legacy
>     and we'll pick them up automagically by way of the ctor that sets up
>     LUA_PATH early on.
>     
>     Reviewed by:    bapt, emaste
>     Differential Revision:  https://reviews.freebsd.org/D51890

This breaks cross-building from other OSes since linker.h and kenv.h
aren't available.  I guess we can safely exclude those from the
bootstrap build?  It could be done conditionally on ${.MAKE.OS} perhaps,
but it's probably better to be consistent.



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