diff --git a/BUILD_ru.md b/BUILD_ru.md index 6ef96aa01..fdaeff65b 100644 --- a/BUILD_ru.md +++ b/BUILD_ru.md @@ -32,7 +32,7 @@ Red Panda C++ требует для сборки Qt 5.15 или 6.8+. | MSYS2 + LLVM-based MinGW | ❌ | ✔️ | ✔️ | | [Windows NT 5.x](https://github.com/redpanda-cpp/qtbase-xp) + [MinGW Lite](https://github.com/redpanda-cpp/mingw-lite) | ✔️ | ✔️ | ❌ | -Смотри также [другие инструкции сборки для Windows](./docs/detailed-build-win.md). +Смотри также [другие инструкции сборки для Windows](./docs/detailed-build-win-ru.md). ## MSYS2 Библиотека Qt с набором инструментов MinGW (Рекомендуется) @@ -77,8 +77,8 @@ Red Panda C++ должна работать с любым 64-битным наб - `--mingw32`: и `assets/mingw32.7z` для сборки пакета. - `--mingw64`: и `assets/mingw64.7z` для сборки пакета. - `--mingw`: псевдоним для `--mingw64` (x64-приложение). -- `--gcc-linux-x86-64`: add `assets/gcc-linux-x86-64.7z` and `assets/alpine-minirootfs-x86_64.tar` to the package. -- `--gcc-linux-aarch64`: add `assets/gcc-linux-aarch64.7z` and `assets/alpine-minirootfs-aarch64.tar` to the package. +- `--gcc-linux-x86-64`: добавить `assets/gcc-linux-x86-64.7z` и `assets/alpine-minirootfs-x86_64.tar` в пакет. +- `--gcc-linux-aarch64`: добавить `assets/gcc-linux-aarch64.7z` и `assets/alpine-minirootfs-aarch64.tar` в пакет. - `--ucrt `: добавить UCRT runtime из Windows SDK в пакет. Например, `--ucrt 22621` для Windows 11 SDK 22H2. ## Windows NT 5.x с библиотекой Qt с набором инструментов MinGW Lite @@ -109,7 +109,7 @@ export MIRROR=mirrors.kernel.org # дополнительно можно уст # Linux -Смотри также [другие инструкции сборки для настольных систем freedesktop.org-conforming (XDG)](./docs/detailed-build-xdg.md). +Смотри также [другие инструкции сборки для настольных систем freedesktop.org-conforming (XDG)](./docs/detailed-build-xdg-ru.md). ## Alpine Linux, Arch Linux, Debian и их производные, Fedora, openSUSE diff --git a/NEWS.md b/NEWS.md index 1b24a779b..3debd0830 100644 --- a/NEWS.md +++ b/NEWS.md @@ -26,6 +26,7 @@ Red Panda C++ Version 3.3 - fix: Debugger not responding when debugging with gdb > 14. - enhancement: Run programs in WSL. - enhancement: Generate GIMPLE. + - enhancement: Russian Translation (by melkorbsd@github) Red Panda C++ Version 3.2 diff --git a/README_ru.md b/README_ru.md index f9e937f3d..728bd084f 100644 --- a/README_ru.md +++ b/README_ru.md @@ -45,6 +45,6 @@ Red Panda C++ (Прежнее название: Red Panda Dev-C++ 7) - быст И множество других улучшений и исправлений ошибок. Смотрите NEWS.md для получения полной информации. -## Acknowledgement +## Благодарности -[Lua](https://www.lua.org/) 5.4.6 ([source mirror](https://github.com/lua/lua/tree/v5.4.6)) is used as add-on runtime. +[Lua](https://www.lua.org/) 5.4.6 ([зеркало исходного кода](https://github.com/lua/lua/tree/v5.4.6)) используется в качестве дополнения времени выполнения. diff --git a/docs/detailed-build-win-ru.md b/docs/detailed-build-win-ru.md new file mode 100644 index 000000000..35f354adb --- /dev/null +++ b/docs/detailed-build-win-ru.md @@ -0,0 +1,184 @@ +# Дополнительные инструкции по сборке для Windows + +| Библиотека + Инструменты \ Цель | x86 | x64 | ARM64 | +| ---------------------------- | --- | --- | ----- | +| MSYS2 + GNU-based MinGW | ❌ | ✔️ | ❌ | +| MSYS2 + LLVM-based MinGW | ❌ | ✔️ | ✔️ | +| [Windows XP](https://github.com/redpanda-cpp/qtbase-xp) + [MinGW UCRT](https://github.com/redpanda-cpp/mingw-lite) | ✔️ | ✔️ | ❌ | +| Qt.io + MinGW | ✔️ | ✔️ | ❌ | +| Qt.io + MSVC | ✔️ | ✔️ | ❌ | +| vcpkg + MSVC | ✔️ | ✔️ | ❌ | + +Переменные qmake: +- `PREFIX`: куда `$MAKE install` устанавливает файлы. +- `WINDOWS_PREFER_OPENCONSOLE=ON` (этап сборки): предпочесть UTF-8-совместимый `OpenConsole.exe`. + - `OpenConsole.exe` является частью Windows Terminal. Поддержка ввода в UTF-8 была добавлена в версии 1.18. + - `OpenConsole.exe` требует ConPTY, который появился в Windows 10 1809. + +Замечания для Windows на ARM: +- Red Panda C++ может быть собран для ARM64 ABI только на Windows 11 ARM64. + - Запуск на Windows 10 ARM64 больше не поддерживается. Установщики предполагают, что эмуляция x64 всегда доступна. (Родной пакет “Red Panda C++ с инструментарием LLVM MinGW” может работать.) + - ARM64EC (“совместимый с эмуляцией”) хост не поддерживается, т.е. Red Panda C++ не можер быть собрана с инструментарием ARM64EC. + - Цель ARM64EC (теоретический) поддерживается, т.е. Red Panda C++ будет создавать двоичные файлы для ARM64EC, если инструментарий сборки поддерживал ARM64EC. +- В связи с [ARM32 deprecation in Windows 11 Insider Preview Build 25905](https://blogs.windows.com/windows-insider/2023/07/12/announcing-windows-11-insider-preview-build-25905/), поддержка ARM32 никогда не будет добавлена. + +## Сборка вручную в MSYS2 + +Подготовка: + +0. Windows 8.1 x64 или более поздний, или Windows 11 ARM64. +1. Установить MSYS2. +2. В выбранном окружении установить инструментарий и библиотеку Qt 5: + ```bash + pacman -S \ + $MINGW_PACKAGE_PREFIX-{toolchain,qt5-static} \ + git + ``` + +Сборка: + +1. В выбранном окружении, установить необходимые переменные: + ```bash + SRC_DIR="/c/src/redpanda-src" # Например: “C:\src\redpanda-src” + BUILD_DIR="/c/src/redpanda-build" # Например: “C:\src\redpanda-build” + INSTALL_DIR="/c/src/redpanda-pkg" # Например: “C:\src\redpanda-pkg” + ``` +2. Перейти в каталог сборки: + ```bash + rm -rf "$BUILD_DIR" # при необходимости для очистки каталога сборки + mkdir -p "$BUILD_DIR" && cd "$BUILD_DIR" + ``` +3. Настройка, сборка и установка: + ```bash + $MSYSTEM_PREFIX/qt5-static/bin/qmake PREFIX="$INSTALL_DIR" "$SRC_DIR/Red_Panda_CPP.pro" + mingw32-make -j$(nproc) + mingw32-make install + ``` + +## Библиотека Qt Library из Qt.io с инструментарием MinGW или MSVC + +Подготовка: + +0. Windows 10 x64 или более поздний. ARM64 не поддерживается. + - Для инструментария MSVC, Windows должна использовать Unicode UTF-8 для поддержки языков всего мира. +1. Установить Qt с помощью установки по сети из [Qt.io](https://www.qt.io/download-qt-installer-oss). + - Выбрать библиотеку (в группе _Qt_, подгруппе _Qt 5.15.2_, выберите одну из _MinGW 8.1.0 32-bit_, _MinGW 8.1.0 64-bit_, _MSVC 2019 32-bit_ или _MSVC 2019 64-bit_). + - Для инструментария MinGW, выбрать инструментарий (в группе _Qt_, подгруппе _Developer and Designer Tools_, выберите _MinGW 8.1.0 32-bit_ иди _MinGW 8.1.0 64-bit_, соответствующий библиотеке). + - По желанию выбрать Qt Creator (в группе _Qt_, подгруппе _Developer and Designer Tools_; рекомендуется для инструментария MSVC для поддержки параллельной сборки). +2. Для инструментария MSVC установить Visual Studio 2019 или более поздний, или Visual Studio Build Tools 2019 или более поздний, с поддержкой _Desktop Development with C++_. + - На панели _Installation Details_, в разделе _Desktop Development with C++_, выберите один инструмент из _MSVC x86/x64 build tools_ и один из _Windows SDK_. + +Сборка: + +1. Запустить Qt environment из меню Пуск. +2. В окружении Qt environment установить необходимые переменные: + ```bat + rem Без кавычек, даже если путь содержит пробелы!!! + set SRC_DIR=C:\src\redpanda-src + set BUILD_DIR=C:\src\redpanda-build + set INSTALL_DIR=C:\src\redpanda-pkg + rem Для инструментария MSVC + set VS_INSTALL_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community + rem Для инструментария MSVC; или x86 + set VC_ARCH=amd64 + rem Для инструментария MSVC; не устанавливать переменную, если Qt Creator не установлен + set QT_CREATOR_DIR=C:\Qt\Tools\QtCreator + ``` +3. Перейдите в каталог сборки: + ```bat + rem При необходимости для очистки каталога сборки + rmdir /s /q "%BUILD_DIR%" + mkdir "%BUILD_DIR%" && cd /d "%BUILD_DIR%" + ``` +4. Настройка, сборка и установка. Для инструментария MinGW: + ```bat + qmake PREFIX="%INSTALL_DIR%" "%SRC_DIR%\Red_Panda_CPP.pro" + mingw32-make -j%NUMBER_OF_PROCESSORS% + mingw32-make install + windeployqt "%INSTALL_DIR%\RedPandaIDE.exe" + ``` + Для инструментария MSVC: + ```bat + call "%VS_INSTALL_PATH%\Common7\Tools\VsDevCmd.bat" -arch=%VC_ARCH% + qmake PREFIX="%INSTALL_DIR%" "%SRC_DIR%\Red_Panda_CPP.pro" + + set JOM=%QT_CREATOR_DIR%\bin\jom\jom.exe + if "%QT_CREATOR_DIR%" neq "" ( + "%JOM%" -j%NUMBER_OF_PROCESSORS% + "%JOM%" install + ) else ( + nmake + nmake install + ) + windeployqt "%INSTALL_DIR%\RedPandaIDE.exe" + ``` + +## Продвинутый вариант: Статическая библиотека vcpkg Qt с инструментарием MSVC + +Подготовка: + +0. Windows 10 x64 или более поздний. ARM64 не поддерживается. + - Для инструментария MSVC, Windows должна использовать Unicode UTF-8 для поддержки языков всего мира. +1. Установить Visual Studio 2017 или более поздний, или Visual Studio Build Tools 2017 или более поздние, с поддержкой _Desktop Development with C++_. + - На панели _Installation Details_, в разделе _Desktop Development with C++_, выберите один инструмент из _MSVC x86/x64 build tools_ и один из _Windows SDK_. +2. Установить [standalone vcpkg](https://vcpkg.io/en/getting-started). +3. Установить Qt с vcpkg. + ```ps1 + $TARGET = "x64-windows-static" # Или "x86-windows-static" + vcpkg install qt5-base:$TARGET qt5-svg:$TARGET qt5-tools:$TARGET qt5-translations:$TARGET + ``` + +Для сборки с помощью VS 2019 или более поздним под PowerShell (Core) или Windows PowerShell: + +1. Установить требуемые переменные: + ```ps1 + $SRC_DIR = "C:\src\redpanda-src" + $BUILD_DIR = "C:\src\redpanda-build" + $INSTALL_DIR = "C:\src\redpanda-pkg" + $VCPKG_ROOT = "C:\src\vcpkg" + $VCPKG_TARGET = "x64-windows-static" # or "x86-windows-static" + $VS_INSTALL_PATH = "C:\Program Files\Microsoft Visual Studio\2022\Community" + $VC_ARCH = "amd64" # Или "x86" + $JOM = "$VCPKG_ROOT\downloads\tools\jom\jom-1.1.3\jom.exe" # check the version + ``` +2. Перейдите в каталог сборки: + ```ps1 + Remove-Item -Recurse -Force "$BUILD_DIR" # При необходимости для очистки каталога сборки + (New-Item -ItemType Directory -Force "$BUILD_DIR") -and (Set-Location "$BUILD_DIR") + ``` +3. Настройка, сборка и установка: + ```ps1 + Import-Module "$VS_INSTALL_PATH\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" + Enter-VsDevShell -VsInstallPath "$VS_INSTALL_PATH" -SkipAutomaticLocation -DevCmdArguments "-arch=$VC_ARCH" + & "$VCPKG_ROOT\installed\$VCPKG_TARGET\tools\qt5\bin\qmake.exe" PREFIX="$INSTALL_DIR" "$SRC_DIR\Red_Panda_CPP.pro" + & "$JOM" "-j${Env:NUMBER_OF_PROCESSORS}" + & "$JOM" install + ``` + +Для сборки с VS 2017 или более поздним из коммандной строки: + +1. Запустить предпочитаемое окружение VC из меню Пуск. +2. Установить необходимые переменные: + ```bat + rem Без кавычек, даже если путь содержит пробелы!!! + set SRC_DIR=C:\src\redpanda-src + set BUILD_DIR=C:\src\redpanda-build + set INSTALL_DIR=C:\src\redpanda-pkg + set VCPKG_ROOT=C:\src\vcpkg + rem Или x86-windows-static + set VCPKG_TARGET=x64-windows-static + rem Проверка версии + set JOM=%VCPKG_ROOT%\downloads\tools\jom\jom-1.1.3\jom.exe + ``` +3. Перейдите в каталог сборки: + ```bat + rem При необходимости для очистки каталога сборки + rmdir /s /q "%BUILD_DIR%" + mkdir "%BUILD_DIR%" && cd /d "%BUILD_DIR%" + ``` +4. Настройка, сборка и установка: + ```bat + "%VCPKG_ROOT%\installed\%VCPKG_TARGET%\tools\qt5\bin\qmake.exe" PREFIX="%INSTALL_DIR%" "%SRC_DIR%\Red_Panda_CPP.pro" + "%JOM%" -j%NUMBER_OF_PROCESSORS% + "%JOM%" install + ``` diff --git a/docs/detailed-build-xdg-ru.md b/docs/detailed-build-xdg-ru.md new file mode 100644 index 000000000..930664641 --- /dev/null +++ b/docs/detailed-build-xdg-ru.md @@ -0,0 +1,102 @@ +# Дополнительные инструкции сборки для freedesktop.org-conforming (XDG) Desktop Systems + +## Традиционный путь Unix (`./configure`–`make`–`make install`) + +- Установить последнюю версию GCC (≥ 7) или Clang (≥ 6), поддерживающую C++17. +- Установить Qt 5.15 или 6.8+ Base, SVG и Tools modules, включающие все библиотеки и файлы для разработки. +- По желанию устанвоить fcitx5-qt для статической сборки с Библиотекой Qt. +- Установить astyle для форматирования кода в Red Panda C++. + +### Шаги сборки с qmake + +1. Настройка: + ```bash + qmake PREFIX=/usr/local /path/to/src/Red_Panda_CPP.pro + ``` +2. Сборка: + ```bash + make -j$(nproc) + ``` +3. Установка: + ```bash + sudo make install + ``` + +Переменные qmake: +- `PREFIX`: куда `$MAKE install` будет устанавливать файлы. + - На саму среду Red Panda C++ `PREFIX` не влияет, поскольку она использует относительные пути. + - На файл `.desktop` влияет `PREFIX`. +- `LIBEXECDIR`: каталог для вспомогательных исполнимых файлов, УКАЗЫВАЕТСЯ ОТНОСИТЕЛЬНО `PREFIX`. + - Arch Linux использует `lib`. + +### Шаги сборки с xmake + +1. Настройка: + ```bash + xmake f -p linux -a x86_64 -m release --qt=/usr + ``` +2. Сборка: + ```bash + xmake + ``` +3. Установка: + ```bash + sudo xmake install --root -o /usr/local + ``` + +Примечание: для информации о других параметрах выполните `xmake f --help`. + +### Инструкции сборки для Debian/Ubuntu (просто скопируй и вставь) + +```bash +# подготовка +apt install gcc g++ make git gdb gdbserver astyle qterminal # устанвоить интрументы, необходимые для сборки и времени выполнения +apt install qtbase5-dev qttools5-dev-tools libqt5svg5-dev # установить заголовочные файлы и библиотеки для сборки +git clone https://github.com/royqh1979/RedPanda-CPP.git # скачать исходный код + +# сборка +mkdir -p RedPanda-CPP/build && cd RedPanda-CPP/build # создать каталог сборки +qmake ../Red_Panda_CPP.pro # настройка +make -j$(nproc) # сборка +sudo make install # установка + +# запуск +RedPandaIDE +``` + +## Пакеты Debian для различных архитектур и версий + +These packages can be built in containers. Both Linux host and Windows host are supported. +Эти пакеты могут быть собраны в контейнерах. Поддерживаются как системы с Linux, так и с Windows. + +```bash +podman run --rm -v $PWD:/mnt -w /mnt --platform linux/amd64 docker.io/debian:12 ./packages/debian/01-in-docker.sh +``` + +Платформа может быть `linux/amd64`, `linux/386`, `linux/arm64/v8`, `linux/arm/v7`, `linux/riscv64`, и т.д. + +Образ может быть `docker.io/debian:12`, `docker.io/debian:11`, `docker.io/ubuntu:24.04`, `docker.io/ubuntu:23.10`, `docker.io/ubuntu:22.04`, и т.д. + +Дополнительные переменные окружения: +- `-e MIRROR=mirrors.kernel.org`: зеркало для APT. +- `-e JOBS=4`: число параллельных процессов для make. + +## Эмуляция родной сборки для прочих архитектур + +Можно собрать Red Panda C++ для других архитектур, используя родные инструменты сборки для целевых архитектур с эмуляцией пользовательского пространства QEMU. + +Примечание: Всегда запускайте эмулируемую родную сборку **в контейнерах или jails**. Смешивание архитектур может привести к сбою в работе вашей системы. + +Для машин с Linux или BSD установите статически связанный эмулятор пользовательского пространства QEMU (имя пакета, скорее всего, "qemu-user-static") и убедитесь, что включена поддержка binfmt. + + +Для Windows-систем, в Docker и Podman должна быть включена эмуляция пользовательского пространства QEMU. В противном случае: +* Для Docker: + ```ps1 + docker run --rm --privileged multiarch/qemu-user-static:register + ``` +* Для Podman, чья виртуальная машина основана на Fedora WSL, просто включите поддержку binfmt: + ```ps1 + wsl -d podman-machine-default sudo cp /usr/lib/binfmt.d/qemu-aarch64-static.conf /proc/sys/fs/binfmt_misc/register + wsl -d podman-machine-default sudo cp /usr/lib/binfmt.d/qemu-riscv64-static.conf /proc/sys/fs/binfmt_misc/register + ```