freebsd-nq/share/mk
Warner Losh 7cafeaa1fd Add Lua as a scripting langauge to /boot/loader
liblua glues the lua run time into the boot loader. It implements all
the runtime routines that lua expects. In addition, it has a few
standard 'C' headers that nueter various aspects of the LUA build that
are too specific to lua to be in libsa. Many refinements from the
original code to improve implementation and the number of included lua
libraries. Use int64_t for lua_Number. Have "/boot/lua" be the default
module path. Numerous cleanups from the original GSoC project,
including hacking libsa to allow lua to be built with only one change
outside luaconf.h.

Add the final bit of lua glue to bring in liblua and plug into the
multiple interpreter framework, previously committed.

Add LOADER_LUA option, currently off by default.

Presently, this is an experimental option. One must opt-in to using
this by defining WITH_LOADER_LUA and WITHOUT_FORTH. It's been
lightly tested, so keep a backup copy of your old loader handy.
The menu code, coming in the next commit, hasn't been exhaustively
tested. A LUA boot loader is 60k larger than a FORTH one, which is
80k larger than a no-interpreter one. Subtle changes in size
may tip things past some subtle limit (the binary is ~430k now
when built with LUA). A future version may offer coexistance.

Bump FreeBSD version to 1200058 to mark the milestone.

Pedro Souza's 2014 Summer of Code project. Rui Paulo, Pedro Arthur,
Zakary Nafziger and Wojciech A. Koszek also contributed. Warner Losh
reworked it extensively into its current form.

