diff options
| author | Kyle Evans <kevans@FreeBSD.org> | 2025-10-04 02:16:51 +0000 |
|---|---|---|
| committer | Kyle Evans <kevans@FreeBSD.org> | 2025-10-04 02:16:51 +0000 |
| commit | b11a5709ec2b61fefb03bfdd38e2f06d2c1107c1 (patch) | |
| tree | ca8f517b63619ad4752fa914eaeca8e2d3fce946 | |
| parent | 151bd3516b541823b16793460d73916e63d2b9c1 (diff) | |
flua: kick out the remaining builtin modules
Bootstrap flua has some magic now to handle modules by building them in
and discovering them via linker sets. This is slightly cleaner than
always building them in and baking them into loadedlibs for both
bootstrap and system flua.
Adjust the stand build now that these three libs have their own new
homes.
Reviewed by: bapt, emaste
Differential Revision: https://reviews.freebsd.org/D51891
| -rw-r--r-- | libexec/flua/Makefile | 4 | ||||
| -rw-r--r-- | libexec/flua/lfbsd/Makefile | 5 | ||||
| -rw-r--r-- | libexec/flua/lfbsd/Makefile.inc | 2 | ||||
| -rw-r--r-- | libexec/flua/lfbsd/lfbsd.c (renamed from libexec/flua/modules/lfbsd.c) | 4 | ||||
| -rw-r--r-- | libexec/flua/lfbsd/lfbsd.h (renamed from libexec/flua/modules/lfbsd.h) | 0 | ||||
| -rw-r--r-- | libexec/flua/lfs/Makefile | 5 | ||||
| -rw-r--r-- | libexec/flua/lfs/Makefile.inc | 2 | ||||
| -rw-r--r-- | libexec/flua/lfs/lfs.c (renamed from libexec/flua/modules/lfs.c) | 7 | ||||
| -rw-r--r-- | libexec/flua/lfs/lfs.h (renamed from libexec/flua/modules/lfs.h) | 0 | ||||
| -rw-r--r-- | libexec/flua/libhash/lhash.c | 2 | ||||
| -rw-r--r-- | libexec/flua/linit_flua.c | 7 | ||||
| -rw-r--r-- | libexec/flua/lposix/Makefile | 5 | ||||
| -rw-r--r-- | libexec/flua/lposix/Makefile.inc | 2 | ||||
| -rw-r--r-- | libexec/flua/lposix/lposix.c (renamed from libexec/flua/modules/lposix.c) | 5 | ||||
| -rw-r--r-- | libexec/flua/lposix/lposix.h (renamed from libexec/flua/modules/lposix.h) | 0 | ||||
| -rw-r--r-- | stand/liblua/Makefile | 2 | ||||
| -rw-r--r-- | stand/loader.mk | 2 |
17 files changed, 43 insertions, 11 deletions
diff --git a/libexec/flua/Makefile b/libexec/flua/Makefile index 29d57211b2ae..cc750e30525f 100644 --- a/libexec/flua/Makefile +++ b/libexec/flua/Makefile @@ -6,6 +6,8 @@ # than mucking about with the infrastructure to make them linkable -- thus, why # these are all structured to have a Makefile that describes what we want # *installed*, and a Makefile.inc that describes what we need to *build*. +FLUA_MODULES+= lfbsd +FLUA_MODULES+= lfs FLUA_MODULES+= libhash .ifndef BOOTSTRAPPING # Bootstrap flua can't usefully do anything with libjail anyways, because it @@ -14,6 +16,7 @@ FLUA_MODULES+= libjail .endif FLUA_MODULES+= libucl FLUA_MODULES+= liblyaml +FLUA_MODULES+= lposix .ifdef BOOTSTRAPPING # libfreebsd is generally omitted from the bootstrap flua because its @@ -52,7 +55,6 @@ SRCS+= lua.c # FreeBSD Extensions .PATH: ${.CURDIR}/modules SRCS+= linit_flua.c -SRCS+= lfs.c lposix.c lfbsd.c CFLAGS+= -I${SRCTOP}/lib/liblua -I${.CURDIR}/modules -I${LUASRC} CFLAGS+= -DLUA_PROGNAME="\"${PROG}\"" diff --git a/libexec/flua/lfbsd/Makefile b/libexec/flua/lfbsd/Makefile new file mode 100644 index 000000000000..e2a4aae14bcd --- /dev/null +++ b/libexec/flua/lfbsd/Makefile @@ -0,0 +1,5 @@ +SHLIB_NAME= fbsd.so +WARNS?= 3 + +.include "Makefile.inc" +.include <bsd.lib.mk> diff --git a/libexec/flua/lfbsd/Makefile.inc b/libexec/flua/lfbsd/Makefile.inc new file mode 100644 index 000000000000..7a78ef82e0fc --- /dev/null +++ b/libexec/flua/lfbsd/Makefile.inc @@ -0,0 +1,2 @@ +.PATH: ${.PARSEDIR} +SRCS+= lfbsd.c diff --git a/libexec/flua/modules/lfbsd.c b/libexec/flua/lfbsd/lfbsd.c index ef660ba9fd77..541b6c9611df 100644 --- a/libexec/flua/modules/lfbsd.c +++ b/libexec/flua/lfbsd/lfbsd.c @@ -40,6 +40,8 @@ #include "lauxlib.h" #include "lfbsd.h" +#include "bootstrap.h" + #define FBSD_PROCESSHANDLE "fbsd_process_t*" struct fbsd_process { @@ -283,3 +285,5 @@ luaopen_fbsd(lua_State *L) return (1); } + +FLUA_MODULE(fbsd); diff --git a/libexec/flua/modules/lfbsd.h b/libexec/flua/lfbsd/lfbsd.h index 01034a3ad7cd..01034a3ad7cd 100644 --- a/libexec/flua/modules/lfbsd.h +++ b/libexec/flua/lfbsd/lfbsd.h diff --git a/libexec/flua/lfs/Makefile b/libexec/flua/lfs/Makefile new file mode 100644 index 000000000000..3df83d6d2fc1 --- /dev/null +++ b/libexec/flua/lfs/Makefile @@ -0,0 +1,5 @@ +SHLIB_NAME= lfs.so +WARNS?= 3 + +.include "Makefile.inc" +.include <bsd.lib.mk> diff --git a/libexec/flua/lfs/Makefile.inc b/libexec/flua/lfs/Makefile.inc new file mode 100644 index 000000000000..9d40c42dc0e6 --- /dev/null +++ b/libexec/flua/lfs/Makefile.inc @@ -0,0 +1,2 @@ +.PATH: ${.PARSEDIR} +SRCS+= lfs.c diff --git a/libexec/flua/modules/lfs.c b/libexec/flua/lfs/lfs.c index 8cb8d6fc9fed..517e16ae65c8 100644 --- a/libexec/flua/modules/lfs.c +++ b/libexec/flua/lfs/lfs.c @@ -66,9 +66,10 @@ #ifdef _STANDALONE #include "lstd.h" #include "lutils.h" -#include "bootstrap.h" #endif +#include "bootstrap.h" + #ifndef nitems #define nitems(x) (sizeof((x)) / sizeof((x)[0])) #endif @@ -446,3 +447,7 @@ luaopen_lfs(lua_State *L) #endif return 1; } + +#ifndef _STANDALONE +FLUA_MODULE(lfs); +#endif diff --git a/libexec/flua/modules/lfs.h b/libexec/flua/lfs/lfs.h index a99e66d7f601..a99e66d7f601 100644 --- a/libexec/flua/modules/lfs.h +++ b/libexec/flua/lfs/lfs.h diff --git a/libexec/flua/libhash/lhash.c b/libexec/flua/libhash/lhash.c index 7127ddc1d530..f455f006bf27 100644 --- a/libexec/flua/libhash/lhash.c +++ b/libexec/flua/libhash/lhash.c @@ -178,4 +178,6 @@ luaopen_hash(lua_State *L) return 1; } +#ifndef _STANDALONE FLUA_MODULE(hash); +#endif diff --git a/libexec/flua/linit_flua.c b/libexec/flua/linit_flua.c index e5e38353ec9b..bb3748daefb4 100644 --- a/libexec/flua/linit_flua.c +++ b/libexec/flua/linit_flua.c @@ -33,9 +33,6 @@ #include "lualib.h" #include "lauxlib.h" -#include "lfs.h" -#include "lposix.h" -#include "lfbsd.h" #include "bootstrap.h" @@ -57,10 +54,6 @@ static const luaL_Reg loadedlibs[] = { #if defined(LUA_COMPAT_BITLIB) {LUA_BITLIBNAME, luaopen_bit32}, #endif - /* FreeBSD Extensions */ - {"lfs", luaopen_lfs}, - {"posix", luaopen_posix}, - {"fbsd", luaopen_fbsd}, {NULL, NULL} }; diff --git a/libexec/flua/lposix/Makefile b/libexec/flua/lposix/Makefile new file mode 100644 index 000000000000..92321d51be9a --- /dev/null +++ b/libexec/flua/lposix/Makefile @@ -0,0 +1,5 @@ +SHLIB_NAME= posix.so +WARNS?= 3 + +.include "Makefile.inc" +.include <bsd.lib.mk> diff --git a/libexec/flua/lposix/Makefile.inc b/libexec/flua/lposix/Makefile.inc new file mode 100644 index 000000000000..499e6779e84d --- /dev/null +++ b/libexec/flua/lposix/Makefile.inc @@ -0,0 +1,2 @@ +.PATH: ${.PARSEDIR} +SRCS+= lposix.c diff --git a/libexec/flua/modules/lposix.c b/libexec/flua/lposix/lposix.c index 75cdd345aeaa..430bb6f28baf 100644 --- a/libexec/flua/modules/lposix.c +++ b/libexec/flua/lposix/lposix.c @@ -21,6 +21,8 @@ #include "lauxlib.h" #include "lposix.h" +#include "bootstrap.h" + static void enforce_max_args(lua_State *L, int max) { @@ -697,3 +699,6 @@ luaopen_posix(lua_State *L) return (1); } + +/* Only this one needed in our bootstrap set, it will load the others. */ +FLUA_MODULE(posix); diff --git a/libexec/flua/modules/lposix.h b/libexec/flua/lposix/lposix.h index 1aa33f042571..1aa33f042571 100644 --- a/libexec/flua/modules/lposix.h +++ b/libexec/flua/lposix/lposix.h diff --git a/stand/liblua/Makefile b/stand/liblua/Makefile index ce7eb89fe494..b1c34ec0a466 100644 --- a/stand/liblua/Makefile +++ b/stand/liblua/Makefile @@ -24,7 +24,7 @@ SRCS+= lauxlib.c lbaselib.c lstrlib.c loadlib.c SRCS+= lerrno.c lpager.c lstd.c lutils.c SRCS+= gfx_utils.c -.PATH: ${FLUASRC}/modules +.PATH: ${FLUASRC}/lfs SRCS+= lfs.c .PATH: ${FLUALIB}/libhash SRCS+= lhash.c diff --git a/stand/loader.mk b/stand/loader.mk index 4073e523e552..e26ba1401912 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -89,7 +89,7 @@ SRCS+= interp_lua.c .include "${BOOTSRC}/lua.mk" LDR_INTERP= ${LIBLUA} LDR_INTERP32= ${LIBLUA32} -CFLAGS.interp_lua.c= -DLUA_PATH=\"${LUAPATH}\" -I${FLUASRC}/modules +CFLAGS.interp_lua.c= -DLUA_PATH=\"${LUAPATH}\" -I${FLUASRC}/lfs .elif ${LOADER_INTERP} == "4th" SRCS+= interp_forth.c .include "${BOOTSRC}/ficl.mk" |
