OxL Справочник OxL
РусскийEnglish

Сборка из исходников

Нужны Ubuntu 24.04 (или другой Linux x86-64 с теми же пакетами), git и около 10 ГБ свободного места. Скрипт ставит зависимости сборки и тестов (LLVM 18, clang, lld, lldb, gtest, io_uring, nghttp2, OpenSSL, SQLite, PostgreSQL, protobuf, Node.js):

sh
git clone https://github.com/DesCaldnd/OxwaldLink.git && cd OxwaldLink
scripts/install_deps.sh
apt-get install -y ccache                          # необязательно, ускоряет повторные сборки

cmake -S . -B build -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
      -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
cmake --build build -j4                            # примерно 7 минут с нуля; -j2 на небольшой машине
export PATH=$PWD/build/tools/oxl:$PATH
oxl --version

Сборка даёт build/tools/oxl/oxl и статическую библиотеку рантайма build/runtime/liboxlrt.a; пути к исходникам стандартной библиотеки и рантайма вшиваются в бинарник, поэтому oxl из дерева сборки работает, пока исходники на месте.

Варианты: -DCMAKE_BUILD_TYPE=Release (оптимизированный компилятор), -DOXL_SANITIZE=address,undefined (санитайзеры), -DOXL_FUZZ=ON (фаззинг).

Проверка#

sh
cd build && ctest -j1 --timeout 1800 -E 'docsite|vscode' # полный прогон около часа, кластерные тесты идут по одному
ctest -R 'docsite_unit|examples_projects'                # быстрые проверки документации и примеров

Тест-сьют соответствия (conformance) запускается скриптом scripts/run_conformance.py, описание — conformance/README.md. Для тестов ORM нужен PostgreSQL: export OXL_PG_DSN="$(scripts/pg_start.sh)".

Сайт документации и PDF из исходников#

sh
oxl doc --site                       # build/site: открыть build/site/index.html
oxl doc --site-check                 # ссылки, обязательные страницы, запуск примеров (Д6/Д7)
oxl doc --serve --port 8080          # сервер для просмотра (Python)
oxl doc --build-server               # build/oxl-docs: сервер на OxL с встроенным сайтом
oxl doc --pdf -o oxl.pdf             # PDF (нужен Node.js с Playwright или Chromium)

Расширение VS Code и грамматика#

sh
(cd tools/vscode && npm install && npx vsce package --allow-missing-repository --skip-license)   # oxl-lang-*.vsix
code --install-extension tools/vscode/oxl-lang-*.vsix
python3 tools/tree-sitter-oxl/scripts/check.py -v                                                # проверка грамматики

Устройство проекта — архитектура; команды разработчика — docs/HANDOFF.md репозитория.

OxL 1.0.0-beta · Версия документации 1.0.0-beta© OxwaldLink · сгенерировано из Стандарта, исходников std и руководства