Author: kevans
Date: Sat Nov  2 03:37:58 2019
New Revision: 354245
URL: https://svnweb.freebsd.org/changeset/base/354245

Log:
  stand: consolidate knowledge of lua path
  
  Multiple places coordinate to 'know' where lua scripts are installed. Knock
  this down to being formally defined (and overridable) in exactly one spot,
  defs.mk, and spread the knowledge to loaders and liblua alike. A future
  commit will expose this to lua as loader.lua_path, so it can build absolute
  paths to lua scripts as needed.
  
  MFC after:    1 week

Modified:
  head/stand/common/interp_lua.c
  head/stand/defs.mk
  head/stand/liblua/Makefile
  head/stand/liblua/luaconf.h
  head/stand/loader.mk
  head/stand/lua/Makefile

Modified: head/stand/common/interp_lua.c
==============================================================================
--- head/stand/common/interp_lua.c      Sat Nov  2 03:09:17 2019        
(r354244)
+++ head/stand/common/interp_lua.c      Sat Nov  2 03:37:58 2019        
(r354245)
@@ -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;

Modified: head/stand/defs.mk
==============================================================================
--- head/stand/defs.mk  Sat Nov  2 03:09:17 2019        (r354244)
+++ head/stand/defs.mk  Sat Nov  2 03:37:58 2019        (r354245)
@@ -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}

Modified: head/stand/liblua/Makefile
==============================================================================
--- head/stand/liblua/Makefile  Sat Nov  2 03:09:17 2019        (r354244)
+++ head/stand/liblua/Makefile  Sat Nov  2 03:37:58 2019        (r354245)
@@ -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}

Modified: head/stand/liblua/luaconf.h
==============================================================================
--- head/stand/liblua/luaconf.h Sat Nov  2 03:09:17 2019        (r354244)
+++ head/stand/liblua/luaconf.h Sat Nov  2 03:37:58 2019        (r354245)
@@ -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

Modified: head/stand/loader.mk
==============================================================================
--- head/stand/loader.mk        Sat Nov  2 03:09:17 2019        (r354244)
+++ head/stand/loader.mk        Sat Nov  2 03:37:58 2019        (r354245)
@@ -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"

Modified: head/stand/lua/Makefile
==============================================================================
--- head/stand/lua/Makefile     Sat Nov  2 03:09:17 2019        (r354244)
+++ head/stand/lua/Makefile     Sat Nov  2 03:37:58 2019        (r354245)
@@ -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 \
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to