| |
|
| |
|
| |
|
| | $ErrorActionPreference = "Stop"
|
| |
|
| |
|
| | $BaseDir = "C:\Qualcomm"
|
| |
|
| |
|
| | $HexagonUrl = "https://github.com/snapdragon-toolchain/hexagon-sdk/releases/download/v6.4.0.2/hexagon-sdk-v6.4.0.2-arm64-wos.tar.xz"
|
| | $HexagonParent = Join-Path $BaseDir "Hexagon_SDK"
|
| | $HexagonSdkVersion = "6.4.0.2"
|
| | $HexagonToolsVersion = "19.0.04"
|
| | $HexagonSdkTarget = Join-Path $HexagonParent $HexagonSdkVersion
|
| | $HexagonToolsTarget = Join-Path $HexagonSdkTarget "\tools\HEXAGON_Tools\$HexagonToolsVersion"
|
| |
|
| |
|
| | $OpenCLUrl = "https://github.com/snapdragon-toolchain/opencl-sdk/releases/download/v2.3.2/adreno-opencl-sdk-v2.3.2-arm64-wos.tar.xz"
|
| | $OpenCLParent = Join-Path $BaseDir "OpenCL_SDK"
|
| | $OpenCLVersion = "2.3.2"
|
| | $OpenCLTarget = Join-Path $OpenCLParent $OpenCLVersion
|
| |
|
| |
|
| | function Install-QualcommSDK {
|
| | param (
|
| | [string]$Url,
|
| | [string]$ParentDir,
|
| | [string]$TargetDir,
|
| | [string]$Name
|
| | )
|
| |
|
| |
|
| | if (-not (Test-Path -Path $ParentDir)) {
|
| | Write-Host "Creating directory: $ParentDir" -ForegroundColor Cyan
|
| | New-Item -Path $ParentDir -ItemType Directory -Force | Out-Null
|
| | }
|
| |
|
| |
|
| | if (Test-Path -Path $TargetDir) {
|
| | Write-Host "$Name ($TargetDir) already exists. Skipping download." -ForegroundColor Green
|
| | }
|
| | else {
|
| | Write-Host "$Name not found. preparing to download..." -ForegroundColor Yellow
|
| |
|
| |
|
| | New-Item -Path $TargetDir -ItemType Directory -Force | Out-Null
|
| |
|
| |
|
| | $TempFile = Join-Path $ParentDir "temp_sdk.tar.xz"
|
| |
|
| | try {
|
| |
|
| | Write-Host "Downloading from: $Url"
|
| | Invoke-WebRequest -Uri $Url -OutFile $TempFile
|
| |
|
| |
|
| |
|
| | Write-Host "Extracting archive to $TargetDir..."
|
| |
|
| |
|
| | tar -xJvf $TempFile -C $TargetDir\..
|
| |
|
| | Write-Host "Extraction complete." -ForegroundColor Green
|
| | }
|
| | catch {
|
| | Write-Error "Failed to download or extract $Name. Error: $_"
|
| |
|
| | Remove-Item -Path $TargetDir -Recurse -Force -ErrorAction SilentlyContinue
|
| | }
|
| | finally {
|
| |
|
| | if (Test-Path $TempFile) { Remove-Item $TempFile -Force }
|
| | }
|
| | }
|
| | }
|
| |
|
| |
|
| |
|
| |
|
| | if (-not (Test-Path $BaseDir)) {
|
| | New-Item -Path $BaseDir -ItemType Directory -Force | Out-Null
|
| | }
|
| |
|
| |
|
| | Install-QualcommSDK -Url $HexagonUrl -ParentDir $HexagonParent -TargetDir $HexagonSdkTarget -Name "Hexagon SDK"
|
| | Install-QualcommSDK -Url $OpenCLUrl -ParentDir $OpenCLParent -TargetDir $OpenCLTarget -Name "OpenCL SDK"
|
| |
|
| |
|
| |
|
| | Write-Host "`nSetting Environment Variables..." -ForegroundColor Cyan
|
| |
|
| |
|
| | [System.Environment]::SetEnvironmentVariable('OPENCL_SDK_ROOT', $OpenCLTarget, [System.EnvironmentVariableTarget]::User)
|
| | $env:OPENCL_SDK_ROOT = $OpenCLTarget
|
| | Write-Host "OPENCL_SDK_ROOT set to: $OpenCLTarget"
|
| |
|
| |
|
| | [System.Environment]::SetEnvironmentVariable('HEXAGON_SDK_ROOT', $HexagonSdkTarget, [System.EnvironmentVariableTarget]::User)
|
| | $env:HEXAGON_SDK_ROOT = $HexagonSdkTarget
|
| | Write-Host "HEXAGON_SDK_ROOT set to: $HexagonSdkTarget"
|
| |
|
| |
|
| | [System.Environment]::SetEnvironmentVariable('HEXAGON_TOOLS_ROOT', $HexagonToolsTarget, [System.EnvironmentVariableTarget]::User)
|
| | $env:HEXAGON_TOOLS_ROOT = $HexagonToolsTarget
|
| | Write-Host "HEXAGON_TOOLS_ROOT set to: $HexagonToolsTarget"
|
| |
|