aboutsummaryrefslogtreecommitdiffstats
path: root/dist/windows/compile-ghdl.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'dist/windows/compile-ghdl.ps1')
-rw-r--r--dist/windows/compile-ghdl.ps1243
1 files changed, 0 insertions, 243 deletions
diff --git a/dist/windows/compile-ghdl.ps1 b/dist/windows/compile-ghdl.ps1
deleted file mode 100644
index 0f126e846..000000000
--- a/dist/windows/compile-ghdl.ps1
+++ /dev/null
@@ -1,243 +0,0 @@
-# EMACS settings: -*- tab-width: 2; indent-tabs-mode: t -*-
-# vim: tabstop=2:shiftwidth=2:noexpandtab
-# kate: tab-width 2; replace-tabs off; indent-width 2;
-#
-# ==============================================================================
-# Authors: Patrick Lehmann (ported batch file to PowerShell)
-# Brian Davis (contributions to the batch file)
-# Tristan Gingold (initial batch file for compilations on Windows)
-#
-# PowerShell Script: Script to compile GHDL for Windows
-#
-# Description:
-# ------------------------------------
-# This is a PowerShell script (executable) which:
-# - sets up a compilation environment
-# - test all dependencies
-# - compiles GHDL with GNAT
-#
-# ==============================================================================
-# Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold
-# Copyright (C) 2015-2017 Patrick Lehmann
-#
-# GHDL is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2, or (at your option) any later
-# version.
-#
-# GHDL is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GHDL; see the file COPYING. If not, write to the Free
-# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-# ==============================================================================
-
-# .SYNOPSIS
-# GHDL for Windows - GHDL compile script
-# Use 'compile-ghdl.ps1 -Help' to see the integrated help page
-#
-# .EXAMPLE
-# C:\PS> .\compile-ghdl.ps1 -Clean -Compile
-#
-[CmdletBinding()]
-param(
- # Display this help"
- [switch]$Help = $false,
-
- # Slean up all files and directories
- [switch]$Clean = $false,
- [switch]$Clean_GHDL = $false,
-
- # Compile all targets
- [switch]$All = $false,
-
- # Compile main targets
- [switch]$Compile = $false,
- # Compile GHDL (simulator)
- [switch]$Compile_GHDL = $false,
- # Undocumented
- [switch]$Test = $false,
- # Undocumented
- [switch]$Test_GHDL = $false,
-
- # Build options
- # Build a release version
- [switch]$Release = $false,
- # Set the back-end
- [string]$Backend = "mcode",
-
- # Reduced messages
- [switch]$Quiet = $false,
- # Skip warning messages. (Show errors only.)
- [switch]$SuppressWarnings = $false,
- # Halt on errors
- [switch]$HaltOnError = $false,
- # Undocumented
- [switch]$Hosted = $false
-)
-
-# configure script here
-$RelPathToRoot = "..\.."
-
-# ---------------------------------------------
-# save parameters and working directory
-$Script_ScriptDir = $PSScriptRoot
-$Script_WorkingDir = Get-Location
-$GHDLRootDir = Convert-Path (Resolve-Path ($PSScriptRoot + "\" + $RelPathToRoot))
-
-# set default values
-$EnableDebug = [bool]$PSCmdlet.MyInvocation.BoundParameters["Debug"]
-$EnableVerbose = [bool]$PSCmdlet.MyInvocation.BoundParameters["Verbose"] -or $EnableDebug
-
-# load modules from GHDL's 'libraries' directory
-Import-Module $PSScriptRoot\shared.psm1 -Verbose:$false -Debug:$false -ArgumentList "$Script_WorkingDir", $Hosted
-Import-Module $PSScriptRoot\targets.psm1 -Verbose:$false -Debug:$false
-
-# Display help if no command was selected
-$Help = $Help -or (-not (
- $All -or
- $Clean -or $Clean_GHDL -or
- $Compile -or $Compile_GHDL -or
- $Test -or $Test_GHDL
- ))
-
-if (-not $Hosted)
-{ Write-Host "================================================================================" -ForegroundColor Magenta
- Write-Host "GHDL for Windows - GHDL compile script" -ForegroundColor Magenta
- Write-Host "================================================================================" -ForegroundColor Magenta
-}
-
-if ($Help)
-{ Get-Help $MYINVOCATION.InvocationName -Detailed
- Exit-CompileScript
-}
-
-if ($Clean)
-{ $Clean_GHDL = $true
-}
-if ($All)
-{ $Compile = $true
-}
-if ($Compile)
-{ $Compile_GHDL = $true
-}
-if ($Test)
-{ $Test_GHDL = $true
-}
-
-# configure some variables: paths, executables, directory names, ...
-$BuildDirectoryName = "build"
-
-# Parameter checks
-if ($Backend -ne "mcode")
-{ Write-Host "[ERROR]: Back-end '$Backend' is not supported on Windows." -ForegroundColor Red
- Exit-CompileScript -1
-}
-
-# construct directories
-$BinaryDestinationDirectory = "$GHDLRootDir\$BuildDirectoryName\$Backend"
-# construct executables
-$GHDLNewExecutable = "$GHDLRootDir\$BuildDirectoryName\$Backend\bin\ghdl.exe"
-
-# grep GHDL version string from Ada source file
-$GHDLVersion = Get-GHDLVersion $GHDLRootDir
-# compute some variables
-$BuildRelease = if ($Release) { "Release" } else { "Development" }
-if (-not $Hosted)
-{ Write-Host " Version: $GHDLVersion"
- Write-Host " Release: $BuildRelease"
-}
-
-$Git_IsGitRepo = Test-GitRepository
-# gather git information
-if ($Git_IsGitRepo)
-{ $Git_Branch_Name = & git rev-parse --abbrev-ref HEAD
- $Git_Commit_DateString = & git log -1 --format=%cd --date=short
- $Git_Commit_ShortHash = & git rev-parse --short HEAD
-
- if (-not $Hosted)
- { Write-Host " Git branch: $Git_Branch_Name"
- Write-Host " Git commit: $Git_Commit_DataString ($Git_Commit_ShortHash)"
- }
-}
-if (-not $Hosted)
-{ Write-Host "" }
-
-if ($Release)
-{ $BuildDirectory = $BinaryDestinationDirectory }
-else
-{ $BuildDirectory = $BinaryDestinationDirectory }
-
-
-# ==============================================================================
-# Main Target: Clean
-# ==============================================================================
-if ($Clean_GHDL)
-{ $error = Invoke-Clean $BuildDirectory -Quiet:$Quiet -Verbose:$EnableVerbose -Debug:$EnableDebug
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
-} # Clean
-
-
-# ==============================================================================
-# Main Target: GHDL
-# ==============================================================================
-if ($Compile_GHDL)
-{ # create a build directory
- $error = New-BuildDirectory $BuildDirectory
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
-
- # patch the version file if it's no release build
- if (-not $Release -and $Git_IsGitRepo)
- { $error = Invoke-PatchVersionFile $GHDLRootDir $Git_Branch_Name $Git_Commit_DateString $Git_Commit_ShortHash
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
- }
-
- # build C source files
- $error = Invoke-CompileCFiles $GHDLRootDir $BinaryDestinationDirectory
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
-
- # build Ada source files
- $error = Invoke-CompileGHDLAdaFiles $GHDLRootDir $BinaryDestinationDirectory
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
-
- # strip result
- $error = Invoke-StripGHDLExecutable $BinaryDestinationDirectory
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
-}
-
-
-# ==============================================================================
-# Main Target: GHDL
-# ==============================================================================
-if ($Test_GHDL)
-{ # running ghdl
- $error = Test-GHDLVersion $BuildDir
- if ($error -eq $true)
- { Write-Host " [FAILED]" -ForegroundColor Red
- Exit-CompileScript -1
- }
-} # Test
-
-Exit-CompileScript 0