svn commit: r362477 - in head: . libexec/flua tools/build
Ryan Moeller
freqlabs at FreeBSD.org
Mon Jun 22 03:14:44 UTC 2020
Author: freqlabs
Date: Mon Jun 22 03:14:43 2020
New Revision: 362477
URL: https://svnweb.freebsd.org/changeset/base/362477
Log:
flua: add ucl library
libucl comes with a Lua library binding. Build it into flua.
This lets us parse/generate config files in the various formats supported by
libucl with flua. For example, the following script will detect the format of
an object written to stdin as one of UCL config, JSON, or YAML and write it to
stdout as pretty-printed JSON:
local ucl = require('ucl')
local parser = ucl.parser()
parser:parse_string(io.read('*a'))
local obj = parser:get_object()
print(ucl.to_format(obj, 'json'))
Reviewed by: kevans, pstef
Approved by: mmacy (mentor)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D25009
Modified:
head/Makefile.inc1
head/libexec/flua/Makefile
head/libexec/flua/linit_flua.c
head/tools/build/Makefile
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Mon Jun 22 01:31:08 2020 (r362476)
+++ head/Makefile.inc1 Mon Jun 22 03:14:43 2020 (r362477)
@@ -2112,8 +2112,8 @@ ${_bt}-lib/libdwarf: ${_bt_m4_depend}
# 13.0-CURRENT cycle, thus needs to be built on -older releases and stable
# branches.
.if ${BOOTSTRAPPING} < 1300059
-${_bt}-libexec/flua: ${_bt}-lib/liblua
-_flua= lib/liblua libexec/flua
+${_bt}-libexec/flua: ${_bt}-lib/liblua ${_bt}-lib/libucl
+_flua= lib/liblua lib/libucl libexec/flua
.endif
# r245440 mtree -N support added
Modified: head/libexec/flua/Makefile
==============================================================================
--- head/libexec/flua/Makefile Mon Jun 22 01:31:08 2020 (r362476)
+++ head/libexec/flua/Makefile Mon Jun 22 03:14:43 2020 (r362477)
@@ -32,4 +32,10 @@ CFLAGS+= -I${SRCTOP}/lib/libedit -I${SRCTOP}/contrib/l
LIBADD+= edit
.endif
+UCLSRC?= ${SRCTOP}/contrib/libucl
+.PATH: ${UCLSRC}/lua
+SRCS+= lua_ucl.c
+CFLAGS+= -I${UCLSRC}/include -I${UCLSRC}/src -I${UCLSRC}/uthash
+LIBADD+= ucl
+
.include <bsd.prog.mk>
Modified: head/libexec/flua/linit_flua.c
==============================================================================
--- head/libexec/flua/linit_flua.c Mon Jun 22 01:31:08 2020 (r362476)
+++ head/libexec/flua/linit_flua.c Mon Jun 22 03:14:43 2020 (r362477)
@@ -36,6 +36,7 @@
#include "lauxlib.h"
#include "lfs.h"
#include "lposix.h"
+#include "lua_ucl.h"
/*
** these libs are loaded by lua.c and are readily available to any Lua
@@ -59,6 +60,7 @@ static const luaL_Reg loadedlibs[] = {
{"lfs", luaopen_lfs},
{"posix.sys.stat", luaopen_posix_sys_stat},
{"posix.unistd", luaopen_posix_unistd},
+ {"ucl", luaopen_ucl},
{NULL, NULL}
};
Modified: head/tools/build/Makefile
==============================================================================
--- head/tools/build/Makefile Mon Jun 22 01:31:08 2020 (r362476)
+++ head/tools/build/Makefile Mon Jun 22 03:14:43 2020 (r362477)
@@ -149,6 +149,7 @@ INSTALLDIR_LIST= \
lib/casper \
lib/geom \
usr/include/casper \
+ usr/include/private/ucl \
usr/include/private/zstd \
usr/lib \
usr/libexec
More information about the svn-src-head
mailing list