The branch stable/13 has been updated by des:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=1d6e02cfc3f091503f441834840cfcba34c29cae

commit 1d6e02cfc3f091503f441834840cfcba34c29cae
Author:     Muhammad Moinur Rahman <[email protected]>
AuthorDate: 2025-08-27 18:36:12 +0000
Commit:     Dag-Erling Smørgrav <[email protected]>
CommitDate: 2025-10-02 07:28:55 +0000

    MFV: libucl: Update to 0.9.2
    
    - Add FREEBSD-upgrade instructions
    - Add FREEBSD-Xlist file
    - Remove all unnecessary files which are not required for in-tree build
    
    Approved by: bapt
    Differential Revision:  https://reviews.freebsd.org/D50472
    Event: Oslo Hackathon 202508
    Sponsored by: The FreeBSD Foundation
    
    (cherry picked from commit 2326db40a1d2dd98631d70aae200ca52575139fb)
---
 contrib/libucl/CMakeLists.txt                  | 314 -----------
 contrib/libucl/ChangeLog.md                    | 103 ----
 contrib/libucl/FREEBSD-Xlist                   |  40 ++
 contrib/libucl/FREEBSD-upgrade                 |  39 ++
 contrib/libucl/Makefile.am                     |  81 ---
 contrib/libucl/Makefile.unix                   |  89 ---
 contrib/libucl/Makefile.w32                    |  92 ---
 contrib/libucl/README.md                       | 418 --------------
 contrib/libucl/autogen.sh                      |   2 -
 contrib/libucl/configure.ac                    | 188 -------
 contrib/libucl/doc/Makefile.am                 |   9 -
 contrib/libucl/doc/api.md                      | 506 -----------------
 contrib/libucl/doc/lua_api.md                  | 196 -------
 contrib/libucl/doc/pandoc.template             |  12 -
 contrib/libucl/examples/ucl_cpp.cc             |  26 -
 contrib/libucl/haskell/hucl.hs                 | 123 ----
 contrib/libucl/include/ucl.h                   |   4 +-
 contrib/libucl/libucl.pc                       |  11 -
 contrib/libucl/libucl.pc.in                    |  11 -
 contrib/libucl/lua/Makefile.am                 |  26 -
 contrib/libucl/lua/libucl.rockspec.in          |  26 -
 contrib/libucl/lua/lua_ucl.c                   |  83 ++-
 contrib/libucl/m4/ax_lua.m4                    | 664 ----------------------
 contrib/libucl/m4/gcov.m4                      |  89 ---
 contrib/libucl/python/MANIFEST.in              |   5 -
 contrib/libucl/python/setup.py                 |  75 ---
 contrib/libucl/python/src/uclmodule.c          | 335 -----------
 contrib/libucl/python/tests/__init__.py        |   0
 contrib/libucl/python/tests/compat.py          |   8 -
 contrib/libucl/python/tests/test_dump.py       |  66 ---
 contrib/libucl/python/tests/test_example.py    |  59 --
 contrib/libucl/python/tests/test_load.py       | 122 ----
 contrib/libucl/python/tests/test_validation.py |  50 --
 contrib/libucl/python/ucl.pyi                  |  15 -
 contrib/libucl/src/Makefile.am                 |  30 -
 contrib/libucl/src/mum.h                       |   2 -
 contrib/libucl/src/ucl_emitter.c               |  80 ++-
 contrib/libucl/src/ucl_emitter_streamline.c    |   9 +-
 contrib/libucl/src/ucl_hash.c                  | 146 +++--
 contrib/libucl/src/ucl_msgpack.c               |   4 +-
 contrib/libucl/src/ucl_parser.c                | 214 +++++--
 contrib/libucl/src/ucl_schema.c                |   1 +
 contrib/libucl/src/ucl_util.c                  |  87 +--
 contrib/libucl/stamp-h.in                      |   1 -
 contrib/libucl/tests/.gitignore                |  10 +
 contrib/libucl/tests/Makefile.am               |  45 --
 contrib/libucl/tests/schema/definitions.json   |  32 --
 contrib/libucl/tests/schema/ref.json           |  16 -
 contrib/libucl/tests/schema/refRemote.json     |  76 ---
 contrib/libucl/tests/test_speed.c              |   2 +-
 contrib/libucl/tests/test_streamline.c         |  43 +-
 contrib/libucl/uthash/utlist.h                 | 749 ++++++++++++++++++-------
 contrib/libucl/utils/CMakeLists.txt            |  12 -
 contrib/libucl/utils/Makefile.am               |  23 -
 contrib/libucl/utils/chargen.c                 | 128 -----
 contrib/libucl/utils/objdump.c                 | 185 ------
 contrib/libucl/utils/ucl-tool.c                | 170 ------
 57 files changed, 1072 insertions(+), 4880 deletions(-)

