summaryrefslogtreecommitdiff
path: root/doc/mcpu-cpp-en.md
diff options
context:
space:
mode:
authorkx <kx@radix-linux.su>2026-10-02 08:45:51 +0300
committerkx <kx@radix-linux.su>2026-10-02 08:45:51 +0300
commit9d5894a43e3b4dcc4c3b2756b289aba51eef6c63 (patch)
tree5df3a0f2d7c387180da675aec606e276c0d76f11 /doc/mcpu-cpp-en.md
parentba1b04d64bdfaf377915b22f77520216ebe47674 (diff)
downloadmcpu-cpp-9d5894a43e3b4dcc4c3b2756b289aba51eef6c63.tar.xz
Move per-user configuration to /home/kx/.mcpu/etc/mcpu-cpp.conf and add --sys-root=PATH
Diffstat (limited to 'doc/mcpu-cpp-en.md')
-rw-r--r--doc/mcpu-cpp-en.md34
1 files changed, 23 insertions, 11 deletions
diff --git a/doc/mcpu-cpp-en.md b/doc/mcpu-cpp-en.md
index 5429456..bcab282 100644
--- a/doc/mcpu-cpp-en.md
+++ b/doc/mcpu-cpp-en.md
@@ -258,14 +258,14 @@ runtime-derived defaults
↓
/etc/mcpu/mcpu-cpp.conf
↓
-$HOME/.mcpu/mcpu-cpp.conf
+$HOME/.mcpu/etc/mcpu-cpp.conf
```
`<runtime-root>/etc/mcpu-cpp.conf` is installed with MCPU-CPP, but deliberately
does not contain an absolute default `MCPU_CPP_SYSTEM_INCLUDE_PATH`: otherwise
moving the tree would restore the old path. `/etc/mcpu/mcpu-cpp.conf` is an
optional machine-wide override; `make install` does not create `/etc/mcpu`.
-`$HOME/.mcpu/mcpu-cpp.conf` is also optional, is not versioned, and has the
+`$HOME/.mcpu/etc/mcpu-cpp.conf` is also optional, is not versioned, and has the
highest configuration priority.
If one variable is defined more than once, the last definition wins, including
@@ -300,10 +300,21 @@ file may later enable it again with a nonempty value.
`--config-file FILE` applies an explicitly selected file on top of the
runtime-derived default. `--no-config` disables **only configuration-file
reading**: `<runtime-root>/etc/mcpu-cpp.conf`, `/etc/mcpu/mcpu-cpp.conf`, and
-`$HOME/.mcpu/mcpu-cpp.conf` are not read, but `<runtime-root>/include` remains
-the standard system root. Only `-nostdinc` removes the effective standard
-system tree from include search for one invocation; an explicit `-isystem`
-still remains a command-line directory.
+`$HOME/.mcpu/etc/mcpu-cpp.conf` are not read, but `<runtime-root>/include` remains
+the standard system root.
+
+`--sys-root=PATH` is a stronger command-line override. It uses `PATH` as the
+MCPU system root, makes `PATH/include` the runtime-derived
+`MCPU_CPP_SYSTEM_INCLUDE_PATH`, and implicitly disables all configuration-file
+reading, including an explicitly supplied `--config-file`. `PATH` may be
+absolute or relative. A relative value is resolved against the invocation
+working directory before the effective include root is formed. This makes it
+possible to select another complete MCPU tree for one invocation without
+changing either the installed tree or persistent configuration.
+
+Only `-nostdinc` removes the effective standard system tree from include search
+for one invocation; an explicit `-isystem` still remains a command-line
+directory.
### 4.3. Normative include-file search order
@@ -1240,7 +1251,7 @@ exist for the future high-level language. The version of `mcpu-cpp` has its
own unambiguous name:
```text
-#define __MCPU_CPP_VERSION__ "1.0.2"
+#define __MCPU_CPP_VERSION__ "1.0.3"
```
The value is obtained automatically from `PACKAGE_VERSION`. When a compiler
@@ -1435,7 +1446,7 @@ WIDTH, and SIZEOF are defined:
#define __SIZEOF_UINT1024__ 128
```
-With the current LibMPU 1.0.25, `NB_I_MAX == 8192`, so the family extends to
+With the current LibMPU 1.0.35, `NB_I_MAX == 8192`, so the family extends to
`int65536`/`uint65536`, with `__SIZEOF_INT65536__ == 8192`.
Decimal-digit metadata is defined for **every** permitted integer width:
@@ -1528,7 +1539,7 @@ __REAL<bits>_MAX_10_EXP__
__REAL<bits>_MIN_10_EXP__
```
-For example, with LibMPU 1.0.25, the current `real128` profile gives values of
+For example, with LibMPU 1.0.35, the current `real128` profile gives values of
the form:
```text
@@ -1644,7 +1655,8 @@ mcpu-cpp -dconfig
requires no input file and prints the effective configuration-variable layer
after runtime configuration, optional system override, home user override, or
a selected `--config-file` have been read, including `$NAME`/`${NAME}`
-expansion. Lines are sorted by name and printed as:
+expansion. With `--sys-root=PATH`, configuration files are not read and the
+dump instead exposes the command-line-selected `PATH/include` system root. Lines are sorted by name and printed as:
```text
NAME = value;
@@ -1652,7 +1664,7 @@ NAME = value;
This makes it possible to inspect actual include paths without manually
searching `<runtime-root>/etc/mcpu-cpp.conf`, `/etc/mcpu/mcpu-cpp.conf`, and
-`$HOME/.mcpu/mcpu-cpp.conf`.
+`$HOME/.mcpu/etc/mcpu-cpp.conf`.
### 8.13. Verbose configuration snapshot: `-v`