summaryrefslogtreecommitdiff
path: root/doc/mcpu-cpp-ru.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-ru.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-ru.md')
-rw-r--r--doc/mcpu-cpp-ru.md34
1 files changed, 23 insertions, 11 deletions
diff --git a/doc/mcpu-cpp-ru.md b/doc/mcpu-cpp-ru.md
index f8f762a..f9719e0 100644
--- a/doc/mcpu-cpp-ru.md
+++ b/doc/mcpu-cpp-ru.md
@@ -259,14 +259,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` устанавливается вместе с MCPU-CPP, но сам
файл намеренно не содержит абсолютного штатного `MCPU_CPP_SYSTEM_INCLUDE_PATH`:
иначе перенос всего дерева восстановил бы старый путь. `/etc/mcpu/mcpu-cpp.conf`
является необязательным machine-wide override: `make install` каталог
-`/etc/mcpu` не создаёт. Домашний `$HOME/.mcpu/mcpu-cpp.conf` также необязателен,
+`/etc/mcpu` не создаёт. Домашний `$HOME/.mcpu/etc/mcpu-cpp.conf` также необязателен,
не версионируется и имеет максимальный config-приоритет.
Если одна переменная определена несколько раз, побеждает последнее
@@ -300,10 +300,21 @@ MCPU_CPP_SYSTEM_INCLUDE_PATH = ;
`--config-file FILE` применяет явно выбранный файл поверх runtime-derived
default. `--no-config` отключает **только чтение файлов конфигурации**:
`<runtime-root>/etc/mcpu-cpp.conf`, `/etc/mcpu/mcpu-cpp.conf` и
-`$HOME/.mcpu/mcpu-cpp.conf` не читаются, но `<runtime-root>/include` остаётся
-штатным system root. Только `-nostdinc` удаляет effective standard-system tree
-из include search для конкретного запуска; явно переданный `-isystem` при этом
-остаётся command-line каталогом.
+`$HOME/.mcpu/etc/mcpu-cpp.conf` не читаются, но `<runtime-root>/include` остаётся
+штатным system root.
+
+`--sys-root=PATH` является более сильным command-line override. Он считает
+`PATH` системным корнем MCPU, формирует runtime-derived
+`MCPU_CPP_SYSTEM_INCLUDE_PATH` как `PATH/include` и неявно отключает чтение всех
+configuration files, включая явно заданный `--config-file`. `PATH` может быть
+абсолютным или относительным. Относительное значение разрешается относительно
+рабочего каталога, из которого была запущена команда, до формирования
+effective include root. Это позволяет для одного запуска выбрать другое полное
+дерево MCPU без изменения установленного дерева и persistent configuration.
+
+Только `-nostdinc` удаляет effective standard-system tree из include search для
+конкретного запуска; явно переданный `-isystem` при этом остаётся command-line
+каталогом.
### 4.3. Нормативный порядок поиска include-файлов
@@ -1249,7 +1260,7 @@ rescan.
пока нет. Собственная версия `mcpu-cpp` имеет отдельное однозначное имя:
```text
-#define __MCPU_CPP_VERSION__ "1.0.2"
+#define __MCPU_CPP_VERSION__ "1.0.3"
```
Значение автоматически берётся из `PACKAGE_VERSION`. Когда появится compiler
@@ -1438,7 +1449,7 @@ Computed MIN expressions вроде `(-__PTRDIFF_MAX__ - 1)` в predefined table
#define __SIZEOF_UINT1024__ 128
```
-На текущей LibMPU 1.0.25 `NB_I_MAX == 8192`, поэтому family доходит до
+На текущей LibMPU 1.0.35 `NB_I_MAX == 8192`, поэтому family доходит до
`int65536`/`uint65536`, а `__SIZEOF_INT65536__ == 8192`.
Decimal-digit metadata определяется для **каждой** разрешённой integer width:
@@ -1529,7 +1540,7 @@ __REAL<bits>_MAX_10_EXP__
__REAL<bits>_MIN_10_EXP__
```
-Например, на LibMPU 1.0.25 для `real128` текущий profile даёт значения вида:
+Например, на LibMPU 1.0.35 для `real128` текущий profile даёт значения вида:
```text
#define __REAL128_EPSILON__ 2.524354896707237777317531409e-29
@@ -1642,7 +1653,8 @@ mcpu-cpp -dconfig
не требует input file и выводит effective variables configuration layer после чтения runtime config, необязательного system override, домашнего
user override или выбранного `--config-file`, включая expansion
-`$NAME`/`${NAME}`. Строки сортируются по имени и печатаются в форме:
+`$NAME`/`${NAME}`. При `--sys-root=PATH` configuration files не читаются, а
+dump показывает выбранный из командной строки system root `PATH/include`. Строки сортируются по имени и печатаются в форме:
```text
NAME = value;
@@ -1650,7 +1662,7 @@ NAME = value;
Это позволяет проверить реальные include paths без ручного поиска
`<runtime-root>/etc/mcpu-cpp.conf`, `/etc/mcpu/mcpu-cpp.conf` и
-`$HOME/.mcpu/mcpu-cpp.conf`.
+`$HOME/.mcpu/etc/mcpu-cpp.conf`.
### 8.13. Verbose configuration snapshot: `-v`