mirror of
https://github.com/mihawk-99/PS5_RetroArch.git
synced 2026-10-18 23:09:29 -05:00
Sets up this project as the native pipeline's scaffolding plus RetroArch's
sources, so RetroArch is compiled for the title pipeline rather than converted
into it.
- tools/scaffold-native.sh builds the scaffold from
../ps5-native-app-boilerplate-main: tooling, runtime (digest verified),
Makefile and its tools, merged into this repository's tools/ rather than
replacing them. An earlier version replaced tools/ wholesale and deleted this
project's own scripts; the copy is now additive and the reason is in the file.
- tools/fetch-retroarch.sh clones the pinned upstream tag into vendor/ and
records the revision, so "built from RetroArch 1.22.2" is checkable.
- src/display.{hpp,cpp} owns the console's display: VideoOut, direct memory, two
registered buffers, present-and-wait. The sequence and its two load-bearing
details come from the sibling application that proved it on hardware.
- src/main.cpp draws a moving bar: the cheapest thing that proves build, title
format, launcher, VideoOut and the direct-memory path together.
- sce_sys/param.json is this project's identity, PPSA99169.
Evidence: src/display.cpp compiles through the pipeline's compiler
(tooling/prospero-clang18 with PS5_CLANG=/usr/bin/clang, -std=c++20), and a
RetroArch source file compiles the same way with its include paths.
57 lines
1.8 KiB
PowerShell
57 lines
1.8 KiB
PowerShell
<#
|
|
ps5-native-app-boilerplate - Source attribution header audit.
|
|
Copyright (C) 2026 BlackBearReloaded
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
Verifies attribution in every tracked, comment-capable code and tooling file.
|
|
#>
|
|
|
|
#requires -Version 5.1
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$root = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path)
|
|
$patterns = @("*.c", "*.cc", "*.cpp", "*.h", "*.hpp", "*.ld", "*.py", "*.ps1", "*.yml", "*.yaml", "*.sh")
|
|
$files = @(& git -C $root ls-files --cached --others --exclude-standard -- @patterns |
|
|
Where-Object { Test-Path -LiteralPath (Join-Path $root $_) -PathType Leaf })
|
|
$files += @(
|
|
".editorconfig",
|
|
".clang-format",
|
|
".clang-tidy",
|
|
".gitattributes",
|
|
".gitignore",
|
|
".env.example",
|
|
"Makefile",
|
|
"tooling/prospero-clang18",
|
|
"tooling/native/runtime/api-surface.txt",
|
|
"tooling/native/runtime/imports.txt"
|
|
)
|
|
$files = @($files | Sort-Object -Unique)
|
|
$markers = @(
|
|
"ps5-native-app-boilerplate",
|
|
"Copyright (C) 2026 BlackBearReloaded",
|
|
"SPDX-License-Identifier: GPL-3.0-or-later"
|
|
)
|
|
$missing = @()
|
|
|
|
foreach ($file in $files) {
|
|
$path = Join-Path $root $file
|
|
if (-not (Test-Path -LiteralPath $path -PathType Leaf)) {
|
|
$missing += "$file (missing file)"
|
|
continue
|
|
}
|
|
|
|
$header = (Get-Content -LiteralPath $path -TotalCount 20) -join "`n"
|
|
foreach ($marker in $markers) {
|
|
if (-not $header.Contains($marker)) {
|
|
$missing += "$file (missing '$marker')"
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($missing.Count -ne 0) {
|
|
$missing | ForEach-Object { Write-Error $_ }
|
|
throw "One or more source attribution headers are incomplete."
|
|
}
|
|
|
|
Write-Host "Verified attribution headers in $($files.Count) tracked code and tooling files."
|