diff --git a/contrib/libucl/CMakeLists.txt b/contrib/libucl/CMakeLists.txt
deleted file mode 100644
index 5fe772a30f88..000000000000
--- a/contrib/libucl/CMakeLists.txt
+++ /dev/null
@@ -1,314 +0,0 @@
-PROJECT(libucl C)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR)
-
-SET(LIBUCL_VERSION_MAJOR 0)
-SET(LIBUCL_VERSION_MINOR 5)
-SET(LIBUCL_VERSION_PATCH 0)
-
-SET(LIBUCL_VERSION
-        
"${LIBUCL_VERSION_MAJOR}.${LIBUCL_VERSION_MINOR}.${LIBUCL_VERSION_PATCH}")
-
-INCLUDE(CheckCCompilerFlag)
-INCLUDE(CheckCSourceCompiles)
-INCLUDE(FindOpenSSL)
-INCLUDE(GNUInstallDirs)
-
-OPTION(ENABLE_URL_INCLUDE  "Enable urls in ucl includes (requires libcurl or 
libfetch) [default: OFF]" OFF)
-OPTION(ENABLE_URL_SIGN  "Enable signatures check in ucl includes (requires 
openssl) [default: OFF]" OFF)
-OPTION(BUILD_SHARED_LIBS "Build Shared Libraries [default: OFF]" OFF)
-OPTION(ENABLE_LUA "Enable lua support [default: OFF]" OFF)
-OPTION(ENABLE_LUAJIT "Enable luajit support [default: OFF]" OFF)
-OPTION(ENABLE_UTILS "Enable building utility binaries [default: OFF]" OFF)
-
-# Find lua installation
-MACRO(FindLua)
-       # Find lua libraries
-       UNSET(LUA_INCLUDE_DIR CACHE)
-       UNSET(LUA_LIBRARY CACHE)
-       CMAKE_PARSE_ARGUMENTS(LUA "" "VERSION_MAJOR;VERSION_MINOR;ROOT" "" 
${ARGN})
-
-       IF(NOT LUA_VERSION_MAJOR OR NOT LUA_VERSION_MINOR)
-               MESSAGE(FATAL_ERROR "Invalid FindLua invocation: ${ARGN}")
-       ENDIF()
-
-       IF(ENABLE_LUAJIT MATCHES "ON")
-               MESSAGE(STATUS "Check for luajit 
${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
-               FIND_PATH(LUA_INCLUDE_DIR luajit.h
-                               HINTS
-                               "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
-                               $ENV{LUA_DIR}
-                               PATH_SUFFIXES "include/luajit-2.0"
-                               
"include/luajit${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                               
"include/luajit${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               
"include/luajit-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               "include/luajit"
-                               
"include/lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                               
"include/lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               
"include/lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               include/lua include
-                               PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
-               )
-               FIND_LIBRARY(LUA_LIBRARY
-                               NAMES luajit
-                               "luajit-2.0"
-                               "luajit2.0"
-                               "luajit${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                               
"luajit${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               
"luajit-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               HINTS
-                               "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
-                               $ENV{LUA_DIR}
-                               PATH_SUFFIXES lib64 lib
-                               PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                               DOC "Lua library"
-               )
-
-               IF(NOT LUA_LIBRARY OR NOT LUA_INCLUDE_DIR)
-                       MESSAGE(STATUS "Fallback from luajit to plain lua")
-                       SET(ENABLE_LUAJIT "OFF")
-                       MESSAGE(STATUS "Check for lua 
${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
-                       FIND_PATH(LUA_INCLUDE_DIR lua.h
-                                       HINTS
-                                       "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
-                                       $ENV{LUA_DIR}
-                                       PATH_SUFFIXES 
"include/lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                                       
"include/lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                                       
"include/lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                                       include/lua include
-                                       PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
-                       )
-                       FIND_LIBRARY(LUA_LIBRARY
-                                       NAMES lua
-                                       
"lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                                       
"lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                                       
"lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                                       HINTS
-                                       "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
-                                       $ENV{LUA_DIR}
-                                       PATH_SUFFIXES lib64 lib
-                                       PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                                       DOC "Lua library"
-                       )
-               ENDIF()
-       ELSE(ENABLE_LUAJIT MATCHES "ON")
-               MESSAGE(STATUS "Check for lua 
${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
-               FIND_PATH(LUA_INCLUDE_DIR lua.h
-                               HINTS
-                               "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
-                               $ENV{LUA_DIR}
-                               PATH_SUFFIXES 
"include/lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                               
"include/lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               
"include/lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               include/lua include
-                               PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
-               )
-               FIND_LIBRARY(LUA_LIBRARY
-                               NAMES lua
-                               "lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
-                               "lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               "lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
-                               HINTS
-                               "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
-                               $ENV{LUA_DIR}
-                               PATH_SUFFIXES lib64 lib
-                               PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                               DOC "Lua library"
-               )
-       ENDIF(ENABLE_LUAJIT MATCHES "ON")
-
-       IF(LUA_LIBRARY AND LUA_INCLUDE_DIR)
-               SET(LUA_FOUND 1)
-               IF(NOT LUA_VERSION_MAJOR OR NOT LUA_VERSION_MINOR)
-                       SET(LUA_VERSION_MAJOR ${LUA_VERSION_MAJOR})
-                       SET(LUA_VERSION_MINOR ${LUA_VERSION_MINOR})
-               ENDIF(NOT LUA_VERSION_MAJOR OR NOT LUA_VERSION_MINOR)
-               IF(ENABLE_LUAJIT MATCHES "ON")
-                       MESSAGE(STATUS "Found luajit 
${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
-               ELSE(ENABLE_LUAJIT MATCHES "ON")
-                       MESSAGE(STATUS "Found lua 
${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
-               ENDIF(ENABLE_LUAJIT MATCHES "ON")
-       ENDIF(LUA_LIBRARY AND LUA_INCLUDE_DIR)
-ENDMACRO()
-
-IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-       LIST(APPEND CMAKE_REQUIRED_LIBRARIES rt)
-ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-
-IF(ENABLE_URL_INCLUDE MATCHES "ON")
-    FIND_LIBRARY(LIBFETCH_LIBRARY NAMES fetch PATHS    PATH_SUFFIXES lib64 lib
-                      PATHS
-                          ~/Library/Frameworks
-                          /Library/Frameworks
-                          /usr/local
-                          /usr
-                          /sw
-                          /opt/local
-                          /opt/csw
-                          /opt
-                     DOC "Path where the libfetch library can be found")
-    IF(LIBFETCH_LIBRARY)
-       FIND_FILE(HAVE_FETCH_H NAMES fetch.h PATHS /usr/include
-                                                                               
           /opt/include
-                                                                               
           /usr/local/include
-                               DOC "Path to libfetch header")
-    ELSE(LIBFETCH_LIBRARY)
-       # Try to find libcurl
-        FIND_PACKAGE(CURL)
-       IF(NOT CURL_FOUND)
-               MESSAGE(WARNING "Neither libcurl nor libfetch were found, no 
support of URL includes in configuration")
-       ENDIF(NOT CURL_FOUND)
-    ENDIF(LIBFETCH_LIBRARY)
-ENDIF(ENABLE_URL_INCLUDE MATCHES "ON")
-
-set(SYNC_BUILTINS_TEST_SOURCE [====[
-int main()
-{
-    unsigned long val;
-
-    __sync_bool_compare_and_swap(&val, 0, 1);
-    __sync_add_and_fetch(&val, 1);
-    __sync_fetch_and_add(&val, 0);
-    __sync_sub_and_fetch(&val, 1);
-
-    return 0;
-}
-]====])
-
-CHECK_C_SOURCE_COMPILES("${SYNC_BUILTINS_TEST_SOURCE}" HAVE_ATOMIC_BUILTINS)
-IF(NOT HAVE_ATOMIC_BUILTINS)
-    MESSAGE(WARNING "Libucl references could be thread-unsafe because atomic 
builtins are missing")
-ENDIF(NOT HAVE_ATOMIC_BUILTINS)
-
-SET(CMAKE_C_WARN_FLAGS "")
-CHECK_C_COMPILER_FLAG(-W SUPPORT_W)
-CHECK_C_COMPILER_FLAG(-Wno-pointer-sign SUPPORT_WPOINTER_SIGN)
-CHECK_C_COMPILER_FLAG(-Wno-unused-parameter SUPPORT_WUNUSED_PARAMETER)
-IF(SUPPORT_W)
-    SET(CMAKE_C_WARN_FLAGS "${CMAKE_C_WARN_FLAGS} -W")
-ENDIF(SUPPORT_W)
-IF(SUPPORT_WPOINTER_SIGN)
-       SET(CMAKE_C_WARN_FLAGS "${CMAKE_C_WARN_FLAGS} -Wno-pointer-sign")
-ENDIF(SUPPORT_WPOINTER_SIGN)
-IF(SUPPORT_WUNUSED_PARAMETER)
-       SET(CMAKE_C_WARN_FLAGS "${CMAKE_C_WARN_FLAGS} -Wno-unused-parameter")
-ENDIF(SUPPORT_WUNUSED_PARAMETER)
-
-SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_WARN_FLAGS}" )
-
-IF(ENABLE_URL_SIGN MATCHES "ON")
-       IF(OPENSSL_FOUND)
-               SET(HAVE_OPENSSL 1)
-               INCLUDE_DIRECTORIES("${OPENSSL_INCLUDE_DIR}")
-       ENDIF(OPENSSL_FOUND)
-ENDIF(ENABLE_URL_SIGN MATCHES "ON")
-
-SET(UCL_COMPILE_DEFS)
-IF(HAVE_FETCH_H)
-    LIST(APPEND UCL_COMPILE_DEFS -DHAVE_FETCH_H=1)
-ENDIF(HAVE_FETCH_H)
-IF(CURL_FOUND)
-    LIST(APPEND UCL_COMPILE_DEFS -DCURL_FOUND=1)
-ENDIF(CURL_FOUND)
-IF(HAVE_OPENSSL)
-    LIST(APPEND UCL_COMPILE_DEFS -DHAVE_OPENSSL=1)
-ENDIF(HAVE_OPENSSL)
-IF(HAVE_ATOMIC_BUILTINS)
-    LIST(APPEND UCL_COMPILE_DEFS -DHAVE_ATOMIC_BUILTINS=1)
-ENDIF(HAVE_ATOMIC_BUILTINS)
-
-SET(UCLSRC src/ucl_util.c
-               src/ucl_parser.c
-               src/ucl_emitter.c
-               src/ucl_emitter_streamline.c
-               src/ucl_emitter_utils.c
-               src/ucl_hash.c
-               src/ucl_schema.c
-               src/ucl_msgpack.c
-               src/ucl_sexp.c)
-
-SET(UCLHDR include/ucl.h
-               include/ucl++.h)
-
-SET (LIB_TYPE STATIC)
-IF (BUILD_SHARED_LIBS)
-  SET (LIB_TYPE SHARED)
-ENDIF (BUILD_SHARED_LIBS)
-ADD_LIBRARY(ucl ${LIB_TYPE} ${UCLSRC})
-ADD_LIBRARY(ucl::ucl ALIAS ucl)
-SET_TARGET_PROPERTIES(ucl PROPERTIES VERSION ${LIBUCL_VERSION} SOVERSION 
${LIBUCL_VERSION_MAJOR})
-TARGET_INCLUDE_DIRECTORIES(ucl
-       PUBLIC
-         include
-       PRIVATE
-         src
-         uthash
-         klib)
-TARGET_COMPILE_DEFINITIONS(ucl
-    PRIVATE
-    ${UCL_COMPILE_DEFS}
-)
-
-IF(ENABLE_LUA MATCHES "ON")
-       IF(ENABLE_LUAJIT MATCHES "ON")
-               FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}")
-               IF(NOT LUA_FOUND)
-                       MESSAGE(FATAL_ERROR "Lua not found, lua support is 
required")
-               ELSE(NOT LUA_FOUND)
-                       INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}")
-               ENDIF(NOT LUA_FOUND)
-       ELSE(ENABLE_LUAJIT MATCHES "ON")
-               FindLua(VERSION_MAJOR "5" VERSION_MINOR "2" ROOT "${LUA_ROOT}")
-               IF(NOT LUA_FOUND)
-                       FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT 
"${LUA_ROOT}")
-               ENDIF(NOT LUA_FOUND)
-               IF(NOT LUA_FOUND)
-                       MESSAGE(FATAL_ERROR "Lua not found, lua support is 
required")
-               ELSE(NOT LUA_FOUND)
-                       INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}")
-               ENDIF(NOT LUA_FOUND)
-       ENDIF(ENABLE_LUAJIT MATCHES "ON")
-       SET(UCL_LUA_SRC lua/lua_ucl.c)
-       ADD_LIBRARY(lua-ucl ${LIB_TYPE} ${UCL_LUA_SRC})
-       ADD_LIBRARY(ucl::lua ALIAS lua-ucl)
-       IF(ENABLE_LUAJIT MATCHES "ON")
-               TARGET_LINK_LIBRARIES(lua-ucl "${LUAJIT_LIBRARY}")
-       ELSE(ENABLE_LUAJIT MATCHES "ON")
-               TARGET_LINK_LIBRARIES(lua-ucl "${LUA_LIBRARY}")
-       ENDIF(ENABLE_LUAJIT MATCHES "ON")
-       TARGET_LINK_LIBRARIES(lua-ucl ucl)
-       TARGET_INCLUDE_DIRECTORIES(lua-ucl PUBLIC include PRIVATE src uthash)
-       SET_TARGET_PROPERTIES(lua-ucl PROPERTIES
-               VERSION ${LIBUCL_VERSION}
-               SOVERSION ${LIBUCL_VERSION_MAJOR}
-               PUBLIC_HEADER include/lua_ucl.h)
-       INSTALL(TARGETS lua-ucl DESTINATION ${CMAKE_INSTALL_LIBDIR}
-                       PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-ENDIF()
-
-IF(HAVE_FETCH_H)
-    TARGET_LINK_LIBRARIES(ucl fetch)
-ELSE(HAVE_FETCH_H)
-    IF(CURL_FOUND)
-        TARGET_LINK_LIBRARIES(ucl ${CURL_LIBRARIES})
-    ENDIF(CURL_FOUND)
-ENDIF(HAVE_FETCH_H)
-IF(ENABLE_URL_SIGN MATCHES "ON")
-       IF(OPENSSL_FOUND)
-               TARGET_LINK_LIBRARIES(ucl ${OPENSSL_LIBRARIES})
-       ENDIF(OPENSSL_FOUND)
-ENDIF(ENABLE_URL_SIGN MATCHES "ON")
-
-IF(UNIX)
-    TARGET_LINK_LIBRARIES(ucl -lm)
-ENDIF(UNIX)
-
-SET_TARGET_PROPERTIES(ucl PROPERTIES
-       PUBLIC_HEADER "${UCLHDR}")
-
-INSTALL(TARGETS ucl DESTINATION ${CMAKE_INSTALL_LIBDIR}
-               PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
-IF(ENABLE_UTILS MATCHES "ON")
-    ADD_SUBDIRECTORY(utils)
-ENDIF()
-
diff --git a/contrib/libucl/ChangeLog.md b/contrib/libucl/ChangeLog.md
deleted file mode 100644
index cba29aa9a7b5..000000000000
--- a/contrib/libucl/ChangeLog.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# Version history
-
-## Libucl 0.5
-
-- Streamline emitter has been added, so it is now possible to output partial 
`ucl` objects
-- Emitter now is more flexible due to emitter_context structure
-
-### 0.5.1
-- Fixed number of bugs and memory leaks
-
-### 0.5.2
-
-- Allow userdata objects to be emitted and destructed
-- Use userdata objects to store lua function references
-
-### Libucl 0.6
-
-- Reworked macro interface
-
-### Libucl 0.6.1
-
-- Various utilities fixes
-
-### Libucl 0.7.0
-
-- Move to klib library from uthash to reduce memory overhead and increase 
performance
-
-### Libucl 0.7.1
-
-- Added safe iterators API
-
-### Libucl 0.7.2
-
-- Fixed serious bugs in schema and arrays iteration
-
-### Libucl 0.7.3
-
-- Fixed a bug with macros that come after an empty object
-- Fixed a bug in include processing when an incorrect variable has been 
destroyed (use-after-free)
-
-### Libucl 0.8.0
-
-- Allow to save comments and macros when parsing UCL documents
-- C++ API
-- Python bindings (by Eitan Adler)
-- Add msgpack support for parser and emitter
-- Add Canonical S-expressions parser for libucl
-- CLI interface for parsing and validation (by Maxim Ignatenko)
-- Implement include with priority
-- Add 'nested' functionality to .include macro (by Allan Jude)
-- Allow searching an array of paths for includes (by Allan Jude)
-- Add new .load macro (by Allan Jude)
-- Implement .inherit macro (#100)
-- Add merge strategies
-- Add schema validation to lua API
-- Add support for external references to schema validation
-- Add coveralls integration to libucl
-- Implement tests for 80% of libucl code lines
-- Fix tonns of minor and major bugs
-- Improve documentation
-- Rework function names to the common conventions (old names are preserved for 
backwards compatibility)
-- Add Coverity scan integration
-- Add fuzz tests
-
-**Incompatible changes**:
-
-- `ucl_object_emit_full` now accepts additional argument `comments` that could 
be used to emit comments with UCL output
-
-### Libucl 0.8.1
-
-- Create ucl_parser_add_file_full() to be able to specify merge mode and 
parser type (by Allan Jude)
-- C++ wrapper improvements (by @ftilde)
-- C++ wrapper: add convenience method at() and lookup() (by Yonghee Kim)
-- C++ wrapper: add assignment operator to Ucl class (by Yonghee Kim)
-- C++ wrapper: support variables in parser (by Yonghee Kim)
-- C++ wrapper: refactoring C++ interface (by Yonghee Kim):
-    - use auto variables (if possible)
-    - remove dangling expressions
-    - use std::set::emplace instead of std::set::insert
-    - not use std::move in return statement; considering copy elision
-- C++ wrapper: fix compilation error and warnings (by Zhe Wang)
-- C++ wrapper: fix iteration over objects in which the first value is `false` 
(by Zhe Wang)
-- C++ wrapper: Macro helper functions (by Chris Meacham)
-- C++ wrapper: Changing the duplicate strategy in the C++ API (by Chris 
Meacham)
-- C++ wrapper: Added access functions for the size of a UCL_ARRAY (by Chris 
Meacham)
-- Fix caseless comparison
-- Fix include when EPERM is issued
-- Fix Windows build
-- Allow to reserve space in arrays and hashes
-- Fix bug with including of empty files
-- Move to mum_hash from xxhash
-- Fix msgpack on non-x86
-- python: Add support to Python 3 (by Denis Volpato Martins)
-- python: Add support for Python 2.6 tests (by Denis Volpato Martins)
-- python: Implement validation function and tests (by Denis Volpato Martins)
-- python: Added UCL_NULL handling and tests (by Denis Volpato Martins)
-- Fix schema validation for patternProperties with object data (by Denis 
Volpato Martins)
-- Remove the dependency on NBBY, add missing <strings.h> include (by Ed 
Schouten)
-- Allow to emit msgpack from Lua
-- Performance improvements in Lua API
-- Allow to pass opaque objects in Lua API for transparent C passthrough
-- Various bugs fixed
-- Couple of memory leaks plugged
\ No newline at end of file
diff --git a/contrib/libucl/FREEBSD-Xlist b/contrib/libucl/FREEBSD-Xlist
new file mode 100644
index 000000000000..6d8cb4ff8f5b
--- /dev/null
+++ b/contrib/libucl/FREEBSD-Xlist
@@ -0,0 +1,40 @@
+.github
+.gitignore
+CMakeLists.txt
+ChangeLog.md
+Makefile.am
+Makefile.unix
+Makefile.w32
+README.md
+autogen.sh
+configure.ac
+doc/Makefile.am
+doc/api.md
+doc/lua_api.md
+doc/pandoc.template
+examples/ucl_cpp.cc
+haskell/hucl.hs
+libucl.pc.in
+lua/Makefile.am
+lua/libucl.rockspec.in
+m4/.gitignore
+m4/ax_lua.m4
+m4/gcov.m4
+python/MANIFEST.in
+python/setup.py
+python/src/uclmodule.c
+python/tests/__init__.py
+python/tests/compat.py
+python/tests/test_dump.py
+python/tests/test_example.py
+python/tests/test_load.py
+python/tests/test_validation.py
+python/ucl.pyi
+src/Makefile.am
+stamp-h.in
+tests/Makefile.am
+utils/CMakeLists.txt
+utils/Makefile.am
+utils/chargen.c
+utils/objdump.c
+utils/ucl-tool.c
diff --git a/contrib/libucl/FREEBSD-upgrade b/contrib/libucl/FREEBSD-upgrade
new file mode 100644
index 000000000000..b80736d7877b
--- /dev/null
+++ b/contrib/libucl/FREEBSD-upgrade
@@ -0,0 +1,39 @@
+# FreeBSD libucl import instruction
+#
+# At least the following ports are required when importing libucl:
+# - devel/autoconf
+# - devel/automake
+# - devel/git
+# - devel/gmake
+# - devel/libtool
+#
+# 1. Vendor import
+#
+# $ git clone https://github.com/vstakhov/libucl.git /tmp/libucl
+# $ cd /tmp/libucl
+# $ git checkout <REF_BRANCH_TO_BE_IMPORTED>
+# $ cd /usr/src
+# $ git checkout vendor/libucl
+# $ rsync -va --delete --exclude=.git /tmp/libucl/ /usr/src/contrib/libucl/
+# $ git add .
+# $ git commit -m "vendor import libucl <REF_BRANCH_TO_BE_IMPORTED>"
+# $ git tag -a vendor/libucl/<REF_BRANCH_TO_BE_IMPORTED> -m "vendor import 
libucl <REF_BRANCH_TO_BE_IMPORTED>"
+# $ git push --follow-tags freebsd vendor/libucl/<REF_BRANCH_TO_BE_IMPORTED>
+#
+# 2. Test
+#
+# $ cd /usr/src
+# $ git checkout vendor/libucl/<REF_BRANCH_TO_BE_IMPORTED>
+# $ ./autogen.sh
+# $ ./configure
+# $ gmake
+# $ gmake check
+# $ gmake clean
+#
+# 3. Merge vendor tree
+#
+# $ git subtree merge -P contrib/libucl 
vendor/libucl/<REF_BRANCH_TO_BE_IMPORTED>
+# $ sh -c 'for F in `cat FREEBSD-Xlist | grep -v FreeBSD`; do rm -rf ./$F ; 
done'
+#
+# Recheck if there were any new files were added which are not necessary in the
+# contrib tree. If so, remove them and also add them to the FREEBSD-Xlist file.
diff --git a/contrib/libucl/Makefile.am b/contrib/libucl/Makefile.am
deleted file mode 100644
index 5b51bcc3b468..000000000000
--- a/contrib/libucl/Makefile.am
+++ /dev/null
@@ -1,81 +0,0 @@
-ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = uthash klib README.md
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libucl.pc
-
-if LUA_SUB
-  LUA_SUBDIR = lua
-endif
-
-COVERAGE_INFO_FILE = $(top_builddir)/coverage.info
-COVERAGE_REPORT_DIR = $(top_builddir)/coverage
-
-.PHONY = coverage-requirement-check clean-coverage-report
-
-coverage-requirement-check:
-       @if test ! -e $(GCOV); then \
-               echo "Cannot find $(GCOV). Please install gcov."; \
-               exit 1; \
-       fi
-
-coverage: coverage-requirement-check clean-coverage coverage-build 
coverage-check coverage-report
-       @echo "Please execute 'make clean' before 'make' or 'make check' to 
remove instrumented object files(compiled with -O0 etc.). Note that 'make 
clean' also remove coverage data."
-
-coverage-build: coverage-requirement-check
-       @if test `find $(top_builddir) -name "*.gcno" | wc -l` -eq 0; then \
-               echo "Start to remove old non-instrumented object files..."; \
-               $(MAKE) $(AM_MAKEFLAGS) clean; \
-               echo "Successfully removed old non-instrumented object files."; 
\
-       fi
-       @echo "Start to build libraries with coverage options..."
-       $(MAKE) $(AM_MAKEFLAGS) \
-               CFLAGS="$(CFLAGS) $(COVERAGE_CFLAGS) $(COVERAGE_OPTFLAGS)" \
-               CXXFLAGS="$(CXXFLAGS) $(COVERAGE_CXXFLAGS) 
$(COVERAGE_OPTFLAGS)" \
-               LDFLAGS="$(LDFLAGS) $(COVERAGE_LDFLAGS)" \
-               LIBS="$(LIBS) $(COVERAGE_LIBS)"
-       @echo "Successfully built libraries with coverage options."
-
-coverage-check: coverage-requirement-check
-       @echo "Start to run tests with instrumented libraries..."
-       $(MAKE) $(AM_MAKEFLAGS) check \
-               CFLAGS="$(CFLAGS) $(COVERAGE_CFLAGS) $(COVERAGE_OPTFLAGS)" \
-               CXXFLAGS="$(CXXFLAGS) $(COVERAGE_CXXFLAGS) 
$(COVERAGE_OPTFLAGS)" \
-               LDFLAGS="$(LDFLAGS) $(COVERAGE_LDFLAGS)" \
-               LIBS="$(LIBS) $(COVERAGE_LIBS)"
-       @echo "Successfully run tests with instrumented libraries."
-
-coverage-lcov: coverage-check coverage-requirement-check
-       $(LCOV) --capture \
-               --directory "$(top_builddir)/" \
-               --output-file $(COVERAGE_INFO_FILE) \
-               --gcov-tool $(GCOV) \
-               --compat-libtool --checksum
-       $(LCOV) --extract $(COVERAGE_INFO_FILE) `pwd`/src/ucl_\* \
-               --output-file $(COVERAGE_INFO_FILE)
-
-coverage-report: coverage-lcov
-       @echo "Start to create coverage reports..."
-       $(GENHTML) --prefix "$(top_srcdir)" \
-               --output-directory $(COVERAGE_REPORT_DIR) \
-               --title $(PACKAGE_NAME) \
-               --legend --show-details \
-               $(GENHTML_OPTIONS) \
-               $(COVERAGE_INFO_FILE)
-       @echo "Successfully created coverage reports into 
$(COVERAGE_REPORT_DIR) directory."
-
-clean-coverage-report:
-       -rm -rf $(COVERAGE_INFO_FILE)
-       -rm -rf $(COVERAGE_REPORT_DIR)
-
-clean-coverage: clean-coverage-report
-       -$(LCOV) --gcov-tool $(GCOV) --zerocounters --directory $(top_builddir)
-       @if xargs --version 2>/dev/null; then \
-               find $(top_builddir) -name "*.gcno" | xargs --no-run-if-empty 
rm; \
-       else \
-               find $(top_builddir) -name "*.gcno" | xargs rm; \
-       fi
-
-clean-local: clean-coverage
-
-SUBDIRS = src tests utils doc $(LUA_SUBDIR)
diff --git a/contrib/libucl/Makefile.unix b/contrib/libucl/Makefile.unix
deleted file mode 100644
index 0653d4843f7e..000000000000
--- a/contrib/libucl/Makefile.unix
+++ /dev/null
@@ -1,89 +0,0 @@
-CC ?= gcc
-DESTDIR ?= /usr/local
-LD ?= gcc
-C_COMMON_FLAGS ?= -fPIC -Wall -W -Wno-unused-parameter -Wno-pointer-sign 
-I./include -I./uthash -I./src -I./klib
-MAJOR_VERSION = 0
-MINOR_VERSION = 2
-PATCH_VERSION = 9
-VERSION = "$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)"
-SONAME = libucl.so
-SONAME_FULL = $(SONAME).$(MAJOR_VERSION)
-OBJDIR ?= .obj
-TESTDIR ?= tests
-SRCDIR ?= src
-INCLUDEDIR ?= include
-MKDIR ?= mkdir
-INSTALL ?= install
-RM ?= rm
-RMDIR ?= rmdir
-LN ?= ln
-LD_SHARED_FLAGS ?= -Wl,-soname,$(SONAME) -shared -lm
-LD_UCL_FLAGS ?= -L$(OBJDIR) -Wl,-rpath,$(OBJDIR) -lucl
-LD_ADD ?= -lrt
-COPT_FLAGS ?= -O2
-HDEPS = $(SRCDIR)/ucl_hash.h \
-               $(SRCDIR)/ucl_chartable.h \
-               $(SRCDIR)/ucl_internal.h \
-               $(INCLUDEDIR)/ucl.h \
-               $(SRCDIR)/mum.h
-OBJECTS = $(OBJDIR)/ucl_hash.o \
-               $(OBJDIR)/ucl_util.o \
-               $(OBJDIR)/ucl_parser.o \
-               $(OBJDIR)/ucl_emitter.o \
-               $(OBJDIR)/ucl_schema.o
-
-all: $(OBJDIR) $(OBJDIR)/$(SONAME)
-
-$(OBJDIR)/$(SONAME): $(OBJDIR)/$(SONAME_FULL)
-       $(LN) -sf $(SONAME_FULL) $(OBJDIR)/$(SONAME)
-
-$(OBJDIR)/$(SONAME_FULL): $(OBJECTS)
-       $(CC) -o $(OBJDIR)/$(SONAME_FULL) $(OBJECTS) $(LD_SHARED_FLAGS) 
$(LDFLAGS) $(SSL_LIBS) $(FETCH_LIBS)
-
-$(OBJDIR):
-       @$(MKDIR) -p $(OBJDIR)
-
-# Compile rules
-$(OBJDIR)/ucl_util.o: $(SRCDIR)/ucl_util.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_util.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_util.c
-$(OBJDIR)/ucl_parser.o: $(SRCDIR)/ucl_parser.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_parser.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_parser.c
-$(OBJDIR)/ucl_emitter.o: $(SRCDIR)/ucl_emitter.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_emitter.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter.c
-$(OBJDIR)/ucl_hash.o: $(SRCDIR)/ucl_hash.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_hash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_hash.c
-$(OBJDIR)/ucl_schema.o: $(SRCDIR)/ucl_schema.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_schema.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_schema.c
-
-clean:
-       $(RM) $(OBJDIR)/*.o $(OBJDIR)/$(SONAME_FULL) $(OBJDIR)/$(SONAME) 
$(OBJDIR)/chargen $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/objdump 
$(OBJDIR)/test_generate $(OBJDIR)/test_schema || true
-       $(RMDIR) $(OBJDIR)
-       
-# Utils
-
-chargen: utils/chargen.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/chargen $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/chargen.c
-objdump: utils/objdump.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/objdump $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/objdump.c 
$(LD_UCL_FLAGS)
-
-# Tests
-
-test: $(OBJDIR) $(OBJDIR)/$(SONAME) $(OBJDIR)/test_basic $(OBJDIR)/test_speed 
$(OBJDIR)/test_generate $(OBJDIR)/test_schema
-
-run-test: test
-       TEST_DIR=$(TESTDIR) $(TESTDIR)/run_tests.sh $(OBJDIR)/test_basic 
$(OBJDIR)/test_speed $(OBJDIR)/test_generate $(OBJDIR)/test_schema
-       
-$(OBJDIR)/test_basic: $(TESTDIR)/test_basic.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_basic $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_basic.c $(LD_UCL_FLAGS)
-$(OBJDIR)/test_schema: $(TESTDIR)/test_schema.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_schema $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_schema.c $(LD_UCL_FLAGS)
-$(OBJDIR)/test_speed: $(TESTDIR)/test_speed.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_speed $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_speed.c $(LD_UCL_FLAGS) $(LD_ADD)
-$(OBJDIR)/test_generate: $(TESTDIR)/test_generate.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_generate $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_generate.c $(LD_UCL_FLAGS) $(LD_ADD)
-
-install: $(OBJDIR)/$(SONAME)
-       $(INSTALL) -m0755 $(SONAME) $(DESTDIR)/lib/$(SONAME)
-       $(INSTALL) -m0644 include/ucl.h $(DESTDIR)/include/ucl.h
-
-.PHONY: clean $(OBJDIR)
diff --git a/contrib/libucl/Makefile.w32 b/contrib/libucl/Makefile.w32
deleted file mode 100644
index 5d9398bf1988..000000000000
--- a/contrib/libucl/Makefile.w32
+++ /dev/null
@@ -1,92 +0,0 @@
-CC ?= gcc
-DESTDIR ?= /usr/local
-LD ?= gcc
-C_COMMON_FLAGS ?= -fPIC -Wall -W -Wno-unused-parameter -Wno-pointer-sign 
-I./include -I./uthash -I./src
-MAJOR_VERSION = 0
-MINOR_VERSION = 2
-PATCH_VERSION = 9
-VERSION = "$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)"
-SONAME = libucl.dll
-OBJDIR ?= .obj
-TESTDIR ?= tests
-SRCDIR ?= src
-INCLUDEDIR ?= include
-MKDIR ?= mkdir
-INSTALL ?= install
-RM ?= rm
-RMDIR ?= rmdir
-ifeq (Windows_NT, $(OS))
-LN ?= ln
-else
-LN ?= rem ln
-endif
-LD_SHARED_FLAGS ?= -Wl,-soname,$(SONAME) -shared -lm
-LD_UCL_FLAGS ?= -L$(OBJDIR) -Wl,-rpath,$(OBJDIR) -lucl
-LD_ADD ?= -lrt
-COPT_FLAGS ?= -O2
-HDEPS = $(SRCDIR)/ucl_hash.h \
-               $(SRCDIR)/ucl_chartable.h \
-               $(SRCDIR)/ucl_internal.h \
-               $(INCLUDEDIR)/ucl.h \
-               $(SRCDIR)/mum.h
-OBJECTS = $(OBJDIR)/ucl_hash.o \
-               $(OBJDIR)/ucl_util.o \
-               $(OBJDIR)/ucl_parser.o \
-               $(OBJDIR)/ucl_emitter.o \
-               $(OBJDIR)/ucl_emitter_utils.o \
-               $(OBJDIR)/ucl_schema.o
-
-all: $(OBJDIR) $(OBJDIR)/$(SONAME)
-
-$(OBJDIR)/$(SONAME): $(OBJECTS)
-       $(CC) -o $(OBJDIR)/$(SONAME) $(OBJECTS) $(LD_SHARED_FLAGS) $(LDFLAGS) 
$(SSL_LIBS) $(FETCH_LIBS)
-
-$(OBJDIR):
-       @$(MKDIR) -p $(OBJDIR)
-
-# Compile rules
-$(OBJDIR)/ucl_util.o: $(SRCDIR)/ucl_util.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_util.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_util.c
-$(OBJDIR)/ucl_parser.o: $(SRCDIR)/ucl_parser.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_parser.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_parser.c
-$(OBJDIR)/ucl_emitter.o: $(SRCDIR)/ucl_emitter.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_emitter.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter.c
-$(OBJDIR)/ucl_emitter_utils.o: $(SRCDIR)/ucl_emitter_utils.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_emitter_utils.o $(CPPFLAGS) $(COPT_FLAGS) 
$(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c 
$(SRCDIR)/ucl_emitter_utils.c
-$(OBJDIR)/ucl_hash.o: $(SRCDIR)/ucl_hash.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_hash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_hash.c
-$(OBJDIR)/ucl_schema.o: $(SRCDIR)/ucl_schema.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/ucl_schema.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_schema.c
-$(OBJDIR)/xxhash.o: $(SRCDIR)/xxhash.c $(HDEPS)
-       $(CC) -o $(OBJDIR)/xxhash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/xxhash.c
-
-clean:
-       $(RM) $(OBJDIR)/*.o $(OBJDIR)/$(SONAME) $(OBJDIR)/$(SONAME) 
$(OBJDIR)/chargen $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/objdump 
$(OBJDIR)/test_generate
-       $(RMDIR) $(OBJDIR)
-
-# Utils
-
-chargen: utils/chargen.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/chargen $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/chargen.c
-objdump: utils/objdump.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/objdump $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/objdump.c 
$(LD_UCL_FLAGS)
-
-# Tests
-
-test: $(OBJDIR) $(OBJDIR)/$(SONAME) $(OBJDIR)/test_basic $(OBJDIR)/test_speed 
$(OBJDIR)/test_generate
-
-run-test: test
-       TEST_DIR=$(TESTDIR) $(TESTDIR)/run_tests.sh $(OBJDIR)/test_basic 
$(OBJDIR)/test_speed $(OBJDIR)/test_generate
-
-$(OBJDIR)/test_basic: $(TESTDIR)/test_basic.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_basic $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_basic.c $(LD_UCL_FLAGS)
-$(OBJDIR)/test_speed: $(TESTDIR)/test_speed.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_speed $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_speed.c $(LD_UCL_FLAGS) $(LD_ADD)
-$(OBJDIR)/test_generate: $(TESTDIR)/test_generate.c $(OBJDIR)/$(SONAME)
-       $(CC) -o $(OBJDIR)/test_generate $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) 
$(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) 
$(TESTDIR)/test_generate.c $(LD_UCL_FLAGS) $(LD_ADD)
-
-install: $(OBJDIR)/$(SONAME)
-       $(INSTALL) -m0755 $(SONAME) $(DESTDIR)/lib/$(SONAME)
-       $(INSTALL) -m0644 include/ucl.h $(DESTDIR)/include/ucl.h
-
-.PHONY: clean $(OBJDIR)
diff --git a/contrib/libucl/README.md b/contrib/libucl/README.md
deleted file mode 100644
index 53d8a651d73b..000000000000
--- a/contrib/libucl/README.md
+++ /dev/null
@@ -1,418 +0,0 @@
-# LIBUCL
-
-[![CircleCI](https://circleci.com/gh/vstakhov/libucl.svg?style=svg)](https://circleci.com/gh/vstakhov/libucl)
-[![Coverity](https://scan.coverity.com/projects/4138/badge.svg)](https://scan.coverity.com/projects/4138)
-[![Coverage 
Status](https://coveralls.io/repos/github/vstakhov/libucl/badge.svg?branch=master)](https://coveralls.io/github/vstakhov/libucl?branch=master)
-
-**Table of Contents**  *generated with [DocToc](http://doctoc.herokuapp.com/)*
-
-- [Introduction](#introduction)
-- [Basic structure](#basic-structure)
-- [Improvements to the json notation](#improvements-to-the-json-notation)
-       - [General syntax sugar](#general-syntax-sugar)
-       - [Automatic arrays creation](#automatic-arrays-creation)
-       - [Named keys hierarchy](#named-keys-hierarchy)
-       - [Convenient numbers and booleans](#convenient-numbers-and-booleans)
-- [General improvements](#general-improvements)
-       - [Comments](#comments)
-       - [Macros support](#macros-support)
-       - [Variables support](#variables-support)
-       - [Multiline strings](#multiline-strings)
-       - [Single quoted strings](#single-quoted-strings)
-- [Emitter](#emitter)
-- [Validation](#validation)
-- [Performance](#performance)
-- [Conclusion](#conclusion)
-
-## Introduction
-
-This document describes the main features and principles of the configuration
-language called `UCL` - universal configuration language.
-
-If you are looking for the libucl API documentation you can find it at [this 
page](doc/api.md).
-
-## Basic structure
-
-UCL is heavily infused by `nginx` configuration as the example of a convenient 
configuration
-system. However, UCL is fully compatible with `JSON` format and is able to 
parse json files.
-For example, you can write the same configuration in the following ways:
-
-* in nginx like:
-
-```nginx
-param = value;
-section {
-    param = value;
-    param1 = value1;
-    flag = true;
-    number = 10k;
-    time = 0.2s;
-    string = "something";
-    subsection {
-        host = {
-            host = "hostname";
-            port = 900;
-        }
-        host = {
-            host = "hostname";
-            port = 901;
-        }
-    }
-}
-```
-
-* or in JSON:
-
-```json
-{
-    "param": "value",
-    "section": {
-        "param": "value",
-        "param1": "value1",
-        "flag": true,
-        "number": 10000,
-        "time": "0.2s",
-        "string": "something",
-        "subsection": {
-            "host": [
-                {
-                    "host": "hostname",
-                    "port": 900
-                },
-                {
-                    "host": "hostname",
-                    "port": 901
-                }
-            ]
-        }
-    }
-}
-```
-
-## Improvements to the json notation.
-
-There are various things that make ucl configuration more convenient for 
editing than strict json:
-
-### General syntax sugar
-
*** 6765 LINES SKIPPED ***

Reply via email to