Skip to content

Commit bf2770b

Browse files
committed
update readme with build options
1 parent 45eb433 commit bf2770b

1 file changed

Lines changed: 19 additions & 11 deletions

File tree

README.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
4748
The shared library and development headers can be installed with their respective package manager.
4849

4950
The 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

6159
Configure 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-
6963
Then 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

7886
If Valgrind is installed the test suite can be checked for memory leaks.

0 commit comments

Comments
 (0)