Properly disable LUA_USE_DLOPEN for bootstrap flua

flua does have some specific bits that will include luaconf.h, but the
definition of LUA_USE_DLOPEN for those won't matter. This belongs in liblua
instead.

To expand on my previous commit, which was a little sparse with details,
it's not really safe to allow LUA_USE_DLOPEN with host lib paths being used.
The host system could have an entirely different lua version and this could
cause us to crash and burn.

If we want to revive this later, we need to make sure to define c module
paths inside OBJDIR that are compiled against whatever version we've
bootstrapped.

Pointy hat:	kevans
This commit is contained in:
Kyle Evans 2020-08-14 02:40:17 +00:00
parent c2a2b4f3cf
commit 967fbfd9e2
2 changed files with 2 additions and 3 deletions

View File

@ -29,6 +29,8 @@ CFLAGS+= -DLUA_PROGNAME="\"${PROG}\""
.if defined(BOOTSTRAPPING)
CFLAGS+= -DLUA_PATH_DEFAULT="\"/nonexistent/?.lua\""
CFLAGS+= -DLUA_CPATH_DEFAULT="\"/nonexistent/?.so\""
# We don't support dynamic libs on bootstrap builds.
CFLAGS+= -DBOOTSTRAPPING
.endif
.include <bsd.lib.mk>

View File

@ -31,9 +31,6 @@ CFLAGS+= -DLUA_USE_READLINE
CFLAGS+= -I${SRCTOP}/lib/libedit -I${SRCTOP}/contrib/libedit
LIBADD+= edit
LDFLAGS+= -Wl,-E
.else
# We don't support dynamic libs on bootstrap builds.
CFLAGS+= -DBOOTSTRAPPING
.endif
UCLSRC?= ${SRCTOP}/contrib/libucl