Obtained from: https://wiki.freebsd.org/SummerOfCode2014/LuaLoader
Sponsored by: Google Summer of Code
Relnotes: Yes
MFC After: 1 month
Differential Review: https://reviews.freebsd.org/D14295
2018-02-12 15:31:53 +00:00
..
atf.test.mk Remove unused atf.test.mk variables 2015-12-06 07:30:18 +00:00
auto.obj.mk Ensure .OBJDIR has known value 2017-11-04 21:02:26 +00:00
bsd.arch.inc.mk
bsd.clang-analyze.mk Add some missed OBJS_SRCS_FILTER from r323637. 2017-11-10 08:00:09 +00:00
bsd.compiler.mk add retpoline compiler and linker feature flags 2018-02-07 14:50:06 +00:00
bsd.confs.mk DIRDEPS_BUILD: Fix '/' in group names creating a bad cookie. 2016-12-03 05:29:35 +00:00
bsd.cpu.mk Add -mno-avx2 for clang as well as -mno-avx. We don't want either of 2017-11-20 22:41:22 +00:00
bsd.crunchgen.mk No need to run 'make depend' with FAST_DEPEND logic in-tree. 2017-11-10 19:53:17 +00:00
bsd.dep.mk Fix DPSRCS not getting .depend.* files. 2017-12-05 02:23:33 +00:00
bsd.doc.mk Revert crap accidentally committed 2017-01-28 16:31:23 +00:00
bsd.dtb.mk
bsd.endian.mk Add full softfloat and hardfloat support for MIPS. 2016-10-31 15:33:58 +00:00
bsd.files.mk Respect INSTALL_AS_USER for FILES. 2017-07-21 16:14:35 +00:00
bsd.incs.mk Reapply r295227: Stop hiding link install commands. 2017-11-06 19:33:50 +00:00
bsd.info.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.init.mk Handle some .OBJDIR == .CURDIR cases. 2017-11-10 02:09:33 +00:00
bsd.kmod.mk WITH_META_MODE: Resolve SYSDIR to avoid changed build commands. 2016-05-31 23:08:43 +00:00
bsd.lib.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.libnames.mk Add libregex, connect it to the build 2018-01-22 02:44:41 +00:00
bsd.linker.mk add retpoline compiler and linker feature flags 2018-02-07 14:50:06 +00:00
bsd.links.mk Reapply r295227: Stop hiding link install commands. 2017-11-06 19:33:50 +00:00
bsd.man.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.mkopt.mk Appy := to dependent opts once value determined. 2015-06-22 19:01:09 +00:00
bsd.nls.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.obj.mk AUTO_OBJ: Don't create nested OBJDIRS with print-dir or make -n. 2017-12-06 21:00:41 +00:00
bsd.opts.mk Add MK_MAKE_CHECK_WITH_COVERAGE, reliant on MK_COVERAGE and MK_MAKE_CHECK_USE_SANDBOX 2017-10-31 06:16:40 +00:00
bsd.own.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.port.mk Avoid sub-shell for realpath(1) for bmake by using its built-in :tA. 2015-09-03 17:01:58 +00:00
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk Avoid sub-shell for realpath(1) for bmake by using its built-in :tA. 2015-09-03 17:01:58 +00:00
bsd.prog.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.progs.mk Add some missed OBJS_SRCS_FILTER from r323637. 2017-11-10 08:00:09 +00:00
bsd.README Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.snmpmod.mk Add a make target (smilint) for running smilint tool against BMIBS 2017-01-17 03:38:49 +00:00
bsd.stand.mk Support for v1.10 (latest) of RISC-V privilege specification. 2017-08-10 14:18:09 +00:00
bsd.subdir.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.suffixes-posix.mk Extract suffix rules into bsd.suffixes[-posix].mk. 2016-10-12 00:42:46 +00:00
bsd.suffixes.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
bsd.symver.mk
bsd.sys.mk Revert r326375 since the warning has been turned off by default in clang 2018-02-02 22:09:36 +00:00
bsd.test.mk Sort the tests alphabetically before adding them to the Kyuafiles 2017-07-17 18:20:54 +00:00
dirdeps.mk Fix typo in comment. 2017-03-07 01:42:30 +00:00
gendirdeps.mk Update meta* from bmake-20161212 2016-12-23 02:57:00 +00:00
host-target.mk Import latest host-target.mk 1.11 from contrib/bmake/mk 2016-01-25 18:43:21 +00:00
install-new.mk DIRDEPS_BUILD: Install new Makefile.depend files atomically. 2015-12-04 03:17:07 +00:00
local.autodep.mk Revert r288966 as it is redundant and not right. 2015-12-03 22:39:42 +00:00
local.dirdeps.mk DIRDEPS_BUILD: Cleanup leftover WORLDTMP files. 2017-11-02 20:45:04 +00:00
local.gendirdeps.mk DIRDEPS_BUILD: libgcc now depends on MK_LLVM_LIBUNWIND 2017-10-31 00:03:36 +00:00
local.init.mk Define .MAKE.MODE to normal to avoid the need for :U later. 2016-01-19 22:41:44 +00:00
local.meta.sys.mk Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR. 2017-11-01 21:22:05 +00:00
local.sys.env.mk AUTO_OBJ: Hide 'creating dirs' output with 'make -s'. 2017-11-08 16:03:58 +00:00
local.sys.mk Follow-up r320061: Need to respect make.conf/env LIBDIR overrides. 2017-06-19 18:08:02 +00:00
Makefile Add bsd.cov.mk 2017-07-31 08:02:25 +00:00
meta2deps.py Fix syntax error in parse_path after r316952. 2017-05-08 20:44:21 +00:00
meta2deps.sh Update meta* from bmake-20161212 2016-12-23 02:57:00 +00:00
meta.autodep.mk Handle .ppico suffixed shared object files 2017-08-17 20:05:27 +00:00
meta.stage.mk Update dirdeps/meta bits from latest bmake. 2017-03-06 23:13:25 +00:00
meta.subdir.mk Import latest meta.subdir.mk 1.11 from contrib/bmake/mk 2016-01-25 18:34:15 +00:00
meta.sys.mk Avoid clobbering existing value of META_COOKIE_TOUCH 2016-09-13 22:17:25 +00:00
netbsd-tests.test.mk Fix LDADD/DPADD that should be LIBADD. 2015-12-04 03:17:47 +00:00
plain.test.mk
src.init.mk The 'buildenv' target can safely be ran with '+'. 2015-11-06 21:49:17 +00:00
src.libnames.mk Remove libreadline from the source tree, all consumers but gdb 2018-02-06 12:22:42 +00:00
src.opts.mk Add Lua as a scripting langauge to /boot/loader 2018-02-12 15:31:53 +00:00
src.sys.env.mk Deal with bmake-20170301 no longer resolving -C like it used to. 2017-12-05 21:30:22 +00:00
src.sys.mk Enable AUTO_OBJ by default if the OBJDIR is writable, only for in-tree builds. 2017-11-02 18:09:07 +00:00
src.sys.obj.mk Add a hack to disable AUTO_OBJ for 'old style' kernel builds. 2018-01-12 01:09:41 +00:00
stage-install.sh Add META_MODE support. 2015-06-13 19:20:56 +00:00
suite.test.mk MFhead@r325422 2017-11-05 04:08:00 +00:00
sys.dependfile.mk Merge bmake-20160307 2016-03-11 01:35:39 +00:00
sys.mk Remove build system support for lint. 2017-11-17 18:16:46 +00:00
tap.test.mk - Use LOCALBASE instead of KYUA_PREFIX for the --prefix to kyua(1) 2015-12-20 06:26:15 +00:00
version_gen.awk share and pc-sysinstall: adoption of SPDX licensing ID tags. 2017-11-27 15:28:26 +00:00