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/kos32-gcc*.nupkg
|
||||||
chocolatey/install.ps1
|
chocolatey/install.ps1
|
||||||
chocolatey/tools/install.ps1
|
chocolatey/tools/install.ps1
|
||||||
|
*.7z
|
||||||
|
10
.vscode/settings.json
vendored
10
.vscode/settings.json
vendored
@@ -6,5 +6,13 @@
|
|||||||
"msys",
|
"msys",
|
||||||
"kolibrios",
|
"kolibrios",
|
||||||
"Egor"
|
"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"
|
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(
|
add_custom_target(
|
||||||
deb
|
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}/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 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
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
|
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/prerm
|
||||||
@@ -19,18 +47,44 @@ add_custom_target(
|
|||||||
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"
|
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(
|
add_custom_target(
|
||||||
Installer
|
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
|
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
|
||||||
COMMENT "Build windows installer"
|
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(
|
add_custom_target(
|
||||||
choco
|
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
|
COMMAND choco pack
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/chocolatey
|
||||||
COMMENT "Build chocolatey package"
|
COMMENT "Build chocolatey package"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
deb
|
||||||
|
download_linux
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
choco
|
||||||
|
download_windows
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
Installer
|
||||||
|
download_windows
|
||||||
|
)
|
||||||
|
@@ -10,7 +10,10 @@
|
|||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
Просто запустите `install.sh`.
|
Просто запустите `install.sh` с аргументом `online`:
|
||||||
|
```
|
||||||
|
./install.sh online
|
||||||
|
```
|
||||||
|
|
||||||
Некоторые команды требуют sudo.
|
Некоторые команды требуют sudo.
|
||||||
|
|
||||||
|
36
install.sh
36
install.sh
@@ -49,8 +49,6 @@ echo "Installing toolchain to $TOOLCHAIN_DIR"
|
|||||||
|
|
||||||
print_msg "Checking utilities..."
|
print_msg "Checking utilities..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
check_utils wget
|
check_utils wget
|
||||||
check_utils 7z
|
check_utils 7z
|
||||||
|
|
||||||
@@ -64,25 +62,24 @@ sudo mkdir -p $TOOLCHAIN_DIR
|
|||||||
print_ok "Successfully!"
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
if ["$1" == "online"]; then
|
||||||
|
print_msg "Download the kos32-gcc toolchain..."
|
||||||
|
|
||||||
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 /tmp/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!"
|
|
||||||
|
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
fi
|
||||||
|
|
||||||
print_msg "Extracting files ..."
|
print_msg "Extracting files ..."
|
||||||
|
|
||||||
cd $TOOLCHAIN_DIR
|
sudo 7z x -y /tmp/kos32-toolchain.7z -o $TOOLCHAIN_DIR
|
||||||
sudo 7z x -y kos32-toolchain.7z
|
sudo rm -rf /tmp/kos32-toolchain.7z
|
||||||
sudo rm -rf kos32-toolchain.7z
|
|
||||||
|
|
||||||
print_ok "Successfully!"
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print_msg "Downloading libraries..."
|
print_msg "Downloading libraries..."
|
||||||
|
|
||||||
cd $TOOLCHAIN_DIR/win32/mingw32
|
cd $TOOLCHAIN_DIR/win32/mingw32
|
||||||
@@ -105,17 +102,20 @@ print_ok "Successfully!"
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
print_msg "Downloading libisl..."
|
if ["$1" == "online"]; then
|
||||||
|
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 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/
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo mv /tmp/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo mv /tmp/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
|
||||||
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/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 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
|
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!
|
; 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.5"
|
#define MyAppVersion "0.1.6"
|
||||||
#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,11 +65,10 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
|
|||||||
Check: NeedsAddPath('{app}\win32\bin')
|
Check: NeedsAddPath('{app}\win32\bin')
|
||||||
|
|
||||||
[Files]
|
[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
|
; 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]
|
[Icons]
|
||||||
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
Package: kos32-gcc
|
Package: kos32-gcc
|
||||||
Version: 0.1.5
|
Version: 0.1.6
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Section: devel
|
Section: devel
|
||||||
Depends: libc6-i386:amd64, libmpc3:amd64
|
Depends: libc6-i386:amd64, libmpc3:amd64
|
||||||
|
Reference in New Issue
Block a user