mirror of
https://github.com/Egor00f/kolibrios-gcc-toolchain.git
synced 2025-09-20 18:00:07 +02:00
Compare commits
56 Commits
Author | SHA1 | Date | |
---|---|---|---|
41474060b3 | |||
23d7d8064d | |||
|
876c00a66a | ||
|
fd5c312c33 | ||
|
e07c12dacc | ||
|
376ae0fa91 | ||
|
e08878da61 | ||
|
93acd0f1dd | ||
|
d73b2827b1 | ||
|
5968d5a12b | ||
|
a782cd37cd | ||
|
2480b1a20b | ||
|
f4e741746f | ||
|
d7a97891f7 | ||
|
f2ee70e825 | ||
|
99f3639668 | ||
|
3dc15f3597 | ||
|
87c29daf9e | ||
|
0e3f85c0e3 | ||
|
0baa7b470d | ||
|
537356d5fe | ||
|
6f3187dea8 | ||
|
22256e92c9 | ||
194e9de3e2 | |||
4dc4393c52 | |||
003780f587 | |||
c0136c680d | |||
5886611082 | |||
a882106a25 | |||
6cd179035c | |||
b0e92ef197 | |||
81135f0c3a | |||
8505ca3a4e | |||
9262ee0fa4 | |||
eb61d5f483 | |||
e63568bc9c | |||
6d994d865c | |||
d2c3ae7904 | |||
53343866d9 | |||
|
048965ba75 | ||
|
9b3be45832 | ||
|
fb37fd61a8 | ||
|
2346cbda4a | ||
dcbf7a3e1f | |||
f470a40d30 | |||
51ad12be50 | |||
2ff32eb06a | |||
ad3261d332 | |||
83b9582c31 | |||
|
45d8910f84 | ||
5deba53689 | |||
205962bf75 | |||
0b4ac08d48 | |||
|
71859b700b | ||
|
cee23fd147 | ||
|
323727cd74 |
19
.devcontainer/devcontainer.json
Normal file
19
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"image": "mcr.microsoft.com/devcontainers/cpp:debian-12",
|
||||
"features": {
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"ms-vscode.cmake-tools",
|
||||
"usernamehw.errorlens",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"streetsidesoftware.code-spell-checker-russian",
|
||||
"ibm.output-colorizer",
|
||||
"chouzz.vscode-innosetup",
|
||||
"github.vscode-github-actions"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
53
.github/workflows/test.yml
vendored
53
.github/workflows/test.yml
vendored
@@ -8,6 +8,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
#Test linux install script
|
||||
linux-install:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -15,7 +16,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run script
|
||||
run: ${{ github.workspace }}/./install.sh
|
||||
run: echo '/home/autobuild/tools' | ${{ github.workspace }}/./install.sh
|
||||
|
||||
- name: Add toolchain to path
|
||||
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH
|
||||
@@ -25,6 +26,7 @@ jobs:
|
||||
kos32-gcc -v
|
||||
kos32-g++ -v
|
||||
|
||||
#Test windows install script
|
||||
windows-install:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
@@ -38,12 +40,57 @@ jobs:
|
||||
- name: Run script
|
||||
run: ${{ github.workspace }}/install.bat
|
||||
|
||||
#Test Windows Installer
|
||||
build-Installer:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
cmake --build ${{ github.workspace }}/build --target Installer
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: windows-installer
|
||||
# Upload entire repository
|
||||
path: './build/installer.exe'
|
||||
|
||||
# Test Package
|
||||
package:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -B ${{ github.workspace }}/build
|
||||
cmake --build ${{ github.workspace }}/build --target Package
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: package
|
||||
# Upload entire repository
|
||||
path: './build/package.deb'
|
||||
|
||||
- name: Install package
|
||||
run: echo '/kolibrios-toolchain' | sudo apt install ${{ github.workspace }}/build/package.deb -y
|
||||
|
||||
- name: Add toolchain to path
|
||||
run: echo "C:\MinGW\msys\1.0\home\autobuild\tools\win32\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
run: echo "/kolibrios-toolchain/win32/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Test run
|
||||
run: |
|
||||
kos32-gcc -v
|
||||
kos32-g++ -v
|
||||
kos32-gcc -v
|
||||
/home/autobuild/tools/win32/bin/kos32-gcc -v
|
||||
/home/autobuild/tools/win32/bin/kos32-g++ -v
|
||||
/kolibrios-toolchain/win32/bin/kos32-gcc -v
|
||||
/kolibrios-toolchain/win32/bin/kos32-g++ -v
|
||||
|
||||
- name: Remove package
|
||||
run: sudo apt remove kos32-gcc
|
||||
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1 +1,5 @@
|
||||
Output/
|
||||
package/DEBIAN/postinst
|
||||
package/DEBIAN/copyright
|
||||
package.deb
|
||||
build/
|
||||
|
9
.vscode/extensions.json
vendored
Normal file
9
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"chouzz.vscode-innosetup",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"streetsidesoftware.code-spell-checker-russian",
|
||||
"ms-vscode.cmake-tools",
|
||||
"github.vscode-github-actions"
|
||||
]
|
||||
}
|
10
.vscode/settings.json
vendored
Normal file
10
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"cSpell.words": [
|
||||
"autobuild",
|
||||
"тулчейн",
|
||||
"тулчейна",
|
||||
"msys",
|
||||
"kolibrios",
|
||||
"Egor"
|
||||
]
|
||||
}
|
12
.vscode/tasks.json
vendored
Normal file
12
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "cmake",
|
||||
"label": "CMake: настроить",
|
||||
"command": "configure",
|
||||
"problemMatcher": [],
|
||||
"detail": "Задача шаблона CMake настроить"
|
||||
}
|
||||
]
|
||||
}
|
26
CMakeLists.txt
Normal file
26
CMakeLists.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
|
||||
|
||||
project(
|
||||
KolibriOS-gcc-Toolchain-installer
|
||||
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
|
||||
)
|
||||
|
||||
|
||||
add_custom_target(
|
||||
Package
|
||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
|
||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
|
||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN
|
||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
|
||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/prerm
|
||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
|
||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postrm
|
||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
|
||||
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
Installer
|
||||
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||
)
|
32
README.md
32
README.md
@@ -7,20 +7,38 @@
|
||||
|
||||
## Установка
|
||||
|
||||
Для установки требуются 7z и wget
|
||||
Для установки требуются `7z` и `wget`. При выборе своего пути в любом случае будет создана папка win32 в выбранной папке.
|
||||
|
||||
## Linux
|
||||
### Linux
|
||||
|
||||
Просто запустите install.sh.
|
||||
Просто запустите `install.sh`.
|
||||
|
||||
Некоторые команды требуют sudo
|
||||
|
||||
Тулчейн устанавливается в папку `/home/autobuild/tools/win32`
|
||||
Тулчейн по умолчанию устанавливается в папку `/home/autobuild/tools/win32`, но скрипт вас спросит перед установкой.
|
||||
|
||||
## Windows
|
||||
### Windows
|
||||
|
||||
Для windows есть установщик(посмотрите в релизах) или росто запустите install.bat. Рекомендуется запускать с повышенными правами
|
||||
Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW.
|
||||
|
||||
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами
|
||||
|
||||
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
|
||||
|
||||
Тулчейн устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`
|
||||
Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию)
|
||||
|
||||
## Сборка установщиков
|
||||
|
||||
Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
|
||||
|
||||
Установщики собираются с помощью cmake (cmake просто потому что могу)
|
||||
|
||||
### Linux
|
||||
|
||||
Можно собрать deb пакет. Цель для сборки Package. Для сборки требуется `dpkg-deb`
|
||||
|
||||
### Windows
|
||||
|
||||
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
|
||||
|
||||
Если сборка не работает, добавьте папку Inno Setup(например: `C:\Programs Files\Inno Setup 6`) в PATH
|
||||
|
21
install.bat
21
install.bat
@@ -1,12 +1,19 @@
|
||||
@echo off
|
||||
|
||||
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
|
||||
|
||||
|
||||
set TOOLCHAIN_DIR=C:\MinGW\msys\1.0\home\autobuild\tools
|
||||
set DEFAULT_TOOLCHAIN_DIR=C:\MinGW\msys\1.0\home\autobuild\tools
|
||||
|
||||
if [%1] == [] (
|
||||
set TOOLCHAIN_DIR=%DEFAULT_TOOLCHAIN_DIR%
|
||||
)
|
||||
else (
|
||||
set TOOLCHAIN_DIR=%1
|
||||
)
|
||||
|
||||
|
||||
|
||||
Call :print_msg Create the C:/MinGW/msys/1.0/home/autobuild folder...
|
||||
Call :print_msg Create the %TOOLCHAIN_DIR% folder...
|
||||
|
||||
mkdir %TOOLCHAIN_DIR%
|
||||
|
||||
@@ -20,7 +27,7 @@ cd %TOOLCHAIN_DIR%
|
||||
|
||||
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -O %TOOLCHAIN_DIR%\kos32-toolchain.7z
|
||||
|
||||
7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z
|
||||
7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z -o%TOOLCHAIN_DIR%
|
||||
|
||||
Call :print_ok Successfully!
|
||||
|
||||
@@ -56,7 +63,7 @@ Call :print_ok Successfully!
|
||||
|
||||
|
||||
|
||||
Call :print_msg Adding C:/MinGW/msys/1.0/home/autobuild/tools/win32/bin to PATH
|
||||
Call :print_msg Adding C:\MinGW\msys\1.0\home\autobuild\tools\win32\bin to PATH
|
||||
|
||||
set PATH=%PATH%;%TOOLCHAIN_DIR%%\win32\bin
|
||||
|
||||
@@ -67,9 +74,9 @@ Call :print_ok Installation was successful!
|
||||
|
||||
|
||||
:print_msg
|
||||
echo %ESC%[92m%*%ESC%[%m
|
||||
echo %ESC%[34m%*%ESC%[%m
|
||||
exit /b
|
||||
|
||||
:print_ok
|
||||
echo %ESC%[36m%*%ESC%[%m
|
||||
echo %ESC%[32m%*%ESC%[%m
|
||||
exit /b
|
||||
|
91
install.sh
91
install.sh
@@ -28,6 +28,23 @@ check_utils(){
|
||||
fi
|
||||
}
|
||||
|
||||
pwd
|
||||
|
||||
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
|
||||
|
||||
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
|
||||
|
||||
MESSAGE="Toolchain install path(default is $TOOLCHAIN_DIR): "
|
||||
|
||||
echo -n $MESSAGE
|
||||
read INPUT
|
||||
|
||||
if [[ ! -z "$INPUT" ]]; then
|
||||
TOOLCHAIN_DIR=$INPUT
|
||||
fi
|
||||
|
||||
echo "Installing toolchain to $TOOLCHAIN_DIR"
|
||||
|
||||
|
||||
print_msg "Checking utilities..."
|
||||
|
||||
@@ -38,11 +55,10 @@ check_utils 7z
|
||||
|
||||
|
||||
|
||||
print_msg "Create the /home/autobuild folder..."
|
||||
print_msg "Create the toolchain folders..."
|
||||
|
||||
sudo rm -rf ~/autobuild /home/autobuild
|
||||
mkdir -p ~/autobuild/tools
|
||||
sudo ln -sf ~/autobuild /home/autobuild
|
||||
sudo mkdir -p $DEFAULT_TOOLCHAIN_DIR
|
||||
sudo mkdir -p $TOOLCHAIN_DIR
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
@@ -50,7 +66,7 @@ print_ok "Successfully!"
|
||||
|
||||
print_msg "Download the kos32-gcc toolchain..."
|
||||
|
||||
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O ~/autobuild/tools/kos32-toolchain.7z
|
||||
sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O $TOOLCHAIN_DIR/kos32-toolchain.7z
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
@@ -58,9 +74,9 @@ print_ok "Successfully!"
|
||||
|
||||
print_msg "Extracting files ..."
|
||||
|
||||
cd ~/autobuild/tools/
|
||||
7z x -y kos32-toolchain.7z
|
||||
rm -rf kos32-toolchain.7z
|
||||
cd $TOOLCHAIN_DIR
|
||||
sudo 7z x -y kos32-toolchain.7z
|
||||
sudo rm -rf kos32-toolchain.7z
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
@@ -68,10 +84,10 @@ print_ok "Successfully!"
|
||||
|
||||
print_msg "Downloading libraries..."
|
||||
|
||||
cd ~/autobuild/tools/win32/mingw32
|
||||
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z
|
||||
7z x -y sdk-28-10-16.7z
|
||||
rm -rf sdk-28-10-16.7z
|
||||
cd $TOOLCHAIN_DIR/win32/mingw32
|
||||
sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z
|
||||
sudo 7z x -y sdk-28-10-16.7z
|
||||
sudo rm -rf sdk-28-10-16.7z
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
@@ -80,15 +96,15 @@ print_ok "Successfully!"
|
||||
print_msg "Updating libraries"
|
||||
|
||||
cd lib
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -q -O libSDLn.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -q -O libcurses.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -q -O libz.dll.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -q -O libogg.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -q -O libvorbis.a
|
||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -q -O libopenjpeg.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -q -O libSDLn.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -q -O libcurses.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -q -O libz.dll.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -q -O libogg.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -q -O libvorbis.a
|
||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -q -O libopenjpeg.a
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
@@ -121,10 +137,35 @@ sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
|
||||
print_ok "Successfully!"
|
||||
|
||||
|
||||
if ! grep -q 'export PATH=$PATH:/home/autobuild/tools/win32/bin' ~/.bashrc; then
|
||||
export PATH=$PATH:/home/autobuild/tools/win32/bin
|
||||
print_msg "Adding '/home/autobuild/tools/win32/bin' to '~/.bashrc'"
|
||||
echo 'export PATH=$PATH:/home/autobuild/tools/win32/bin' >> ~/.bashrc
|
||||
if [ "$TOOLCHAIN_DIR" != "$DEFAULT_TOOLCHAIN_DIR" ]; then
|
||||
sudo ln -sf $TOOLCHAIN_DIR/win32 $DEFAULT_TOOLCHAIN_DIR
|
||||
fi
|
||||
|
||||
|
||||
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
|
||||
|
||||
EXPORT_MESSSAGE="export $MESSAGE"
|
||||
|
||||
if [ ! "$(id -u)" -ne 0 ]
|
||||
then
|
||||
echo $MESSAGE >> /etc/profile
|
||||
|
||||
sudo mkdir -p /etc/kos32-gcc
|
||||
echo $TOOLCHAIN_DIR > /etc/kos32-gcc/install-path
|
||||
else
|
||||
if ! grep -q $EXPORT_MESSSAGE ~/.bashrc; then
|
||||
print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
|
||||
echo '$EXPORT_MESSSAGE' >> ~/.bashrc
|
||||
fi
|
||||
fi
|
||||
|
||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/bin/*
|
||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/include/*
|
||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/lib/gcc/mingw32/5.4.0/include/*
|
||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/lib/gcc/mingw32/5.4.0/include/c++/*
|
||||
|
||||
cd "$OLDPWD"
|
||||
|
||||
export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin
|
||||
|
||||
print_ok "Installation was successful!"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
#define MyAppName "KolibriOS gcc toolchain"
|
||||
#define MyAppVersion "0.1"
|
||||
#define MyAppVersion "0.1.4"
|
||||
#define MyAppPublisher "Egor00f"
|
||||
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"
|
||||
|
||||
@@ -16,7 +16,8 @@ AppVersion={#MyAppVersion}
|
||||
AppPublisher={#MyAppPublisher}
|
||||
AppPublisherURL={#MyAppURL}
|
||||
AppSupportURL={#MyAppURL}
|
||||
AppUpdatesURL={#MyAppURL}
|
||||
AppUpdatesURL={#MyAppURL}\releases
|
||||
AppReadmeFile=.\README.md
|
||||
DefaultDirName=C:\MinGW\msys\1.0\home\autobuild\tools
|
||||
DefaultGroupName={#MyAppName}
|
||||
AllowNoIcons=yes
|
||||
@@ -57,8 +58,39 @@ Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
|
||||
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
|
||||
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
|
||||
|
||||
|
||||
[Registry]
|
||||
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; \
|
||||
ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\win32\bin"; \
|
||||
Check: NeedsAddPath('{app}\win32\bin')
|
||||
|
||||
[Files]
|
||||
Source: ".\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: ".\install.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\install.bat"; description: "install script"; StatusMsg: "Installing toolchain"; Flags: runhidden logoutput
|
||||
Filename: "{app}\install.bat"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "{app}"; Flags: runhidden logoutput
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
||||
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
||||
|
||||
[UninstallDelete]
|
||||
Type: files; Name: "{app}\*"
|
||||
|
||||
[Code]
|
||||
function NeedsAddPath(Param: string): boolean;
|
||||
var
|
||||
OrigPath: string;
|
||||
begin
|
||||
if not RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
|
||||
'Path', OrigPath)
|
||||
then begin
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
{ look for the path with leading and trailing semicolon }
|
||||
{ Pos() returns 0 if not found }
|
||||
Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0;
|
||||
end;
|
14
package/DEBIAN/control
Executable file
14
package/DEBIAN/control
Executable file
@@ -0,0 +1,14 @@
|
||||
Package: kos32-gcc
|
||||
Version: 0.1.4
|
||||
Architecture: all
|
||||
Section: devel
|
||||
Depends: libc6-i386:amd64, libmpc3:amd64
|
||||
Pre-Depends: p7zip-full, wget
|
||||
Recommends: fasm
|
||||
Priority: optional
|
||||
Homepage: https://github.com/Egor00f/kolibrios-gcc-toolchain
|
||||
Origin: http://ftp.kolibrios.org/users/Serge/new/Toolchain
|
||||
Maintainer: Egor00f <velikiydolbayeb@gmail.com>
|
||||
Installed-Size: 131708
|
||||
Description: KolibriOS gcc toolchain installer
|
||||
This package installing KolibriOS gcc toolchain by Serge.
|
12
package/DEBIAN/postrm
Executable file
12
package/DEBIAN/postrm
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
|
||||
|
||||
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
|
||||
|
||||
if grep -q '$MESSAGE' /etc/profile; then
|
||||
sudo sed -i '/$MESSAGE/d' /etc/profile
|
||||
fi
|
||||
|
||||
rm /etc/kos32-gcc -R
|
||||
|
7
package/DEBIAN/prerm
Executable file
7
package/DEBIAN/prerm
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
|
||||
|
||||
rm -R $TOOLCHAIN_DIR
|
||||
|
||||
rm -R /home/autobuild
|
Reference in New Issue
Block a user