mirror of
https://github.com/Egor00f/kolibrios-gcc-toolchain.git
synced 2025-09-20 18:00:07 +02:00
start make offline installers
Changes: + downloading archives in building
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,3 +6,4 @@ build/
|
||||
chocolatey/kos32-gcc*.nupkg
|
||||
chocolatey/install.ps1
|
||||
chocolatey/tools/install.ps1
|
||||
*.7z
|
||||
|
10
.vscode/settings.json
vendored
10
.vscode/settings.json
vendored
@@ -6,5 +6,13 @@
|
||||
"msys",
|
||||
"kolibrios",
|
||||
"Egor"
|
||||
]
|
||||
],
|
||||
"cSpell.ignorePaths": [
|
||||
"vscode-extension",
|
||||
".git/objects",
|
||||
".vscode",
|
||||
".vscode-insiders",
|
||||
"package/DEBIAN"
|
||||
],
|
||||
"cmake.parallelJobs": 1
|
||||
}
|
@@ -5,11 +5,39 @@ project(
|
||||
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
download_libraries
|
||||
COMMAND wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q
|
||||
COMMAND wget -r --no-parent -q http://builds.kolibrios.org/en_US/data/contrib/sdk/lib
|
||||
COMMAND 7z x -y sdk-28-10-16.7z
|
||||
COMMAND mv builds.kolibrios.org/en_US/data/contrib/sdk/lib/* ./
|
||||
COMMAND rm -R builds.kolibrios.org
|
||||
COMMENT "Download libraries"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libs
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
download_linux
|
||||
COMMAND wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z
|
||||
COMMAND wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Download linux toolchain"
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
download_windows
|
||||
COMMAND wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z
|
||||
COMMENT "Download windows toolchain"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
|
||||
add_custom_target(
|
||||
deb
|
||||
COMMAND mkdir -p ${CMAKE_CURRENT_SOURCE_DIR}/package/usr/lib/x86_64-linux-gnu
|
||||
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 7z x ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z -o ${CMAKE_CURRENT_SOURCE_DIR}/package/usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
||||
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
|
||||
@@ -19,18 +47,44 @@ add_custom_target(
|
||||
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Build deb package"
|
||||
SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/install.sh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postrm
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
Installer
|
||||
COMMAND 7z x ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z -o ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||
COMMENT "Build windows installer"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/README.md
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
choco
|
||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.ps1 ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools
|
||||
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey/tools
|
||||
COMMAND choco pack
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
|
||||
COMMENT "Build chocolatey package"
|
||||
)
|
||||
|
||||
add_dependencies(
|
||||
deb
|
||||
download_linux
|
||||
)
|
||||
|
||||
add_dependencies(
|
||||
choco
|
||||
download_windows
|
||||
)
|
||||
|
||||
add_dependencies(
|
||||
Installer
|
||||
download_windows
|
||||
)
|
||||
|
@@ -10,7 +10,10 @@
|
||||
|
||||
### Linux
|
||||
|
||||
Просто запустите `install.sh`.
|
||||
Просто запустите `install.sh` с аргументом `online`:
|
||||
```
|
||||
./install.sh online
|
||||
```
|
||||
|
||||
Некоторые команды требуют sudo.
|
||||
|
||||
|
18
install.sh
18
install.sh
@@ -49,8 +49,6 @@ echo "Installing toolchain to $TOOLCHAIN_DIR"
|
||||
|
||||
print_msg "Checking utilities..."
|
||||
|
||||
|
||||
|
||||
check_utils wget
|
||||
check_utils 7z
|
||||
|
||||
@@ -64,25 +62,24 @@ sudo mkdir -p $TOOLCHAIN_DIR
|
||||
print_ok "Successfully!"
|
||||
|
||||
|
||||
|
||||
if ["$1" == "online"]; then
|
||||
print_msg "Download the kos32-gcc toolchain..."
|
||||
|
||||
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
|
||||
sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O /tmp/kos32-toolchain.7z
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
|
||||
fi
|
||||
|
||||
print_msg "Extracting files ..."
|
||||
|
||||
cd $TOOLCHAIN_DIR
|
||||
sudo 7z x -y kos32-toolchain.7z
|
||||
sudo rm -rf kos32-toolchain.7z
|
||||
sudo 7z x -y /tmp/kos32-toolchain.7z -o $TOOLCHAIN_DIR
|
||||
sudo rm -rf /tmp/kos32-toolchain.7z
|
||||
|
||||
print_ok "Successfully!"
|
||||
|
||||
|
||||
|
||||
|
||||
print_msg "Downloading libraries..."
|
||||
|
||||
cd $TOOLCHAIN_DIR/win32/mingw32
|
||||
@@ -105,6 +102,7 @@ print_ok "Successfully!"
|
||||
|
||||
|
||||
|
||||
if ["$1" == "online"]; then
|
||||
print_msg "Downloading libisl..."
|
||||
|
||||
cd /tmp
|
||||
@@ -116,6 +114,8 @@ if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
|
||||
fi
|
||||
|
||||
sudo mv /tmp/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
||||
fi
|
||||
|
||||
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10
|
||||
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/libisl.so.10
|
||||
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10
|
||||
|
@@ -2,7 +2,7 @@
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
#define MyAppName "KolibriOS gcc toolchain"
|
||||
#define MyAppVersion "0.1.5"
|
||||
#define MyAppVersion "0.1.6"
|
||||
#define MyAppPublisher "Egor00f"
|
||||
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"
|
||||
|
||||
@@ -65,11 +65,10 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
|
||||
Check: NeedsAddPath('{app}\win32\bin')
|
||||
|
||||
[Files]
|
||||
Source: ".\install.ps1"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: ".\build\libs"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: ".\build\win32"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\install.ps1"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "-InstallPath {app}"; Flags: runhidden logoutput
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
Package: kos32-gcc
|
||||
Version: 0.1.5
|
||||
Version: 0.1.6
|
||||
Architecture: all
|
||||
Section: devel
|
||||
Depends: libc6-i386:amd64, libmpc3:amd64
|
||||
|
Reference in New Issue
Block a user