git: 6dcc931d2b00 - stable/15 - contrib/lutok: update from 0.4 to 0.6.2
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 01 Oct 2026 06:33:12 UTC
The branch stable/15 has been updated by ngie:
URL: https://cgit.FreeBSD.org/src/commit/?id=6dcc931d2b004aac7e92246fb004eb0547343bed
commit 6dcc931d2b004aac7e92246fb004eb0547343bed
Author: Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-08-31 16:29:06 +0000
Commit: Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-01 06:32:15 +0000
contrib/lutok: update from 0.4 to 0.6.2
More information about what's included in the new release can be found
[here](https://github.com/freebsd/lutok/compare/lutok-0.4...lutok-0.6.2).
MFC after: 1 week
Merge commit '447d4fe61d8bf55ffa21698ecee0ac51010a9a0f'
(cherry picked from commit 132f818ddbf457ee67d502cd89b5a18e0a34713d)
---
contrib/lutok/.gitignore | 21 -
contrib/lutok/.travis.yml | 25 -
contrib/lutok/INSTALL | 181 -
contrib/lutok/INSTALL.md | 182 +
contrib/lutok/Makefile.am | 6 +-
contrib/lutok/Makefile.in | 1574 ++
contrib/lutok/NEWS | 74 +-
contrib/lutok/{README => README.md} | 16 +-
contrib/lutok/aclocal.m4 | 1733 ++
contrib/lutok/admin/.gitignore | 8 -
contrib/lutok/admin/ar-lib | 279 +
contrib/lutok/admin/clean-all.sh | 90 -
contrib/lutok/admin/compile | 351 +
contrib/lutok/admin/config.guess | 1480 ++
contrib/lutok/admin/config.sub | 1802 ++
contrib/lutok/admin/depcomp | 792 +
contrib/lutok/admin/install-sh | 541 +
contrib/lutok/admin/ltmain.sh | 11524 +++++++++
contrib/lutok/admin/missing | 236 +
contrib/lutok/admin/travis-build.sh | 51 -
contrib/lutok/admin/travis-install-deps.sh | 109 -
contrib/lutok/api-docs/html/a00002.html | 99 +
contrib/lutok/api-docs/html/a00002_source.html | 168 +
contrib/lutok/api-docs/html/a00029.html | 132 +
contrib/lutok/api-docs/html/a00029_source.html | 247 +
contrib/lutok/api-docs/html/a00032.html | 98 +
contrib/lutok/api-docs/html/a00032_source.html | 143 +
contrib/lutok/api-docs/html/a00038.html | 338 +
contrib/lutok/api-docs/html/a00038_source.html | 138 +
contrib/lutok/api-docs/html/a00041.html | 99 +
contrib/lutok/api-docs/html/a00041_source.html | 148 +
contrib/lutok/api-docs/html/a00053.html | 105 +
contrib/lutok/api-docs/html/a00053_source.html | 169 +
contrib/lutok/api-docs/html/a00056.html | 165 +
contrib/lutok/api-docs/html/a00056_source.html | 198 +
contrib/lutok/api-docs/html/a00064.html | 172 +
contrib/lutok/api-docs/html/a00065.html | 430 +
contrib/lutok/api-docs/html/a00066.html | 363 +
contrib/lutok/api-docs/html/a00067.html | 134 +
contrib/lutok/api-docs/html/a00880.html | 93 +
contrib/lutok/api-docs/html/a00883.html | 235 +
contrib/lutok/api-docs/html/a00884.html | 89 +
contrib/lutok/api-docs/html/a00887.html | 104 +
contrib/lutok/api-docs/html/a00888.html | 103 +
contrib/lutok/api-docs/html/a00891.html | 450 +
contrib/lutok/api-docs/html/a00892.html | 90 +
contrib/lutok/api-docs/html/a00895.html | 155 +
contrib/lutok/api-docs/html/a00895.png | Bin 0 -> 1584 bytes
contrib/lutok/api-docs/html/a00896.html | 95 +
contrib/lutok/api-docs/html/a00899.html | 261 +
contrib/lutok/api-docs/html/a00899.png | Bin 0 -> 914 bytes
contrib/lutok/api-docs/html/a00900.html | 94 +
contrib/lutok/api-docs/html/a00903.html | 195 +
contrib/lutok/api-docs/html/a00903.png | Bin 0 -> 1106 bytes
contrib/lutok/api-docs/html/a00904.html | 91 +
contrib/lutok/api-docs/html/a00907.html | 161 +
contrib/lutok/api-docs/html/a00908.html | 94 +
contrib/lutok/api-docs/html/a00911.html | 214 +
contrib/lutok/api-docs/html/a00912.html | 91 +
contrib/lutok/api-docs/html/a00915.html | 161 +
contrib/lutok/api-docs/html/a00916.html | 139 +
contrib/lutok/api-docs/html/a00919.html | 1657 ++
contrib/lutok/api-docs/html/a00920.html | 93 +
contrib/lutok/api-docs/html/a00923.html | 201 +
contrib/lutok/api-docs/html/annotated.html | 98 +
contrib/lutok/api-docs/html/bc_s.png | Bin 0 -> 676 bytes
contrib/lutok/api-docs/html/bc_sd.png | Bin 0 -> 635 bytes
contrib/lutok/api-docs/html/bdwn.png | Bin 0 -> 147 bytes
contrib/lutok/api-docs/html/classes.html | 102 +
contrib/lutok/api-docs/html/closed.png | Bin 0 -> 132 bytes
contrib/lutok/api-docs/html/doc.png | Bin 0 -> 746 bytes
contrib/lutok/api-docs/html/docd.png | Bin 0 -> 756 bytes
contrib/lutok/api-docs/html/doxygen.css | 2007 ++
contrib/lutok/api-docs/html/doxygen.svg | 26 +
contrib/lutok/api-docs/html/dynsections.js | 123 +
contrib/lutok/api-docs/html/files.html | 92 +
contrib/lutok/api-docs/html/folderclosed.png | Bin 0 -> 616 bytes
contrib/lutok/api-docs/html/folderopen.png | Bin 0 -> 597 bytes
contrib/lutok/api-docs/html/functions.html | 243 +
contrib/lutok/api-docs/html/functions_func.html | 228 +
contrib/lutok/api-docs/html/functions_vars.html | 91 +
contrib/lutok/api-docs/html/globals.html | 81 +
contrib/lutok/api-docs/html/globals_defs.html | 81 +
contrib/lutok/api-docs/html/hierarchy.html | 98 +
contrib/lutok/api-docs/html/index.html | 81 +
contrib/lutok/api-docs/html/jquery.js | 34 +
contrib/lutok/api-docs/html/menu.js | 136 +
contrib/lutok/api-docs/html/menudata.js | 79 +
contrib/lutok/api-docs/html/namespacemembers.html | 97 +
.../lutok/api-docs/html/namespacemembers_func.html | 97 +
contrib/lutok/api-docs/html/namespaces.html | 90 +
contrib/lutok/api-docs/html/nav_f.png | Bin 0 -> 153 bytes
contrib/lutok/api-docs/html/nav_fd.png | Bin 0 -> 169 bytes
contrib/lutok/api-docs/html/nav_g.png | Bin 0 -> 95 bytes
contrib/lutok/api-docs/html/nav_h.png | Bin 0 -> 98 bytes
contrib/lutok/api-docs/html/nav_hd.png | Bin 0 -> 114 bytes
contrib/lutok/api-docs/html/open.png | Bin 0 -> 123 bytes
contrib/lutok/api-docs/html/search/all_0.js | 9 +
contrib/lutok/api-docs/html/search/all_1.js | 9 +
contrib/lutok/api-docs/html/search/all_10.js | 4 +
contrib/lutok/api-docs/html/search/all_11.js | 4 +
contrib/lutok/api-docs/html/search/all_12.js | 11 +
contrib/lutok/api-docs/html/search/all_2.js | 17 +
contrib/lutok/api-docs/html/search/all_3.js | 7 +
contrib/lutok/api-docs/html/search/all_4.js | 7 +
contrib/lutok/api-docs/html/search/all_5.js | 7 +
contrib/lutok/api-docs/html/search/all_6.js | 11 +
contrib/lutok/api-docs/html/search/all_7.js | 5 +
contrib/lutok/api-docs/html/search/all_8.js | 13 +
contrib/lutok/api-docs/html/search/all_9.js | 9 +
contrib/lutok/api-docs/html/search/all_a.js | 10 +
contrib/lutok/api-docs/html/search/all_b.js | 11 +
contrib/lutok/api-docs/html/search/all_c.js | 17 +
contrib/lutok/api-docs/html/search/all_d.js | 10 +
contrib/lutok/api-docs/html/search/all_e.js | 15 +
contrib/lutok/api-docs/html/search/all_f.js | 9 +
contrib/lutok/api-docs/html/search/classes_0.js | 4 +
contrib/lutok/api-docs/html/search/classes_1.js | 4 +
contrib/lutok/api-docs/html/search/classes_2.js | 4 +
contrib/lutok/api-docs/html/search/classes_3.js | 4 +
contrib/lutok/api-docs/html/search/classes_4.js | 4 +
contrib/lutok/api-docs/html/search/classes_5.js | 7 +
contrib/lutok/api-docs/html/search/close.svg | 31 +
contrib/lutok/api-docs/html/search/defines_0.js | 4 +
contrib/lutok/api-docs/html/search/files_0.js | 4 +
contrib/lutok/api-docs/html/search/files_1.js | 4 +
contrib/lutok/api-docs/html/search/files_2.js | 4 +
contrib/lutok/api-docs/html/search/files_3.js | 4 +
contrib/lutok/api-docs/html/search/files_4.js | 5 +
contrib/lutok/api-docs/html/search/files_5.js | 4 +
contrib/lutok/api-docs/html/search/functions_0.js | 5 +
contrib/lutok/api-docs/html/search/functions_1.js | 15 +
contrib/lutok/api-docs/html/search/functions_10.js | 4 +
contrib/lutok/api-docs/html/search/functions_11.js | 11 +
contrib/lutok/api-docs/html/search/functions_2.js | 6 +
contrib/lutok/api-docs/html/search/functions_3.js | 6 +
contrib/lutok/api-docs/html/search/functions_4.js | 7 +
contrib/lutok/api-docs/html/search/functions_5.js | 11 +
contrib/lutok/api-docs/html/search/functions_6.js | 5 +
contrib/lutok/api-docs/html/search/functions_7.js | 13 +
contrib/lutok/api-docs/html/search/functions_8.js | 7 +
contrib/lutok/api-docs/html/search/functions_9.js | 10 +
contrib/lutok/api-docs/html/search/functions_a.js | 8 +
contrib/lutok/api-docs/html/search/functions_b.js | 17 +
contrib/lutok/api-docs/html/search/functions_c.js | 8 +
contrib/lutok/api-docs/html/search/functions_d.js | 12 +
contrib/lutok/api-docs/html/search/functions_e.js | 8 +
contrib/lutok/api-docs/html/search/functions_f.js | 4 +
contrib/lutok/api-docs/html/search/mag.svg | 37 +
contrib/lutok/api-docs/html/search/mag_d.svg | 37 +
contrib/lutok/api-docs/html/search/mag_sel.svg | 74 +
contrib/lutok/api-docs/html/search/mag_seld.svg | 74 +
contrib/lutok/api-docs/html/search/namespaces_0.js | 7 +
contrib/lutok/api-docs/html/search/search.css | 291 +
contrib/lutok/api-docs/html/search/search.js | 816 +
contrib/lutok/api-docs/html/search/searchdata.js | 36 +
contrib/lutok/api-docs/html/search/typedefs_0.js | 4 +
contrib/lutok/api-docs/html/search/variables_0.js | 9 +
contrib/lutok/api-docs/html/search/variables_1.js | 5 +
contrib/lutok/api-docs/html/search/variables_2.js | 5 +
contrib/lutok/api-docs/html/search/variables_3.js | 4 +
contrib/lutok/api-docs/html/search/variables_4.js | 4 +
contrib/lutok/api-docs/html/splitbar.png | Bin 0 -> 314 bytes
contrib/lutok/api-docs/html/splitbard.png | Bin 0 -> 282 bytes
contrib/lutok/api-docs/html/sync_off.png | Bin 0 -> 853 bytes
contrib/lutok/api-docs/html/sync_on.png | Bin 0 -> 845 bytes
contrib/lutok/api-docs/html/tab_a.png | Bin 0 -> 142 bytes
contrib/lutok/api-docs/html/tab_ad.png | Bin 0 -> 135 bytes
contrib/lutok/api-docs/html/tab_b.png | Bin 0 -> 169 bytes
contrib/lutok/api-docs/html/tab_bd.png | Bin 0 -> 173 bytes
contrib/lutok/api-docs/html/tab_h.png | Bin 0 -> 177 bytes
contrib/lutok/api-docs/html/tab_hd.png | Bin 0 -> 180 bytes
contrib/lutok/api-docs/html/tab_s.png | Bin 0 -> 184 bytes
contrib/lutok/api-docs/html/tab_sd.png | Bin 0 -> 188 bytes
contrib/lutok/api-docs/html/tabs.css | 1 +
contrib/lutok/config.h.in | 66 +
contrib/lutok/configure | 23387 +++++++++++++++++++
contrib/lutok/configure.ac | 38 +-
contrib/lutok/debug.hpp | 8 -
contrib/lutok/examples_test.sh | 0
contrib/lutok/m4/.gitignore | 5 -
contrib/lutok/m4/ac_cxx_compile_stdcxx.m4 | 1070 +
contrib/lutok/m4/atf-c++.m4 | 44 +
contrib/lutok/m4/atf-common.m4 | 88 +
contrib/lutok/m4/atf-sh.m4 | 49 +
contrib/lutok/m4/compiler-features.m4 | 100 -
contrib/lutok/m4/libtool.m4 | 8488 +++++++
contrib/lutok/m4/ltoptions.m4 | 467 +
contrib/lutok/m4/ltsugar.m4 | 124 +
contrib/lutok/m4/ltversion.m4 | 24 +
contrib/lutok/m4/lt~obsolete.m4 | 99 +
contrib/lutok/m4/lua.m4 | 49 +-
contrib/lutok/stack_cleaner.hpp | 4 +-
contrib/lutok/state.cpp | 4 +-
contrib/lutok/state.hpp | 11 +-
195 files changed, 68447 insertions(+), 682 deletions(-)
diff --git a/contrib/lutok/.gitignore b/contrib/lutok/.gitignore
deleted file mode 100644
index f1e0159d4427..000000000000
--- a/contrib/lutok/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-*.la
-*.lo
-*.o
-*_test
-
-.deps
-.libs
-Doxyfile
-Makefile
-Makefile.in
-aclocal.m4
-api-docs
-autom4te.cache
-config.h
-config.h.in
-config.log
-config.status
-configure
-libtool
-lutok.pc
-stamp-h1
diff --git a/contrib/lutok/.travis.yml b/contrib/lutok/.travis.yml
deleted file mode 100644
index 1e2fb77df152..000000000000
--- a/contrib/lutok/.travis.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-language: cpp
-
-compiler:
- - gcc
- - clang
-
-before_install:
- - ./admin/travis-install-deps.sh
-
-env:
- - ARCH=amd64 AS_ROOT=no
- - ARCH=amd64 AS_ROOT=yes
- - ARCH=i386 AS_ROOT=no
-
-matrix:
- exclude:
- - compiler: clang
- env: ARCH=i386 AS_ROOT=no
-
-script:
- - ./admin/travis-build.sh
-
-notifications:
- email:
- - lutok-log@googlegroups.com
diff --git a/contrib/lutok/INSTALL b/contrib/lutok/INSTALL
deleted file mode 100644
index 890b0e1b05af..000000000000
--- a/contrib/lutok/INSTALL
+++ /dev/null
@@ -1,181 +0,0 @@
-Introduction
-============
-
-Lutok uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as
-its build system. These are used only when compiling the library from
-the source code package. If you want to install Lutok from a binary
-package, you do not need to read this document.
-
-For the impatient:
-
- $ ./configure
- $ make
- $ make check
- Gain root privileges
- # make install
- Drop root privileges
- $ make installcheck
-
-Or alternatively, install as a regular user into your home directory:
-
- $ ./configure --prefix ~/local
- $ make
- $ make check
- $ make install
- $ make installcheck
-
-
-Dependencies
-============
-
-To build and use Lutok successfully you need:
-
-* A standards-compliant C++ complier.
-* Lua 5.1 or greater.
-* pkg-config.
-
-Optionally, if you want to build and run the tests (recommended), you
-need:
-
-* Kyua 0.5 or greater.
-* ATF 0.15 or greater.
-
-If you are building Lutok from the code on the repository, you will also
-need the following tools:
-
-* GNU Autoconf.
-* GNU Automake.
-* GNU Libtool.
-
-
-Regenerating the build system
-=============================
-
-This is not necessary if you are building from a formal release
-distribution file.
-
-On the other hand, if you are building Lutok from code extracted from
-the repository, you must first regenerate the files used by the build
-system. You will also need to do this if you modify configure.ac,
-Makefile.am or any of the other build system files. To do this, simply
-run:
-
- $ autoreconf -i -s
-
-If ATF is installed in a different prefix than Autoconf, you will also
-need to tell autoreconf where the ATF M4 macros are located. Otherwise,
-the configure script will be incomplete and will show confusing syntax
-errors mentioning, for example, ATF_CHECK_SH. To fix this, you have
-to run autoreconf in the following manner, replacing '<atf-prefix>' with
-the appropriate path:
-
- $ autoreconf -i -s -I <atf-prefix>/share/aclocal
-
-
-General build procedure
-=======================
-
-To build and install the source package, you must follow these steps:
-
-1. Configure the sources to adapt to your operating system. This is
- done using the 'configure' script located on the sources' top
- directory, and it is usually invoked without arguments unless you
- want to change the installation prefix. More details on this
- procedure are given on a later section.
-
-2. Build the sources to generate the binaries and scripts. Simply run
- 'make' on the sources' top directory after configuring them. No
- problems should arise.
-
-3. Install the library by running 'make install'. You may need to
- become root to issue this step.
-
-4. Issue any manual installation steps that may be required. These are
- described later in their own section.
-
-5. Check that the installed library works by running 'make
- installcheck'. You do not need to be root to do this.
-
-
-Configuration flags
-===================
-
-The most common, standard flags given to 'configure' are:
-
-* --prefix=directory
- Possible values: Any path
- Default: /usr/local
-
- Specifies where the library (binaries and all associated files) will
- be installed.
-
-* --help
- Shows information about all available flags and exits immediately,
- without running any configuration tasks.
-
-The following flags are specific to Lutok's 'configure' script:
-
-* --enable-developer
- Possible values: yes, no
- Default: 'yes' in Git HEAD builds; 'no' in formal releases.
-
- Enables several features useful for development, such as the inclusion
- of debugging symbols in all objects or the enforcement of compilation
- warnings.
-
- The compiler will be executed with an exhaustive collection of warning
- detection features regardless of the value of this flag. However, such
- warnings are only fatal when --enable-developer is 'yes'.
-
-* --with-atf
- Possible values: yes, no, auto.
- Default: auto.
-
- Enables usage of ATF to build (and later install) the tests.
-
- Setting this to 'yes' causes the configure script to look for ATF
- unconditionally and abort if not found. Setting this to 'auto' lets
- configure perform the best decision based on availability of ATF.
- Setting this to 'no' explicitly disables ATF usage.
-
- When support for tests is enabled, the build process will generate the
- test programs and will later install them into the tests tree.
- Running 'make check' or 'make installcheck' from within the source
- directory will cause these tests to be run with Kyua (assuming it is
- also installed).
-
-* --with-doxygen
- Possible values: yes, no, auto or a path.
- Default: auto.
-
- Enables usage of Doxygen to generate documentation for internal APIs.
-
- Setting this to 'yes' causes the configure script to look for Doxygen
- unconditionally and abort if not found. Setting this to 'auto' lets
- configure perform the best decision based on availability of Doxygen.
- Setting this to 'no' explicitly disables Doxygen usage. And, lastly,
- setting this to a path forces configure to use a specific Doxygen
- binary, which must exist.
-
- When support for Doxygen is enabled, the build process will generate
- HTML documentation for the Lutok API. This documentation will later
- be installed in the HTML directory specified by the configure script.
- You can change the location of the HTML documents by providing your
- desired override with the '--htmldir' flag to the configure script.
-
-
-Run the tests!
-==============
-
-Lastly, after a successful installation (and assuming you built the
-sources with support for ATF), you should periodically run the tests
-from the final location to ensure things remain stable. Do so as
-follows:
-
- $ kyua test -k /usr/local/tests/lutok/Kyuafile
-
-And if you see any tests fail, do not hesitate to report them in:
-
- https://github.com/jmmv/lutok/issues/
-
-Thank you!
diff --git a/contrib/lutok/INSTALL.md b/contrib/lutok/INSTALL.md
new file mode 100644
index 000000000000..3bed7c1f556c
--- /dev/null
+++ b/contrib/lutok/INSTALL.md
@@ -0,0 +1,182 @@
+# Introduction
+
+Lutok uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as
+its build system. These are used only when compiling the library from
+the source code package. If you want to install Lutok from a binary
+package, you do not need to read this document.
+
+For the impatient:
+
+```shell
+$ ./configure
+$ make
+$ make check
+$ sudo make install # or `make install` with root privileges
+$ make installcheck
+```
+
+Or alternatively, install as a regular user into your home directory:
+
+```shell
+$ ./configure --prefix ~/local
+$ make
+$ make check
+$ make install
+$ make installcheck
+```
+
+# Dependencies
+
+To build and use Lutok successfully you need:
+
+* A C++-11 standards-compliant compiler.
+* Lua 5.1 or greater.
+* pkg-config or an equivalent tool, e.g., pkgconf.
+
+Optionally, if you want to build and run the tests (recommended), you
+need:
+
+* Kyua 0.5 or greater.
+* ATF 0.15 or greater.
+
+If you are building Lutok from the code on the repository, you will also
+need the following tools:
+
+* GNU Autoconf 2.68 (or later).
+* GNU Automake 1.9 (or later).
+* GNU Libtool.
+
+
+# Regenerating the build system
+
+This is not necessary if you are building from a formal release
+distribution file.
+
+On the other hand, if you are building Lutok from code extracted from
+the repository, you must first regenerate the files used by the build
+system. You will also need to do this if you modify `configure.ac`,
+`Makefile.am`, or any of the other build system files. To do this, simply
+run:
+
+```shell
+$ autoreconf -i -s
+```
+
+If ATF is installed in a different prefix than `autoconf`, you will also
+need to tell `autoreconf` where the ATF m4 macros are located. Otherwise,
+the `configure` script will be incomplete and will show confusing syntax
+errors mentioning, for example, `ATF_CHECK_SH`. To fix this, you have
+to run `autoreconf` in the following manner, replacing `<atf-prefix>` with
+the appropriate path:
+
+```shell
+$ autoreconf -i -s -I <atf-prefix>/share/aclocal
+```
+
+# General build procedure
+
+To build and install the source package, you must follow these steps:
+
+#. Configure the sources to adapt to your operating system. This is
+ done using the `configure` script located on the sources' top
+ directory, and it is usually invoked without arguments unless you
+ want to change the installation prefix. More details on this
+ procedure are given on a later section.
+
+#. Build the sources to generate the binaries and scripts. Simply run
+ `make` on the sources' top directory after configuring them. No
+ problems should arise.
+
+#. Install the library by running `make install`. You may need to
+ become root to issue this step.
+
+#. Issue any manual installation steps that may be required. These are
+ described later in their own section.
+
+#. Check that the installed library works by running `make installcheck`.
+ You do not need to be root to do this.
+
+
+# Configuration flags
+
+The most common, standard flags given to `configure` are:
+
+- `--prefix=directory`
+ - **Possible values**: any path
+ - **Default**: "/usr/local"
+
+ Specifies where the library (binaries and all associated files) will
+ be installed.
+
+- `--help`
+ Shows information about all available flags and exits immediately,
+ without running any configuration tasks.
+
+The following flags are specific to Lutok's `configure` script:
+
+- `--enable-developer`
+ - **Possible values**: "yes", "no"
+ - **Default**: "yes" in Git HEAD builds; "no" in formal releases.
+
+ Enables several features useful for development, such as the inclusion
+ of debugging symbols in all objects or the enforcement of compilation
+ warnings.
+
+ The compiler will be executed with an exhaustive collection of warning
+ detection features regardless of the value of this flag. However, such
+ warnings are only fatal when `--enable-developer` is set to "yes".
+
+- `--enable-atf`
+ - **Possible values**: "yes", "no", "auto".
+ - **Default**: "auto"
+
+ Enables usage of ATF to build (and later install) the tests.
+
+ Setting this to "yes" causes the `configure` script to look for ATF
+ unconditionally and abort if not found. Setting this to "auto" lets
+ `configure` perform the best decision based on availability of ATF.
+ Setting this to "no" explicitly disables ATF usage.
+
+ When support for tests is enabled, the build process will generate the
+ test programs and will later install them into the tests tree.
+ Running `make check` or `make installcheck` from within the source
+ directory will cause these tests to be run with Kyua (assuming it is
+ also installed).
+
+- `--with-doxygen`
+ - **Possible values**: "yes", "no", "auto", or a path.
+ - **Default**: "auto".
+
+ Enables usage of Doxygen to generate documentation for internal APIs.
+
+ Setting this to "yes" causes the `configure` script to look for Doxygen
+ unconditionally and abort if not found. Setting this to "auto" lets
+ `configure` perform the best decision based on availability of Doxygen.
+ Setting this to "no" explicitly disables Doxygen usage. And, lastly,
+ setting this to a path forces `configure` to use a specific Doxygen
+ binary, which must exist.
+
+ When support for Doxygen is enabled, the build process will generate
+ HTML documentation for the Lutok API. This documentation will later
+ be installed in the HTML directory specified by the `configure` script.
+ You can change the location of the HTML documents by providing your
+ desired override with the `--htmldir` flag to the `configure` script.
+
+
+Run the tests!
+==============
+
+Lastly, after a successful installation (and assuming you built the
+sources with support for ATF), you should periodically run the tests
+from the final location to ensure things remain stable. Do so as
+follows:
+
+```shell
+$ kyua test -k /usr/local/tests/lutok/Kyuafile
+```
+
+And if you see any tests fail, do not hesitate to report them in:
+
+ https://github.com/freebsd/lutok/issues/
+
+Thank you!
diff --git a/contrib/lutok/Makefile.am b/contrib/lutok/Makefile.am
index ec7e87814548..64f8304bd480 100644
--- a/contrib/lutok/Makefile.am
+++ b/contrib/lutok/Makefile.am
@@ -28,9 +28,9 @@
ACLOCAL_AMFLAGS = -I m4
-doc_DATA = AUTHORS COPYING NEWS README
-noinst_DATA = INSTALL README
-EXTRA_DIST = $(doc_DATA) INSTALL README
+doc_DATA = AUTHORS COPYING NEWS README.md
+noinst_DATA = INSTALL.md README.md
+EXTRA_DIST = $(doc_DATA) INSTALL.md README.md
LUTOK_CFLAGS = -I$(srcdir)/include $(LUA_CFLAGS)
LUTOK_LIBS = liblutok.la $(LUA_LIBS)
diff --git a/contrib/lutok/Makefile.in b/contrib/lutok/Makefile.in
new file mode 100644
index 000000000000..bf7c4021eabc
--- /dev/null
+++ b/contrib/lutok/Makefile.in
@@ -0,0 +1,1574 @@
+# Makefile.in generated by automake 1.17 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2024 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Copyright 2010 Google Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of Google Inc. nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+am__rm_f = rm -f $(am__rm_f_notfound)
+am__rm_rf = rm -rf $(am__rm_f_notfound)
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@WITH_ATF_TRUE@am__append_1 = $(tests_DATA) examples_test.sh
+@WITH_ATF_TRUE@tests_PROGRAMS = c_gate_test$(EXEEXT) \
+@WITH_ATF_TRUE@ debug_test$(EXEEXT) exceptions_test$(EXEEXT) \
+@WITH_ATF_TRUE@ operations_test$(EXEEXT) \
+@WITH_ATF_TRUE@ stack_cleaner_test$(EXEEXT) state_test$(EXEEXT)
+@WITH_ATF_TRUE@am__append_2 = examples_test
+@HAVE_KYUA_TRUE@@WITH_ATF_TRUE@am__append_3 = check-kyua \
+@HAVE_KYUA_TRUE@@WITH_ATF_TRUE@ installcheck-kyua
+@WITH_ATF_FALSE@am__append_4 = dist-no-atf
+@WITH_ATF_FALSE@am__append_5 = dist-no-atf
+@WITH_DOXYGEN_TRUE@am__append_6 = clean-api-docs
+@WITH_DOXYGEN_TRUE@am__append_7 = api-docs/html
+@WITH_DOXYGEN_FALSE@am__append_8 = dist-no-doxygen
+@WITH_DOXYGEN_FALSE@am__append_9 = dist-no-doxygen
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_compile_stdcxx.m4 \
+ $(top_srcdir)/m4/atf-c++.m4 $(top_srcdir)/m4/atf-common.m4 \
+ $(top_srcdir)/m4/atf-sh.m4 $(top_srcdir)/m4/compiler-flags.m4 \
+ $(top_srcdir)/m4/developer-mode.m4 $(top_srcdir)/m4/doxygen.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/lua.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(pkginclude_HEADERS) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = Doxyfile
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testsdir)" "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(testsdir)" "$(DESTDIR)$(docdir)" \
+ "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(testsdir)" "$(DESTDIR)$(pkgincludedir)"
+PROGRAMS = $(tests_PROGRAMS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
+ }
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+liblutok_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_liblutok_la_OBJECTS = liblutok_la-c_gate.lo liblutok_la-debug.lo \
+ liblutok_la-exceptions.lo liblutok_la-operations.lo \
+ liblutok_la-stack_cleaner.lo liblutok_la-state.lo
+liblutok_la_OBJECTS = $(am_liblutok_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+liblutok_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(liblutok_la_LDFLAGS) $(LDFLAGS) -o $@
+am__c_gate_test_SOURCES_DIST = c_gate_test.cpp test_utils.hpp
+@WITH_ATF_TRUE@am_c_gate_test_OBJECTS = \
+@WITH_ATF_TRUE@ c_gate_test-c_gate_test.$(OBJEXT)
+c_gate_test_OBJECTS = $(am_c_gate_test_OBJECTS)
+am__DEPENDENCIES_2 = liblutok.la $(am__DEPENDENCIES_1)
+@WITH_ATF_TRUE@c_gate_test_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@WITH_ATF_TRUE@ $(am__DEPENDENCIES_1)
+c_gate_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(c_gate_test_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__debug_test_SOURCES_DIST = debug_test.cpp test_utils.hpp
+@WITH_ATF_TRUE@am_debug_test_OBJECTS = \
+@WITH_ATF_TRUE@ debug_test-debug_test.$(OBJEXT)
+debug_test_OBJECTS = $(am_debug_test_OBJECTS)
+@WITH_ATF_TRUE@debug_test_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@WITH_ATF_TRUE@ $(am__DEPENDENCIES_1)
+debug_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(debug_test_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__exceptions_test_SOURCES_DIST = exceptions_test.cpp
+@WITH_ATF_TRUE@am_exceptions_test_OBJECTS = \
+@WITH_ATF_TRUE@ exceptions_test-exceptions_test.$(OBJEXT)
+exceptions_test_OBJECTS = $(am_exceptions_test_OBJECTS)
+@WITH_ATF_TRUE@exceptions_test_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@WITH_ATF_TRUE@ $(am__DEPENDENCIES_1)
+exceptions_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(exceptions_test_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__operations_test_SOURCES_DIST = operations_test.cpp test_utils.hpp
+@WITH_ATF_TRUE@am_operations_test_OBJECTS = \
+@WITH_ATF_TRUE@ operations_test-operations_test.$(OBJEXT)
+operations_test_OBJECTS = $(am_operations_test_OBJECTS)
+@WITH_ATF_TRUE@operations_test_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@WITH_ATF_TRUE@ $(am__DEPENDENCIES_1)
+operations_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(operations_test_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__stack_cleaner_test_SOURCES_DIST = stack_cleaner_test.cpp \
+ test_utils.hpp
+@WITH_ATF_TRUE@am_stack_cleaner_test_OBJECTS = stack_cleaner_test-stack_cleaner_test.$(OBJEXT)
+stack_cleaner_test_OBJECTS = $(am_stack_cleaner_test_OBJECTS)
+@WITH_ATF_TRUE@stack_cleaner_test_DEPENDENCIES = \
+@WITH_ATF_TRUE@ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
+stack_cleaner_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(stack_cleaner_test_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__state_test_SOURCES_DIST = state_test.cpp test_utils.hpp
+@WITH_ATF_TRUE@am_state_test_OBJECTS = \
+@WITH_ATF_TRUE@ state_test-state_test.$(OBJEXT)
+state_test_OBJECTS = $(am_state_test_OBJECTS)
+@WITH_ATF_TRUE@state_test_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@WITH_ATF_TRUE@ $(am__DEPENDENCIES_1)
+state_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(state_test_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SCRIPTS = $(tests_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/c_gate_test-c_gate_test.Po \
+ ./$(DEPDIR)/debug_test-debug_test.Po \
+ ./$(DEPDIR)/exceptions_test-exceptions_test.Po \
+ ./$(DEPDIR)/liblutok_la-c_gate.Plo \
+ ./$(DEPDIR)/liblutok_la-debug.Plo \
+ ./$(DEPDIR)/liblutok_la-exceptions.Plo \
+ ./$(DEPDIR)/liblutok_la-operations.Plo \
+ ./$(DEPDIR)/liblutok_la-stack_cleaner.Plo \
+ ./$(DEPDIR)/liblutok_la-state.Plo \
+ ./$(DEPDIR)/operations_test-operations_test.Po \
+ ./$(DEPDIR)/stack_cleaner_test-stack_cleaner_test.Po \
+ ./$(DEPDIR)/state_test-state_test.Po
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
*** 69603 LINES SKIPPED ***