From 0f71ad9bd98bb5e8c7c6fadb148cee2e5a73d251 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 22 Jan 2022 22:18:18 +0500 Subject: [PATCH] Configuration options now follow semver --- ChangeLog | 1 + README.md | 33 +++++++++++++++++++-------------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 79af0bd..b03b59e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2022-01-22 Alex Kotov * include/kernaux/assert.h: Do not allow to disable guards separately + * README.md: Configuration options now follow semver 2022-01-21 Alex Kotov diff --git a/README.md b/README.md index 1017861..95fe626 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,10 @@ Table of contents * [Overview](#libkernaux) * [Table of contents](#table-of-contents) * [API](#api) -* [Tips](#tips) +* [Configuration](#configuration) * [Non-default options](#non-default-options) * [Default options](#default-options) +* [Tips](#tips) * [Installation](#installation) * [Development](#development) * [Cross](#cross) @@ -72,14 +73,18 @@ zero). Work-in-progress APIs can change at any time. -Tips ----- +Configuration +------------- + +Because this library has no external dependencies, we use **autoconf** features +to control behavior of the library, and packages to choose it's components. +Configuration options also follow the [semantic versioning](https://semver.org) +scheme and are split into stable and work-on-progress ones. Here we cover only +stable options. ### Non-default options -Because this library has no external dependencies, we use **autoconf** features -to control behavior of the library, and packages to choose it's components. Here -are some non-default options: +#### Features * `--enable-assert` - use value of extern variable `kernaux_assert_cb` as a callback function for internal assertions. You still can use assertions in @@ -88,6 +93,9 @@ are some non-default options: disabled. This option doesn't have effect if your assetion function was set and ends execution of application (kernel). However it prevents crashes and undefined behavior in other cases. + +#### Packages + * `--with-libc` - provides the replacement for some standard C functions. Useful in freestanding environment, where no libc is present. You can also separately include or exclude components: @@ -108,16 +116,13 @@ are some non-default options: All packages all included by default. To exclude all packages except those explicitly included, use `--without-all`. -* `--with[out]-cmdline` -* `--with[out]-console` -* `--with[out]-elf` -* `--with[out]-framebuffer` -* `--with[out]-mbr` -* `--with[out]-multiboot2` * `--with[out]-ntoa` * `--with[out]-printf` -* `--with[out]-pfa` -* `--with[out]-units` + + + +Tips +---- ### Installation