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
This commit is contained in:
parent
f82d3b3988
commit
94a8266684
@ -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
|
||||
|
@ -32,4 +32,10 @@ CFLAGS+= -I${SRCTOP}/lib/libedit -I${SRCTOP}/contrib/libedit
|
||||
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>
|
||||
|
@ -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}
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user