mirror of
https://github.com/Egor00f/kolibrios-gcc-toolchain.git
synced 2025-09-20 18:00:07 +02:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
79af1f9411 | |||
|
3fe69b35df | ||
|
9f5b23a586 | ||
adf0f3a62a | |||
|
3812696d61 | ||
|
4a24012df0 | ||
|
99c4dce943 | ||
9cd3a05980 | |||
|
b8a7e18e21 | ||
|
05244d556f | ||
|
0374af72f6 | ||
|
1a05d66976 | ||
|
fe4d4bc277 | ||
743ad5a0cd | |||
|
80198a0692 | ||
|
0a93ba45c2 | ||
|
e81277efc3 | ||
81ede577a3 | |||
c8dfcc7e13 | |||
a64723dec2 | |||
2bfe470796 | |||
dfde28f76f | |||
|
7e88c422d4 | ||
|
7250a0cc50 | ||
ca0898f7f5 |
98
.github/workflows/test.yml
vendored
98
.github/workflows/test.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
name: test
|
name: Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -8,10 +8,10 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
#Test linux install script
|
#Test linux install script
|
||||||
linux-install:
|
linux-install:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
@@ -26,8 +26,8 @@ jobs:
|
|||||||
kos32-gcc -v
|
kos32-gcc -v
|
||||||
kos32-g++ -v
|
kos32-g++ -v
|
||||||
|
|
||||||
#Test windows install script
|
#Test Batch install script
|
||||||
windows-install:
|
batch-install:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -38,11 +38,31 @@ jobs:
|
|||||||
choco install 7zip
|
choco install 7zip
|
||||||
|
|
||||||
- name: Run script
|
- name: Run script
|
||||||
run: ${{ github.workspace }}/install.bat
|
run: ${{ github.workspace }}\install.bat
|
||||||
|
|
||||||
|
#Test PowerShell install script
|
||||||
|
PowerShell-install:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install modules
|
||||||
|
run: |
|
||||||
|
Set-PSRepository PSGallery -InstallationPolicy Trusted
|
||||||
|
Install-Module -Name 7Zip4PowerShell
|
||||||
|
|
||||||
|
- name: Run script
|
||||||
|
run: ${{ github.workspace }}\install.ps1
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
kos32-gcc -v
|
||||||
|
kos32-g++ -v
|
||||||
|
|
||||||
#Test Windows Installer
|
#Test Windows Installer
|
||||||
build-Installer:
|
build-Installer:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
needs: PowerShell-install
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
@@ -58,24 +78,37 @@ jobs:
|
|||||||
# Upload entire repository
|
# Upload entire repository
|
||||||
path: './build/installer.exe'
|
path: './build/installer.exe'
|
||||||
|
|
||||||
# Test Package
|
# Test deb package build
|
||||||
package:
|
deb-package-build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: linux-install
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
cmake -B ${{ github.workspace }}/build
|
cmake -B ${{ github.workspace }}/build
|
||||||
cmake --build ${{ github.workspace }}/build --target Package
|
cmake --build ${{ github.workspace }}/build --target deb
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: package
|
name: deb-package
|
||||||
# Upload entire repository
|
# Upload entire repository
|
||||||
path: './build/package.deb'
|
path: './build/package.deb'
|
||||||
|
|
||||||
|
# Test deb package install/remove
|
||||||
|
deb-package-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: deb-package-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake -B ${{ github.workspace }}/build
|
||||||
|
cmake --build ${{ github.workspace }}/build --target deb
|
||||||
|
|
||||||
- name: Install package
|
- name: Install package
|
||||||
run: echo '/kolibrios-toolchain' | sudo apt install ${{ github.workspace }}/build/package.deb -y
|
run: echo '/kolibrios-toolchain' | sudo apt install ${{ github.workspace }}/build/package.deb -y
|
||||||
|
|
||||||
@@ -94,3 +127,50 @@ jobs:
|
|||||||
- name: Remove package
|
- name: Remove package
|
||||||
run: sudo apt remove kos32-gcc
|
run: sudo apt remove kos32-gcc
|
||||||
|
|
||||||
|
#Test chocolatey package build
|
||||||
|
chocolatey-package-build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
needs: PowerShell-install
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake -B ${{ github.workspace }}/build
|
||||||
|
cmake --build ${{ github.workspace }}/build --target choco
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: choco-package
|
||||||
|
# Upload entire repository
|
||||||
|
path: './build/choco-package.nupkg'
|
||||||
|
|
||||||
|
# Test chocolatey package install/remove
|
||||||
|
chocolatey-package-test:
|
||||||
|
runs-on: windows-latest
|
||||||
|
needs: chocolatey-package-build
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install modules
|
||||||
|
run: |
|
||||||
|
Set-PSRepository PSGallery -InstallationPolicy Trusted
|
||||||
|
Install-Module -Name 7Zip4PowerShell
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake -B ${{ github.workspace }}/build
|
||||||
|
cmake --build ${{ github.workspace }}/build --target choco
|
||||||
|
|
||||||
|
- name: Install package
|
||||||
|
run: choco install ${{ github.workspace }}\build\choco-package.nupkg
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
kos32-gcc -v
|
||||||
|
kos32-g++ -v
|
||||||
|
|
||||||
|
- name: Remove package
|
||||||
|
run: choco uninstall kos32-gcc
|
||||||
|
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -3,3 +3,7 @@ package/DEBIAN/postinst
|
|||||||
package/DEBIAN/copyright
|
package/DEBIAN/copyright
|
||||||
package.deb
|
package.deb
|
||||||
build/
|
build/
|
||||||
|
chocolatey/kos32-gcc*.nupkg
|
||||||
|
chocolatey/install.ps1
|
||||||
|
chocolatey/tools/install.ps1
|
||||||
|
bat/builds.kolibrios.org
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
|
||||||
|
|
||||||
project(
|
project(
|
||||||
KolibriOS-gcc-Toolchain-installer
|
KolibriOS-gcc-Toolchain-installer
|
||||||
@@ -7,7 +7,7 @@ project(
|
|||||||
|
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
Package
|
deb
|
||||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
|
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 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
|
||||||
@@ -18,9 +18,19 @@ add_custom_target(
|
|||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
|
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
|
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Build deb package"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
Installer
|
Installer
|
||||||
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||||
|
COMMENT "Build windows installer"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
choco
|
||||||
|
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.ps1 ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools
|
||||||
|
COMMAND choco pack
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
|
||||||
|
COMMENT "Build chocolatey package"
|
||||||
)
|
)
|
||||||
|
3
CONTRIBUTING.md
Normal file
3
CONTRIBUTING.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Как законтрибьютить?
|
||||||
|
|
||||||
|
просто форкаешь репозиторий, делаешь нужные изменения, делаешь запрос на слияние, ждёшь принятия запроса
|
23
README.md
23
README.md
@@ -1,9 +1,8 @@
|
|||||||
# Установщик gcc тулчейна для KolibriOS
|
# Установщик gcc тулчейна для KolibriOS
|
||||||
|
|
||||||
Просто устанавливает тулчейн.
|
Просто устанавливает тулчейн C/C++ компилятора для KolinriOS от Serge.
|
||||||
|
|
||||||
оригинальный скрипт для linux взят из http://board.kolibrios.org/viewtopic.php?p=76227&hilit=%D1%82%D1%83%D0%BB%D1%87%D0%B5%D0%B9%D0%BD#p76227
|
Оригинальный скрипт для linux взят [по ссылке](http://board.kolibrios.org/viewtopic.php?p=76227&hilit=%D1%82%D1%83%D0%BB%D1%87%D0%B5%D0%B9%D0%BD#p76227) (скрипт был значительно изменён).
|
||||||
(скрипт подправлен)
|
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
@@ -13,7 +12,9 @@
|
|||||||
|
|
||||||
Просто запустите `install.sh`.
|
Просто запустите `install.sh`.
|
||||||
|
|
||||||
Некоторые команды требуют sudo
|
Некоторые команды требуют sudo.
|
||||||
|
|
||||||
|
Или установите пакет. [Ссылка на пакет](https://git.kolibrios.org/Egor00f/-/packages/debian/kos32-gcc/) или в релизах.
|
||||||
|
|
||||||
Тулчейн по умолчанию устанавливается в папку `/home/autobuild/tools/win32`, но скрипт вас спросит перед установкой.
|
Тулчейн по умолчанию устанавливается в папку `/home/autobuild/tools/win32`, но скрипт вас спросит перед установкой.
|
||||||
|
|
||||||
@@ -21,24 +22,28 @@
|
|||||||
|
|
||||||
Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW.
|
Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW.
|
||||||
|
|
||||||
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами
|
Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами.
|
||||||
|
|
||||||
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
|
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
|
||||||
|
|
||||||
Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию)
|
Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). Например:
|
||||||
|
|
||||||
|
```
|
||||||
|
install.bat Path
|
||||||
|
```
|
||||||
|
|
||||||
## Сборка установщиков
|
## Сборка установщиков
|
||||||
|
|
||||||
Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
|
Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн.
|
||||||
|
|
||||||
Установщики собираются с помощью cmake (cmake просто потому что могу)
|
Установщики собираются с помощью cmake (cmake просто потому что могу).
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
Можно собрать deb пакет. Цель для сборки Package. Для сборки требуется `dpkg-deb`
|
Можно собрать deb пакет. Цель для сборки Package. Для сборки требуется `dpkg-deb`.
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
|
Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup.
|
||||||
|
|
||||||
Если сборка не работает, добавьте папку Inno Setup(например: `C:\Programs Files\Inno Setup 6`) в PATH
|
Если сборка не работает, добавьте папку Inno Setup (например: `C:\Programs Files\Inno Setup 6`) в PATH.
|
||||||
|
4
bat/cleanArchives.bat
Normal file
4
bat/cleanArchives.bat
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
set TOOLCHAIN_DIR=%1
|
||||||
|
|
||||||
|
del /Q %TOOLCHAIN_DIR%\kos32-toolchain.7z
|
||||||
|
del /Q %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
|
6
bat/downloadLibraries.bat
Normal file
6
bat/downloadLibraries.bat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
set TOOLCHAIN_DIR=%1
|
||||||
|
|
||||||
|
|
||||||
|
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
|
||||||
|
|
||||||
|
7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z -o%TOOLCHAIN_DIR%\win32\mingw32
|
5
bat/downloadToolchain.bat
Normal file
5
bat/downloadToolchain.bat
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
set TOOLCHAIN_DIR=%1
|
||||||
|
|
||||||
|
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 -o%TOOLCHAIN_DIR%
|
5
bat/updateLibraries.bat
Normal file
5
bat/updateLibraries.bat
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
set TOOLCHAIN_DIR=%1
|
||||||
|
|
||||||
|
wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/
|
||||||
|
move /y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* %TOOLCHAIN_DIR%\win32\mingw32\lib
|
||||||
|
rd /s /q builds.kolibrios.org
|
22
chocolatey/kos32-gcc.nuspec
Normal file
22
chocolatey/kos32-gcc.nuspec
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
|
<metadata>
|
||||||
|
<id>kos32-gcc</id>
|
||||||
|
<title>KolibriOS gcc toolchain installer</title>
|
||||||
|
<version>0.1.5</version>
|
||||||
|
<authors>Egor00f</authors>
|
||||||
|
<owners>Egor00f</owners>
|
||||||
|
<summary>idk</summary>
|
||||||
|
<description>_KolibriOS gcc toolchain installer. This package installing KolibriOS gcc toolchain by Serge.</description>
|
||||||
|
<packageSourceUrl>https://github.com/Egor00f/kolibrios-gcc-toolchain/</packageSourceUrl>
|
||||||
|
<tags>kolibrios toolchain compiler C/C++</tags>
|
||||||
|
<copyright></copyright>
|
||||||
|
<licenseUrl>https://github.com/Egor00f/kolibrios-gcc-toolchain/blob/main/LICENSE</licenseUrl>
|
||||||
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
|
<!--<iconUrl>http://cdn.rawgit.com/__CHOCO_PKG_MAINTAINER_REPO__/master/icons/__NAME__.png</iconUrl>-->
|
||||||
|
<releaseNotes></releaseNotes>
|
||||||
|
</metadata>
|
||||||
|
<files>
|
||||||
|
<file src="tools\**" target="tools" />
|
||||||
|
</files>
|
||||||
|
</package>
|
14
chocolatey/tools/chocolateyInstall.ps1
Normal file
14
chocolatey/tools/chocolateyInstall.ps1
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#NOTE: Please remove any commented lines to tidy up prior to releasing the package, including this one
|
||||||
|
|
||||||
|
$packageName = 'kos32-gcc' # arbitrary name for the package, used in messages
|
||||||
|
|
||||||
|
# main helpers - these have error handling tucked into them already
|
||||||
|
# installer, will assert administrative rights
|
||||||
|
|
||||||
|
|
||||||
|
$INSTALL_PATH = Read-Host 'Path to install toolchain(Enter - default)'
|
||||||
|
|
||||||
|
C:\ProgramData\Chocolatey\lib\kos32-gcc\tools\install.ps1
|
||||||
|
|
||||||
|
Out-File -FilePath C:\ProgramData\Chocolatey\lib\kos32-gcc\install-path -InputObject $INSTALL_PATH
|
||||||
|
|
4
chocolatey/tools/chocolateyUninstall.ps1
Normal file
4
chocolatey/tools/chocolateyUninstall.ps1
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
$installPath = Get-Content C:\ProgramData\Chocolatey\lib\kos32-gcc\install-path | Out-String | ConvertFrom-StringData
|
||||||
|
|
||||||
|
Remove-Item -LiteralPath $installPath -Force -Recurse
|
28
install.bat
28
install.bat
@@ -1,4 +1,4 @@
|
|||||||
@echo off
|
rem@echo off
|
||||||
|
|
||||||
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
|
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
|
||||||
|
|
||||||
@@ -12,6 +12,7 @@ else (
|
|||||||
set TOOLCHAIN_DIR=%1
|
set TOOLCHAIN_DIR=%1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
echo %TOOLCHAIN_DIR%
|
||||||
|
|
||||||
Call :print_msg Create the %TOOLCHAIN_DIR% folder...
|
Call :print_msg Create the %TOOLCHAIN_DIR% folder...
|
||||||
|
|
||||||
@@ -20,14 +21,11 @@ mkdir %TOOLCHAIN_DIR%
|
|||||||
Call :print_ok Successfully!
|
Call :print_ok Successfully!
|
||||||
|
|
||||||
|
|
||||||
|
cd bat
|
||||||
|
|
||||||
call :print_msg Download the kos32-gcc toolchain...
|
call :print_msg Download the kos32-gcc toolchain...
|
||||||
|
|
||||||
cd %TOOLCHAIN_DIR%
|
downloadToolchain %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 -o%TOOLCHAIN_DIR%
|
|
||||||
|
|
||||||
Call :print_ok Successfully!
|
Call :print_ok Successfully!
|
||||||
|
|
||||||
@@ -35,11 +33,7 @@ Call :print_ok Successfully!
|
|||||||
|
|
||||||
Call :print_msg Downloading libraries...
|
Call :print_msg Downloading libraries...
|
||||||
|
|
||||||
cd %TOOLCHAIN_DIR%\win32\mingw32
|
downloadLibraries.bat %TOOLCHAIN_DIR%
|
||||||
|
|
||||||
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
|
|
||||||
|
|
||||||
7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
|
|
||||||
|
|
||||||
Call :print_ok Successfully!
|
Call :print_ok Successfully!
|
||||||
|
|
||||||
@@ -47,17 +41,7 @@ Call :print_ok Successfully!
|
|||||||
|
|
||||||
Call :print_msg Updating libraries
|
Call :print_msg Updating libraries
|
||||||
|
|
||||||
cd %TOOLCHAIN_DIR%\win32\mingw32\lib
|
updateLibraries %TOOLCHAIN_DIR%
|
||||||
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libdll.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libfreetype.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libc.dll.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libSDLn.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libcurses.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libz.dll.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libogg.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libvorbis.a
|
|
||||||
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libopenjpeg.a
|
|
||||||
|
|
||||||
Call :print_ok Successfully!
|
Call :print_ok Successfully!
|
||||||
|
|
||||||
|
57
install.ps1
Normal file
57
install.ps1
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
#Requires -RunAsAdministrator
|
||||||
|
|
||||||
|
param(
|
||||||
|
[string]$InstallPath='C:\MinGW\msys\1.0\home\autobuild\tools'
|
||||||
|
)
|
||||||
|
|
||||||
|
if (Get-Module -ListAvailable -Name 7Zip4PowerShell)
|
||||||
|
{}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Install-Module -Name 7Zip4PowerShell
|
||||||
|
}
|
||||||
|
|
||||||
|
$LIBS_PATH = '$InstallPath\win32\mingw32\lib\'
|
||||||
|
$LIBS_URL = 'http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/'
|
||||||
|
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Installing toolchain' -PercentComplete 0 -CurrentOperation 'Create the $InstallPath folder'
|
||||||
|
|
||||||
|
mkdir $InstallPath -Force
|
||||||
|
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Installing toolchain' -PercentComplete 1 -CurrentOperation 'Download the kos32-gcc toolchain'
|
||||||
|
|
||||||
|
Invoke-WebRequest http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -OutFile $InstallPath\kos32-toolchain.7z
|
||||||
|
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Installing toolchain' -PercentComplete 20 -CurrentOperation 'Unpacking kos32-gcc toolchain'
|
||||||
|
|
||||||
|
Expand-7Zip -ArchiveFileName $InstallPath\kos32-toolchain.7z -TargetPath $InstallPath
|
||||||
|
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Installing libraries' -PercentComplete 40 -CurrentOperation 'Downloading libraries'
|
||||||
|
|
||||||
|
Invoke-WebRequest http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -OutFile $InstallPath\win32\mingw32\sdk-28-10-16.7z
|
||||||
|
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Installing libraries' -PercentComplete 50 -CurrentOperation 'Unpacking libraries'
|
||||||
|
|
||||||
|
Expand-7Zip -ArchiveFileName $InstallPath\win32\mingw32\sdk-28-10-16.7z -TargetPath $InstallPath\win32\mingw32\
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Installing libraries' -PercentComplete 60 -CurrentOperation "Download libraries"
|
||||||
|
|
||||||
|
|
||||||
|
$response = Invoke-WebRequest -Uri $LIBS_URL -Method GET
|
||||||
|
|
||||||
|
$files = @( $response.Content -split [environment]::NewLine | ? { $_ -like '*tageswerte*.zip*' } | % { $_ -replace '^(.*>)(tages.*\.zip)<.*', '$2' } )
|
||||||
|
|
||||||
|
foreach( $file in $files ) {
|
||||||
|
|
||||||
|
Invoke-WebRequest -Uri ($LIBS_URL + $file) -Method GET -OutFile ($LIBS_PATH + $file)
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Progress -Activity 'Installing toolchain' -Status 'Done!' -PercentComplete 99 -CurrentOperation "end"
|
||||||
|
|
43
install.sh
43
install.sh
@@ -2,8 +2,14 @@
|
|||||||
|
|
||||||
# Written by turbocat2001 (Maxim Logaev)
|
# Written by turbocat2001 (Maxim Logaev)
|
||||||
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
|
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
|
||||||
|
# modified by Egor00f (Egor)
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
pwd
|
||||||
|
|
||||||
|
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
|
||||||
|
|
||||||
|
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
|
||||||
|
|
||||||
print_msg(){
|
print_msg(){
|
||||||
echo -e "\e[34m$1\e[0m"
|
echo -e "\e[34m$1\e[0m"
|
||||||
@@ -28,22 +34,14 @@ check_utils(){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
pwd
|
echo -n -e "\e[0m Toolchain install path \e[90m(default is $TOOLCHAIN_DIR): \e[97m"
|
||||||
|
|
||||||
DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools"
|
|
||||||
|
|
||||||
TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR
|
|
||||||
|
|
||||||
MESSAGE="Toolchain install path(default is $TOOLCHAIN_DIR): "
|
|
||||||
|
|
||||||
echo -n $MESSAGE
|
|
||||||
read INPUT
|
read INPUT
|
||||||
|
|
||||||
if [[ ! -z "$INPUT" ]]; then
|
if [[ ! -z "$INPUT" ]]; then
|
||||||
TOOLCHAIN_DIR=$INPUT
|
TOOLCHAIN_DIR=$INPUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Installing toolchain to $TOOLCHAIN_DIR"
|
echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
|
||||||
|
|
||||||
|
|
||||||
print_msg "Checking utilities..."
|
print_msg "Checking utilities..."
|
||||||
@@ -75,7 +73,7 @@ print_ok "Successfully!"
|
|||||||
print_msg "Extracting files ..."
|
print_msg "Extracting files ..."
|
||||||
|
|
||||||
cd $TOOLCHAIN_DIR
|
cd $TOOLCHAIN_DIR
|
||||||
sudo 7z x -y kos32-toolchain.7z
|
sudo 7z x -y -bso0 -bsp0 kos32-toolchain.7z
|
||||||
sudo rm -rf kos32-toolchain.7z
|
sudo rm -rf kos32-toolchain.7z
|
||||||
|
|
||||||
print_ok "Successfully!"
|
print_ok "Successfully!"
|
||||||
@@ -86,7 +84,7 @@ print_msg "Downloading libraries..."
|
|||||||
|
|
||||||
cd $TOOLCHAIN_DIR/win32/mingw32
|
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 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 7z x -y -bso0 -bsp0 sdk-28-10-16.7z
|
||||||
sudo rm -rf sdk-28-10-16.7z
|
sudo rm -rf sdk-28-10-16.7z
|
||||||
|
|
||||||
print_ok "Successfully!"
|
print_ok "Successfully!"
|
||||||
@@ -96,15 +94,9 @@ print_ok "Successfully!"
|
|||||||
print_msg "Updating libraries"
|
print_msg "Updating libraries"
|
||||||
|
|
||||||
cd lib
|
cd lib
|
||||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
|
sudo wget -r --no-parent -q http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/
|
||||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
|
sudo mv builds.kolibrios.org/en_US/data/contrib/sdk/lib/* ./
|
||||||
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
|
sudo rm -R builds.kolibrios.org
|
||||||
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!"
|
print_ok "Successfully!"
|
||||||
|
|
||||||
@@ -114,7 +106,7 @@ print_msg "Downloading libisl..."
|
|||||||
|
|
||||||
cd /tmp
|
cd /tmp
|
||||||
sudo wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O /tmp/libisl.so.10.2.2.7z
|
sudo wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O /tmp/libisl.so.10.2.2.7z
|
||||||
sudo 7z x -y libisl.so.10.2.2.7z
|
sudo 7z x -y -bso0 -bsp0 libisl.so.10.2.2.7z
|
||||||
|
|
||||||
if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
|
if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
|
||||||
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
|
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
|
||||||
@@ -160,9 +152,10 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/bin/*
|
sudo chmod 775 $TOOLCHAIN_DIR/win32/bin/*
|
||||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/include/*
|
sudo chmod 774 $TOOLCHAIN_DIR/win32/include/*
|
||||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/lib/gcc/mingw32/5.4.0/include/*
|
sudo chmod 774 $TOOLCHAIN_DIR/win32/lib/*
|
||||||
sudo chmod 775 $TOOLCHAIN_DIR/win32/lib/gcc/mingw32/5.4.0/include/c++/*
|
sudo chmod 774 $TOOLCHAIN_DIR/win32/mingw32/lib/*
|
||||||
|
sudo chmod -R 775 /home/autobuild/tools/win32/lib/gcc
|
||||||
|
|
||||||
cd "$OLDPWD"
|
cd "$OLDPWD"
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||||
|
|
||||||
#define MyAppName "KolibriOS gcc toolchain"
|
#define MyAppName "KolibriOS gcc toolchain"
|
||||||
#define MyAppVersion "0.1.4"
|
#define MyAppVersion "0.1.5"
|
||||||
#define MyAppPublisher "Egor00f"
|
#define MyAppPublisher "Egor00f"
|
||||||
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"
|
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"
|
||||||
|
|
||||||
@@ -65,18 +65,25 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
|
|||||||
Check: NeedsAddPath('{app}\win32\bin')
|
Check: NeedsAddPath('{app}\win32\bin')
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: ".\install.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
Source: ".\bat\downloadToolchain.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
|
Source: ".\bat\downloadLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
|
Source: ".\bat\updateLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
|
|
||||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||||
|
|
||||||
[Run]
|
[Run]
|
||||||
Filename: "{app}\install.bat"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "{app}"; Flags: runhidden logoutput
|
Filename: "{app}\downloadToolchain.bat"; description: "install toolchain script"; StatusMsg: "Installing toolchain"; Parameters: "{app}"; Flags: runhidden logoutput
|
||||||
|
Filename: "{app}\downloadLibraries.bat"; description: "download libraries script"; StatusMsg: "Download libraries"; Parameters: "{app}"; Flags: runhidden logoutput
|
||||||
|
Filename: "{app}\updateLibraries.bat"; description: "update libraries script"; StatusMsg: "Updating libraries"; Parameters: "{app}"; Flags: runhidden logoutput
|
||||||
|
Filename: "{app}\cleanArchives.bat"; description: "Delete downloaded archives script"; StatusMsg: "Delete downloaded archives"; Parameters: "{app}"; Flags: runhidden logoutput
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
||||||
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
||||||
|
|
||||||
[UninstallDelete]
|
[UninstallDelete]
|
||||||
Type: files; Name: "{app}\*"
|
Type: files; Name: "{app}"
|
||||||
|
Type: filesandordirs; Name: "{app}\win32"
|
||||||
|
|
||||||
[Code]
|
[Code]
|
||||||
function NeedsAddPath(Param: string): boolean;
|
function NeedsAddPath(Param: string): boolean;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
Package: kos32-gcc
|
Package: kos32-gcc
|
||||||
Version: 0.1.4
|
Version: 0.1.7
|
||||||
Architecture: all
|
Architecture: amd64
|
||||||
Section: devel
|
Section: devel
|
||||||
Depends: libc6-i386:amd64, libmpc3:amd64
|
Depends: libc6-i386:amd64, libmpc3:amd64
|
||||||
Pre-Depends: p7zip-full, wget
|
Pre-Depends: p7zip-full, wget
|
||||||
|
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
|
TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
|
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
|
||||||
|
|
||||||
if grep -q '$MESSAGE' /etc/profile; then
|
|
||||||
sudo sed -i '/$MESSAGE/d' /etc/profile
|
sudo sed -i '/$MESSAGE/d' /etc/profile
|
||||||
fi
|
|
||||||
|
|
||||||
rm /etc/kos32-gcc -R
|
rm /etc/kos32-gcc -R
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user