mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-27 18:16:55 +00:00
83 lines
2 KiB
PowerShell
83 lines
2 KiB
PowerShell
# Copyright 2022, Collabora, Ltd.
|
|
# SPDX-License-Identifier: BSL-1.0
|
|
[CmdletBinding()]
|
|
param (
|
|
[Parameter()]
|
|
[string]
|
|
$IwyuBinDir,
|
|
|
|
[Parameter()]
|
|
[string]
|
|
$Python
|
|
)
|
|
|
|
$ErrorActionPreference = 'Stop'
|
|
Push-Location $PSScriptRoot/..
|
|
|
|
if (!$IwyuBinDir) {
|
|
$cmd = Get-Command "iwyu" -ErrorAction SilentlyContinue
|
|
if ($cmd) {
|
|
$IwyuBinDir = $cmd.Source
|
|
}
|
|
}
|
|
if (!$IwyuBinDir) {
|
|
Write-Error "Please specify IwyuBinDir - could not find on path"
|
|
return -1
|
|
}
|
|
|
|
if (!$Python) {
|
|
$cmd = Get-Command "python3" -ErrorAction SilentlyContinue
|
|
if ($cmd) {
|
|
$Python = $cmd.Source
|
|
}
|
|
}
|
|
if (!$Python) {
|
|
$cmd = Get-Command "python" -ErrorAction SilentlyContinue
|
|
if ($cmd) {
|
|
$Python = $cmd.Source
|
|
}
|
|
}
|
|
if (!$Python) {
|
|
Write-Error "Please specify Python - could not find on path"
|
|
return -1
|
|
}
|
|
|
|
$iwyuShareDir = Get-Item -Path $IwyuBinDir/../share/include-what-you-use
|
|
|
|
function Create-Args {
|
|
|
|
[CmdletBinding()]
|
|
Param(
|
|
|
|
[Parameter(ValueFromPipeline)]
|
|
$FullName
|
|
)
|
|
|
|
process {
|
|
$item = Get-Item $FullName
|
|
Write-Output '-Xiwyu'
|
|
Write-Output ("--mapping_file=" + $item.FullName)
|
|
}
|
|
}
|
|
|
|
$python_args = @(
|
|
(Join-Path $IwyuBinDir "iwyu_tool.py")
|
|
"-p"
|
|
"build"
|
|
"src/xrt"
|
|
"--"
|
|
)
|
|
$python_args = $python_args + (Join-Path $iwyuShareDir 'iwyu.gcc.imp' | Create-Args)
|
|
$python_args = $python_args + (Get-ChildItem -Path $iwyuShareDir -Filter "*intrinsics.imp" | Create-Args)
|
|
$python_args = $python_args + (Get-ChildItem -Path $iwyuShareDir -Filter "libcxx.imp" | Create-Args)
|
|
Write-Host $python_args
|
|
$our_mapping_file = Join-Path (Get-Location) scripts/mapping.imp
|
|
|
|
$python_args = $python_args + @("-Xiwyu", "--mapping_file=$our_mapping_file")
|
|
# & $Python (Join-Path $IwyuBinDir "iwyu_tool.py") -p build src/xrt -- -Xiwyu "--mapping_file=$our_mapping_file" @python_args | Tee-Object -FilePath iwyu.txt -Encoding utf8
|
|
|
|
Start-Process -FilePath $Python -ArgumentList $python_args -PassThru -Wait -NoNewWindow
|
|
|
|
Pop-Location
|
|
|