@@ -40,10 +40,11 @@ Just use `const bstring` instead.
4040[ Check ] : https://github.com/libcheck/check
4141[ Valgrind ] : http://valgrind.org/
4242[ Doxygen ] : https://www.doxygen.nl/
43+ [ libFuzzer ] : https://llvm.org/docs/LibFuzzer.html
4344
4445## Get bstring
4546
46- Another advantage of this fork is that unlike the original, it is widely available as a binary package in various distributions.
47+ The bstring library is widely available as a binary package in various distributions.
4748The shared library and development headers can be installed with their respective package manager.
4849
4950The current packaging status as reported by repology.org:
@@ -52,27 +53,34 @@ The current packaging status as reported by repology.org:
5253
5354## Building
5455
55- The bstring library can be built using the [ Meson] [ ] +[ Ninja] [ ] build system.
56-
57- The library itself doesn't have any dependencies beyond a C compiler,
58- but the test suite requires the [ Check] [ ] unit testing framework,
59- while the documentation generation requires [ Doxygen] [ ] .
56+ The bstring library can be built using the [ Meson] [ ] +[ Ninja] [ ] build system and a C compiler.
57+ See the [ Porting Guide] ( https://mike.steinert.ca/bstring/doc/md_porting.html ) for notes on compiler compatibility.
6058
6159Configure the ` build ` directory with Meson.
6260
6361 meson setup build
6462
65- Alternatively, enable building the documentation and test suite.
66-
67- meson setup build -Denable-docs=true -Denable-tests=true
68-
6963Then compile and install.
7064
7165 meson compile -C build
7266 sudo meson install -C build
7367
74- A test suite is available if Check is is installed.
68+ ### Build options
69+
70+ The following build options are available:
71+
72+ - ` enable-utf8 ` (default: ` true ` ): Enable UTF-8 string manipulation functions
73+ - ` enable-docs ` (default: ` false ` ): Generate documentation with [ Doxygen] [ ]
74+ - ` enable-tests ` (default: ` false ` ): Build the test suite with the [ Check] [ ] library
75+ - ` enable-fuzzing ` (default: ` false ` ): Build the fuzzing targets with [ libFuzzer] [ ]
76+ - ` enable-bgets-workaround ` (default: ` false ` ): Avoid namespace conflict with the ` bgets ` function in the standard C library (notably: Solaris)
77+ - ` enable-old-api ` (default: ` false ` ): Enable backward compatibility macros for pre-1.0 API
78+
79+ ### Testing
80+
81+ A test suite is available if the [ Check] [ ] library is is installed.
7582
83+ meson setup build -Denable-docs=true
7684 meson test -C build
7785
7886If Valgrind is installed the test suite can be checked for memory leaks.
0 commit comments