Add Windows support and clean up toolchain #10

Merged
harraiken merged 39 commits from multiplatform into master 2025-07-10 12:37:42 +02:00
Owner

What Changed?

General

  • Eliminated custom wrappers for LLVM/Clang and windres

CMake

  • Removed XTchain-branding patches

Build script

  • Renamed build-linux.sh to build.sh — one script now handles both full and minimal builds
  • Added support for building tools for both Windows and Linux.
  • Runtime cleanup
  • Removed mingw-w64 and associated runtime libraries — Windows runtime is not needed for ExectOS/toolchain.

Windows support

  • Added PowerShell scripts that mirror existing Bash functionality.

Pipeline update

  • CI/CD now automatically builds both minimal and full variants.

Build Variants

  1. Minimal: builds integrated tools (bin2c, exetool, xtcspecc) and + Wine tools (widl, wrc, wmc)
  2. Full: includes everything from minimal, plus LLVM/Clang, CMake, and Ninja
## What Changed? ### General - Eliminated custom wrappers for LLVM/Clang and windres ### CMake - Removed XTchain-branding patches ### Build script - Renamed build-linux.sh to build.sh — one script now handles both full and minimal builds - Added support for building tools for both Windows and Linux. - Runtime cleanup - Removed mingw-w64 and associated runtime libraries — Windows runtime is not needed for ExectOS/toolchain. ### Windows support - Added PowerShell scripts that mirror existing Bash functionality. ### Pipeline update - CI/CD now automatically builds both minimal and full variants. ## Build Variants 1. Minimal: builds integrated tools (bin2c, exetool, xtcspecc) and + Wine tools (widl, wrc, wmc) 2. Full: includes everything from minimal, plus LLVM/Clang, CMake, and Ninja
harraiken added 33 commits 2025-07-09 13:23:19 +02:00
Move script
Some checks failed
Builds / XTChain (push) Has been cancelled
b96a800424
Rewrite build script
Some checks failed
Builds / XTChain (push) Has been cancelled
dfd0058a75
Update readme
Some checks failed
Builds / XTChain (push) Has been cancelled
5ab6d382c1
Remove mingw32
Some checks failed
Builds / XTChain (push) Failing after 1m4s
f290b7ad1c
Update pipeline
Some checks failed
Builds / XTChain (push) Failing after 22s
e23ad59586
Build all targets
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m59s
Builds / XTChain (linux) (push) Failing after 8m53s
8c31eb6767
Fix wine tools build
Some checks failed
Builds / XTChain (linux) (push) Failing after -59m25s
Builds / XTChain (windows) (push) Failing after -59m27s
73933eb246
Fix ninja build
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m50s
Builds / XTChain (linux) (push) Successful in 7m34s
9c476578a7
Update xtclib
All checks were successful
Builds / XTChain (linux) (push) Successful in 23s
Builds / XTChain (windows) (push) Successful in 23s
83321f9f59
Delete clang wrapper
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m49s
Builds / XTChain (linux) (push) Successful in 16s
00fe356bea
Delete dlltool wrapper
Some checks failed
Builds / XTChain (linux) (push) Failing after -59m51s
Builds / XTChain (windows) (push) Successful in 15s
8866b4893f
Delete ld wrapper
Some checks failed
Builds / XTChain (linux) (push) Has been cancelled
Builds / XTChain (windows) (push) Has been cancelled
68c4b1ab87
Delete objtool wrapper
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m47s
Builds / XTChain (linux) (push) Successful in 15s
b8b5562cc4
Enable minimal build
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m46s
Builds / XTChain (linux) (push) Successful in 16s
bc85522143
Save XT Toolchain version
Some checks failed
Builds / XTChain (linux) (push) Failing after -59m47s
Builds / XTChain (windows) (push) Failing after -59m48s
aae661d396
Fix xtchain tools build
All checks were successful
Builds / XTChain (linux) (push) Successful in 22s
Builds / XTChain (windows) (push) Successful in 22s
0b5819ad61
Update cmake and ninja
Some checks failed
Builds / XTChain (linux) (push) Failing after -59m50s
Builds / XTChain (windows) (push) Successful in 15s
f928d21d4c
Fixes
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m50s
Builds / XTChain (linux) (push) Successful in 18s
27ef533511
Fix build
Some checks failed
Builds / XTChain (linux) (push) Successful in 16s
Builds / XTChain (windows) (push) Failing after -59m49s
5af8f058bb
Cleanup
Some checks failed
Builds / XTChain (linux) (push) Successful in 16s
Builds / XTChain (windows) (push) Failing after -59m49s
243c010b20
Minimal build enabled
Some checks failed
Builds / XTChain (linux) (push) Failing after 23s
Builds / XTChain (windows) (push) Failing after 23s
153cfa0181
Produce archive
Some checks failed
Builds / XTChain (linux) (push) Failing after 24s
Builds / XTChain (windows) (push) Failing after 23s
e691c95aee
Post build
Some checks failed
Builds / XTChain (linux) (push) Failing after 24s
Builds / XTChain (windows) (push) Failing after 24s
5898a2a484
Delete windres
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m50s
Builds / XTChain (linux) (push) Failing after 15s
18c725042a
Cleanup
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m50s
Builds / XTChain (linux) (push) Failing after 17s
ce388b4ee4
Delete old patch
Some checks failed
Builds / XTChain (windows) (push) Has been cancelled
Builds / XTChain (linux) (push) Has been cancelled
83f5fbd730
Delete old patch
Some checks failed
Builds / XTChain (windows) (push) Failing after -59m52s
Builds / XTChain (linux) (push) Failing after 19s
c1286555da
Add xtclib.ps1
Some checks failed
Builds / XTChain (linux) (push) Failing after -59m51s
Builds / XTChain (windows) (push) Failing after 17s
3d81be54d8
Add xtchain.ps1
Some checks failed
Builds / XTChain (linux) (push) Failing after 24s
Builds / XTChain (windows) (push) Failing after 23s
e4941dea87
Parallel build
Some checks failed
Builds / XTChain (linux) (push) Failing after -59m51s
Builds / XTChain (windows) (push) Failing after 18s
e2aa006f8d
Enable minimal build
Some checks failed
Builds / XTchain (full, linux) (push) Failing after 23s
Builds / XTchain (full, windows) (push) Failing after 21s
Builds / XTchain (minimal, linux) (push) Failing after 22s
Builds / XTchain (minimal, windows) (push) Failing after 22s
9d93103940
Distinguish build type in the archive name
All checks were successful
Builds / XTchain (full, linux) (push) Successful in 2m25s
Builds / XTchain (full, windows) (push) Successful in 2m23s
Builds / XTchain (minimal, linux) (push) Successful in 2m10s
Builds / XTchain (minimal, windows) (push) Successful in 2m6s
eb90b2892a
Uncomment commands
Some checks failed
Builds / XTchain (full, linux) (push) Has started running
Builds / XTchain (full, windows) (push) Has started running
Builds / XTchain (minimal, linux) (push) Has been cancelled
Builds / XTchain (minimal, windows) (push) Has been cancelled
dc7ad21703
harraiken added 1 commit 2025-07-09 13:52:00 +02:00
Revert eb90b2892a
Some checks failed
Builds / XTchain (full, linux) (push) Has started running
Builds / XTchain (full, windows) (push) Has started running
Builds / XTchain (minimal, linux) (push) Has been cancelled
Builds / XTchain (minimal, windows) (push) Has been cancelled
6177658452
harraiken added 1 commit 2025-07-09 13:53:41 +02:00
Update readme
All checks were successful
Builds / XTchain (full, linux) (push) Successful in 1h32m19s
Builds / XTchain (full, windows) (push) Successful in 1h32m47s
Builds / XTchain (minimal, windows) (push) Successful in 2m18s
Builds / XTchain (minimal, linux) (push) Successful in 2m49s
e5dc251860
harraiken added 1 commit 2025-07-09 17:39:41 +02:00
Show windres version and path
Some checks failed
Builds / XTchain (full, linux) (push) Has started running
Builds / XTchain (full, windows) (push) Has started running
Builds / XTchain (minimal, linux) (push) Has been cancelled
Builds / XTchain (minimal, windows) (push) Has been cancelled
e82352d3dd
harraiken added 1 commit 2025-07-09 17:40:59 +02:00
Show windres version and path
All checks were successful
Builds / XTchain (full, linux) (push) Successful in 1h33m8s
Builds / XTchain (full, windows) (push) Successful in 1h33m33s
Builds / XTchain (minimal, linux) (push) Successful in 2m36s
Builds / XTchain (minimal, windows) (push) Successful in 2m8s
d8d25de0d0
First-time contributor

