diff --git a/stand/common/interp_lua.c b/stand/common/interp_lua.c index 3c6691a7d10e..f63bad03b486 100644 --- a/stand/common/interp_lua.c +++ b/stand/common/interp_lua.c @@ -60,6 +60,8 @@ static struct interp_lua_softc lua_softc; #define LDBG(...) #endif +#define LOADER_LUA LUA_PATH "/loader.lua" + INTERP_DEFINE("lua"); static void * @@ -120,7 +122,7 @@ interp_init(void) lua_pop(luap, 1); /* remove lib */ } - filename = "/boot/lua/loader.lua"; + filename = LOADER_LUA; if (interp_include(filename) != 0) { const char *errstr = lua_tostring(luap, -1); errstr = errstr == NULL ? "unknown" : errstr; diff --git a/stand/defs.mk b/stand/defs.mk index ac8ee7f526ba..2318961ddc41 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -40,6 +40,9 @@ BOOTOBJ= ${OBJTOP}/stand # BINDIR is where we install BINDIR?= /boot +# LUAPATH is where we search for and install lua scripts. +LUAPATH?= /boot/lua + LIBSA= ${BOOTOBJ}/libsa/libsa.a .if ${MACHINE} == "i386" LIBSA32= ${LIBSA} diff --git a/stand/liblua/Makefile b/stand/liblua/Makefile index edbbf60b2d25..49ed02709299 100644 --- a/stand/liblua/Makefile +++ b/stand/liblua/Makefile @@ -27,7 +27,7 @@ SRCS+= lerrno.c lfs.c lstd.c lutils.c WARNS= 3 -CFLAGS+= -DLUA_PATH_DEFAULT=\"/boot/lua/\?.lua\" +CFLAGS+= -DLUA_PATH=\"${LUAPATH}\" -DLUA_PATH_DEFAULT=\"${LUAPATH}/\?.lua\" CFLAGS+= -ffreestanding -nostdlib -DLUA_USE_POSIX CFLAGS+= -fno-stack-protector -D__BSD_VISIBLE CFLAGS+= -I${BOOTSRC}/include -I${LIBLUASRC} -I${LUASRC} -I${LDRSRC} diff --git a/stand/liblua/luaconf.h b/stand/liblua/luaconf.h index f3a1b4ec9ad5..dd642cba92f4 100644 --- a/stand/liblua/luaconf.h +++ b/stand/liblua/luaconf.h @@ -202,7 +202,7 @@ #else /* }{ */ -#define LUA_ROOT "/boot/lua/" LUA_VDIR "/" +#define LUA_ROOT LUA_PATH "/" LUA_VDIR "/" #define LUA_LDIR LUA_ROOT "share/" #define LUA_CDIR LUA_ROOT "lib/" #ifndef LUA_PATH_DEFAULT diff --git a/stand/loader.mk b/stand/loader.mk index a7fbd6c12dd9..573e82d8964b 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -62,6 +62,7 @@ SRCS+= interp_lua.c .include "${BOOTSRC}/lua.mk" LDR_INTERP= ${LIBLUA} LDR_INTERP32= ${LIBLUA32} +CFLAGS+= -DLUA_PATH=\"${LUAPATH}\" .elif ${LOADER_INTERP} == "4th" SRCS+= interp_forth.c .include "${BOOTSRC}/ficl.mk" diff --git a/stand/lua/Makefile b/stand/lua/Makefile index 6e7019603ae4..7bdcc3fee056 100644 --- a/stand/lua/Makefile +++ b/stand/lua/Makefile @@ -12,7 +12,7 @@ MAN= cli.lua.8 \ password.lua.8 \ screen.lua.8 -FILESDIR= /boot/lua +FILESDIR= ${LUAPATH} FILES= cli.lua \ color.lua \ config.lua \