Skip to content

Commit 36e3bd1

Browse files
committed
WinARM64EC support, minor doc fixes
1 parent bbaf0fa commit 36e3bd1

5 files changed

Lines changed: 34 additions & 7 deletions

File tree

.github/RELEASE_TEMPLATE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
**Direct download:** [delphi-dccbuild.ps1](https://github.com/continuous-delphi/delphi-dccbuild/releases/download/vX.Y.Z/delphi-dccbuild.ps1)
77

88
This release improves `delphi-dccbuild`, a Continuous Delphi utility that builds
9-
Delphi `.dproj` projects using DCC compilers from the command line. It sources
9+
Delphi `.dpr` projects using DCC compilers from the command line. It sources
1010
`rsvars.bat` before invoking and is designed to accept piped output
11-
from `delphi-inspect -DetectLatest -BuildSystem MSBuild`.
11+
from `delphi-inspect -DetectLatest -BuildSystem DCC`.
1212

1313
---

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
44

55
---
66

7+
## [Unreleased]
8+
9+
- Add `WinARM64EC` as a valid DCC platform value, mapped to
10+
`bin64\dccarm64ec.exe`, with focused tests for compiler name, bin folder,
11+
and compiler path resolution
12+
- Correct the release template to describe `.dpr` projects and
13+
`delphi-inspect -DetectLatest -BuildSystem DCC`
14+
715
## [0.3.0] - 2026-03-17
816

917
- Ensure `PowerShell 5.1` compatibility for the delphi-dccbuild.ps1 script

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ The Delphi installation root directory
8585
executable is derived from this path and the requested platform:
8686

8787
- 32-bit compilers: `<RootDir>\bin\dcc32.exe`, `dccosx.exe`, etc.
88-
- 64-bit compilers: `<RootDir>\bin64\dcc64.exe`, `dccosx64.exe`, etc.
88+
- 64-bit compilers: `<RootDir>\bin64\dcc64.exe`, `dccarm64ec.exe`,
89+
`dccosx64.exe`, etc.
8990

9091
If omitted, `-RootDir` is taken from the `.rootDir` property of a
9192
piped `delphi-inspect` result object.
@@ -107,6 +108,7 @@ Valid values and their corresponding executables:
107108
|-----------------|-----------------|------------|
108109
| `Win32` | `dcc32.exe` | `bin` |
109110
| `Win64` | `dcc64.exe` | `bin64` |
111+
| `WinARM64EC` | `dccarm64ec.exe` | `bin64` |
110112
| `macOS32` | `dccosx.exe` | `bin` |
111113
| `macOS64` | `dccosx64.exe` | `bin64` |
112114
| `macOSARM64` | `dccosxarm64.exe` | `bin64` |
@@ -445,7 +447,7 @@ $buildResult = delphi-inspect.ps1 -DetectLatest -Platform Win32 -BuildSystem DCC
445447
if ($buildResult.success) {
446448
# run tests, package, deploy, etc.
447449
}
448-
111
450+
```
449451

450452
## Example 6) Error -- no Delphi installation supplied (exit 3)
451453

source/delphi-dccbuild.ps1

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ NOTES
3434
rsvars.bat is expected at <RootDir>\bin\rsvars.bat.
3535
The compiler executable is located at:
3636
<RootDir>\bin\dcc32.exe (Win32, macOS32, iOS32, iOSSimulator32, Android32)
37-
<RootDir>\bin64\dcc64.exe (Win64, macOS64, macOSARM64, Linux64, etc.)
37+
<RootDir>\bin64\dcc64.exe (Win64, WinARM64EC, macOS64, macOSARM64, Linux64, etc.)
3838
3939
When piped a delphi-inspect result object, RootDir is taken from the
4040
object's .rootDir property. An explicit -RootDir parameter takes precedence.
@@ -81,7 +81,7 @@ param(
8181

8282
[string]$RootDir,
8383

84-
[ValidateSet('Win32','Win64','macOS32','macOS64','macOSARM64','Linux64',
84+
[ValidateSet('Win32','Win64','WinARM64EC','macOS32','macOS64','macOSARM64','Linux64',
8585
'iOS32','iOSSimulator32','iOS64','iOSSimulator64','Android32','Android64')]
8686
[string]$Platform = 'Win32',
8787

@@ -139,6 +139,7 @@ $script:Version = '0.3.0'
139139
$script:CompilerMap = @{
140140
'Win32' = 'dcc32'
141141
'Win64' = 'dcc64'
142+
'WinARM64EC' = 'dccarm64ec'
142143
'macOS32' = 'dccosx'
143144
'macOS64' = 'dccosx64'
144145
'macOSARM64' = 'dccosxarm64'
@@ -223,7 +224,7 @@ function Get-CompilerName {
223224
# 64-bit compilers live in bin64; all others live in bin.
224225
function Get-CompilerBinFolder {
225226
param([string]$CompilerName)
226-
if ($CompilerName.EndsWith('64')) { return 'bin64' }
227+
if ($CompilerName.EndsWith('64') -or $CompilerName -eq 'dccarm64ec') { return 'bin64' }
227228
return 'bin'
228229
}
229230

tests/pwsh/delphi-dccbuild.Tests.ps1

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
1919
Describe 3 - Get-CompilerBinFolder:
2020
Returns bin64 for 64-bit compiler names; bin for all others.
21+
Returns bin64 for dccarm64ec.
2122
2223
Describe 4 - Get-CompilerPath:
2324
Produces the correct full path for Win32 (bin\dcc32.exe).
2425
Produces the correct full path for Win64 (bin64\dcc64.exe).
26+
Produces the correct full path for WinARM64EC (bin64\dccarm64ec.exe).
2527
Produces the correct full path for Android32 (bin\dccaarm.exe).
2628
2729
Describe 5 - Get-RsvarsPath:
@@ -124,6 +126,10 @@ Describe 'Get-CompilerName' {
124126
Get-CompilerName -Platform 'Win64' | Should -Be 'dcc64'
125127
}
126128

129+
It 'returns dccarm64ec for WinARM64EC' {
130+
Get-CompilerName -Platform 'WinARM64EC' | Should -Be 'dccarm64ec'
131+
}
132+
127133
It 'returns dccosx for macOS32' {
128134
Get-CompilerName -Platform 'macOS32' | Should -Be 'dccosx'
129135
}
@@ -165,6 +171,10 @@ Describe 'Get-CompilerBinFolder' {
165171
Get-CompilerBinFolder -CompilerName 'dcc64' | Should -Be 'bin64'
166172
}
167173

174+
It 'returns bin64 for dccarm64ec' {
175+
Get-CompilerBinFolder -CompilerName 'dccarm64ec' | Should -Be 'bin64'
176+
}
177+
168178
It 'returns bin for dccosx (macOS32)' {
169179
Get-CompilerBinFolder -CompilerName 'dccosx' | Should -Be 'bin'
170180
}
@@ -210,6 +220,12 @@ Describe 'Get-CompilerPath' {
210220
$result | Should -Be ([System.IO.Path]::Combine($root, 'bin64', 'dcc64.exe'))
211221
}
212222

223+
It 'produces bin64/dccarm64ec.exe for WinARM64EC' {
224+
$root = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'fake-delphi', '23.0')
225+
$result = Get-CompilerPath -RootDir $root -Platform 'WinARM64EC'
226+
$result | Should -Be ([System.IO.Path]::Combine($root, 'bin64', 'dccarm64ec.exe'))
227+
}
228+
213229
It 'produces bin/dccaarm.exe for Android32' {
214230
$root = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'fake-delphi', '23.0')
215231
$result = Get-CompilerPath -RootDir $root -Platform 'Android32'

0 commit comments

Comments
 (0)