A better prompt that resembles the original one. Git support is "partial".

# Invoke shell with fancy prompt
function global:prompt {
    $toolchain = " XT Toolchain "
    $cwd = (Get-Location).Path
    $git = ""

    if (Get-Command git -ErrorAction SilentlyContinue) {
        try {
            $branch = git rev-parse --abbrev-ref HEAD 2>$null
            if ($branch -and $branch -ne 'HEAD') {
                $git = " $branch"
            }
        } catch {}
    }

    # Define segments only — no standalone chevron objects
    $segments = @(
        @{ Text = $toolchain; Bg = "Blue"; Fg = "White" },
        @{ Text = " $cwd ";     Bg = "DarkCyan";     Fg = "White" }
    )

    # if ($git) {
    #     $segments += @{ Text = " $git "; Bg = "Green"; Fg = "White" }
    # } else {
    #     $segments += @{ Text = "  No Git "; Bg = "Red"; Fg = "White" }
    # }

    $chevron = ""

    # Print segments
    for ($i = 0; $i -lt $segments.Count; $i++) {
        $seg = $segments[$i]
        $nextBg = if ($i + 1 -lt $segments.Count) { $segments[$i + 1].Bg } else { "Default" }

        Write-Host $seg.Text -NoNewLine -ForegroundColor $seg.Fg -BackgroundColor $seg.Bg

        if ($nextBg -ne "Default") {
            Write-Host $chevron -NoNewLine -ForegroundColor $seg.Bg -BackgroundColor $nextBg
        } else {
            Write-Host $chevron -NoNewLine -ForegroundColor $seg.Bg
        }
    }

    return "`n❯ "
}

