joeylib2/installer/components/llvmMingw.sh

43 lines
1.4 KiB
Bash

# shellcheck shell=bash
# Part of JoeyLib, Copyright (c) 2026 Scott Duensing, under the MIT License.
# See LICENSE.md for license information.
# SPDX-License-Identifier: MIT
#
# llvm-mingw 20260922, msvcrt flavour: the cross compiler the win32 port
# (make win32) builds Windows programs with -- clang, lld and the mingw-w64
# headers and libraries, prebuilt for Linux x86-64. The msvcrt flavour links
# against MSVCRT.DLL, the C library every Windows since 95 OSR2 carries (the
# ucrt one needs Windows 10's), so a program runs on the old Windows the
# port aims at. Programs are 32-bit (i686).
compDescription="win32: llvm-mingw 20260922 (msvcrt, i686 target)"
compGroups="toolchain:win32"
compRequires="host"
compHostDeps="tar xz"
compUrl="https://github.com/mstorsjo/llvm-mingw/releases/download/20260922/llvm-mingw-20260922-msvcrt-ubuntu-22.04-x86_64.tar.xz"
compSha256="17bbc667b96f7b1f02ce4a172d8cac4fa480927a1f649e788dee5914919566a1"
compPin="$compSha256"
compInstall() {
local archive
archive="$(fetchFile "$compUrl" "$compSha256")"
rm -rf "$compDir"
extractArchive "$archive" "$compDir" 1
}
compInstalled() {
[ -x "$compDir/bin/i686-w64-mingw32-clang" ]
}
compVerify() {
verifyCompiles "$compDir/bin/i686-w64-mingw32-clang"
}
compEnv() {
envVar WIN32_CC "$compDir/bin/i686-w64-mingw32-clang"
envVar WIN32_AR "$compDir/bin/i686-w64-mingw32-ar"
}