imagen.png
imagen.png

A better prompt that resembles the original one. Git support is "partial". ```ps1 # Invoke shell with fancy prompt function global:prompt { $toolchain = " XT Toolchain " $cwd = (Get-Location).Path $git = "" if (Get-Command git -ErrorAction SilentlyContinue) { try { $branch = git rev-parse --abbrev-ref HEAD 2>$null if ($branch -and $branch -ne 'HEAD') { $git = " $branch" } } catch {} } # Define segments only — no standalone chevron objects $segments = @( @{ Text = $toolchain; Bg = "Blue"; Fg = "White" }, @{ Text = " $cwd "; Bg = "DarkCyan"; Fg = "White" } ) # if ($git) { # $segments += @{ Text = " $git "; Bg = "Green"; Fg = "White" } # } else { # $segments += @{ Text = "  No Git "; Bg = "Red"; Fg = "White" } # } $chevron = "" # Print segments for ($i = 0; $i -lt $segments.Count; $i++) { $seg = $segments[$i] $nextBg = if ($i + 1 -lt $segments.Count) { $segments[$i + 1].Bg } else { "Default" } Write-Host $seg.Text -NoNewLine -ForegroundColor $seg.Fg -BackgroundColor $seg.Bg if ($nextBg -ne "Default") { Write-Host $chevron -NoNewLine -ForegroundColor $seg.Bg -BackgroundColor $nextBg } else { Write-Host $chevron -NoNewLine -ForegroundColor $seg.Bg } } return "`n❯ " } ``` ![imagen.png](/attachments/512ebbc2-207c-4b72-8ae7-e9d60918b491) ![imagen.png](/attachments/9643aae7-7a7a-4c83-bcb2-0416470611bf)
harraiken added 1 commit 2025-07-09 22:56:52 +02:00
Update PS1 prompt, thanks to perikiyoxd
All checks were successful
Builds / XTchain (full, linux) (push) Successful in 1h30m39s
Builds / XTchain (full, windows) (push) Successful in 1h31m10s
Builds / XTchain (minimal, linux) (push) Successful in 2m44s
Builds / XTchain (minimal, windows) (push) Successful in 2m13s
6463d50cd3
Author
Owner

Thank you for your help in creating the new prompt. Your work was really helpful. I simplified it a bit, but your idea really made it look much better.

Thank you for your help in creating the new prompt. Your work was really helpful. I simplified it a bit, but your idea really made it look much better.
harraiken requested review from Developers 2025-07-09 23:12:36 +02:00
harraiken added the
ENHANCEMENT
IDEA
REFACTORING
labels 2025-07-09 23:13:41 +02:00
harraiken self-assigned this 2025-07-09 23:13:54 +02:00
harraiken added 1 commit 2025-07-10 10:36:46 +02:00
Change versioning convention
All checks were successful
Builds / XTchain (full, linux) (push) Successful in 1h31m14s
Builds / XTchain (full, windows) (push) Successful in 1h31m42s
Builds / XTchain (minimal, windows) (push) Successful in 2m9s
Builds / XTchain (minimal, linux) (push) Successful in 2m40s
bbea77d58a
harraiken removed review request for Developers 2025-07-10 10:37:40 +02:00
harraiken merged commit 97491fb72a into master 2025-07-10 12:37:42 +02:00
harraiken deleted branch multiplatform 2025-07-10 12:37:43 +02:00
Sign in to join this conversation.
No description provided.