aboutsummaryrefslogtreecommitdiffstats
path: root/dist/windows/shared.psm1
diff options
context:
space:
mode:
Diffstat (limited to 'dist/windows/shared.psm1')
-rw-r--r--dist/windows/shared.psm1368
1 files changed, 0 insertions, 368 deletions
diff --git a/dist/windows/shared.psm1 b/dist/windows/shared.psm1
deleted file mode 100644
index 33136941d..000000000
--- a/dist/windows/shared.psm1
+++ /dev/null
@@ -1,368 +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
-#
-# PowerShell Module: The module provides common CmdLets for ...
-#
-# Description:
-# ------------------------------------
-# This PowerShell module provides CommandLets (CmdLets) to ...
-#
-# ==============================================================================
-# Copyright (C) 2016-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.
-# ==============================================================================
-
-[CmdletBinding()]
-param(
- [Parameter(Mandatory=$true)][string]$WorkingDir,
- [Parameter(Mandatory=$true)][Switch]$Hosted
-)
-
-$Module_WorkingDir = $WorkingDir
-$Module_Hosted = $Hosted
-
-function Exit-CompileScript
-{ <#
- .SYNOPSIS
- Undocumented
- .DESCRIPTION
- Undocumented
- .PARAMETER ExitCode
- ExitCode of this script run
- #>
- [CmdletBinding()]
- param(
- [int]$ExitCode = 0
- )
- cd $Module_WorkingDir
- # unload modules
- if (-not $Module_Hosted)
- { Remove-Module shared -Verbose:$false -Debug:$false
- Remove-Module targets -Verbose:$false -Debug:$false
- }
- exit $ExitCode
-}
-
-function New-LibraryDirectory
-{ <#
- .SYNOPSIS
- Undocumented
-
- .DESCRIPTION
- Undocumented
-
- .PARAMETER Directory
- Undocumented
- #>
- [CmdletBinding()]
- param(
- [Parameter(Mandatory=$true)][string]$Directory #,
- # [Parameter(Mandatory=$true)][bool]$EnableVerbose
- )
- $EnableVerbose = $false
- if (Test-Path -Path $Directory)
- { $EnableVerbose -and (Write-Host " Directory '$Directory' already exists." ) | Out-Null }
- else
- { Write-Host " Creating directory '$Directory'."
- New-Item -ItemType directory -Path $Directory -ErrorAction SilentlyContinue | Out-Null
- }
-}
-
-function Format-VHDLSourceFile
-{ <#
- .SYNOPSIS
- Undocumented
-
- .DESCRIPTION
- Undocumented
-
- .PARAMETER Version
- Undocumented
- .PARAMETER InputObject
- A object stream is required as an input.
- #>
- [CmdletBinding()]
- param(
- [Parameter(Mandatory=$true)][string]$Version,
- [Parameter(ValueFromPipeline=$true)]$InputObject
- )
-
- begin
- { $State = 1
- $Version = switch ($Version)
- { "87" { 87 }
- "93" { 93 }
- "02" { 2 }
- "08" { 8 }
- }
- }
-
- process
- { if ($InputObject -is [String])
- { $Line = $InputObject.ToString()
- if ($Line.StartsWith("--START-V"))
- { $State = switch ($Line.Substring(9, 2))
- { "87" { 87 }
- "93" { 93 }
- "02" { 2 }
- "08" { 8 }
- }
- }
- elseif ($Line.StartsWith("--START-!V"))
- { if ($Line.Substring(10, 2) -eq $Version)
- { $State = 2 }
- }
- elseif ($Line.StartsWith("--END-V") -or $Line.StartsWith("--END-!V"))
- { $State = 1 }
- else
- { if ($State -eq 1)
- { if ($Line.EndsWith("--V$Version"))
- { Write-Output $Line }
- elseif (-not (($Line -like "*--V??") -or ($Line.EndsWith("--!V$Version"))))
- { Write-Output $Line }
- }
- elseif ($State -eq $Version)
- { Write-Output $Line }
- }
- }
- else
- { Write-Host "Unknown pipeline object type." -ForegroundColor Red }
- }
-
- end
- {
- }
-}
-
-function Restore-NativeCommandStream
-{ <#
- .SYNOPSIS
- This CmdLet gathers multiple ErrorRecord objects and reconstructs outputs
- as a single line.
-
- .DESCRIPTION
- This CmdLet collects multiple ErrorRecord objects and emits one String
- object per line.
- .PARAMETER InputObject
- A object stream is required as an input.
- .PARAMETER Indent
- Indentation string.
- #>
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline=$true)]
- $InputObject
- )
-
- begin
- { $LineRemainer = "" }
-
- process
- { if ($InputObject -is [System.Management.Automation.ErrorRecord])
- { if ($InputObject.FullyQualifiedErrorId -eq "NativeCommandError")
- { Write-Output $InputObject.ToString() }
- elseif ($InputObject.FullyQualifiedErrorId -eq "NativeCommandErrorMessage")
- { $NewLine = $LineRemainer + $InputObject.ToString()
- while (($NewLinePos = $NewLine.IndexOf("`n")) -ne -1)
- { Write-Output $NewLine.Substring(0, $NewLinePos)
- $NewLine = $NewLine.Substring($NewLinePos + 1)
- }
- $LineRemainer = $NewLine
- }
- }
- elseif ($InputObject -is [String])
- { Write-Output $InputObject }
- else
- { Write-Host "Unsupported object in pipeline stream" }
- }
-
- end
- { if ($LineRemainer -ne "")
- { Write-Output $LineRemainer }
- }
-}
-
-function Write-ColoredGCCLine
-{ <#
- .SYNOPSIS
- This CmdLet colors GHDL output lines.
-
- .DESCRIPTION
- This CmdLet colors GHDL output lines. Warnings are prefixed with 'WARNING: '
- in yellow and errors are prefixed with 'ERROR: ' in red.
-
- .PARAMETER InputObject
- A object stream is required as an input.
- .PARAMETER SuppressWarnings
- Skip warning messages. (Show errors only.)
- .PARAMETER Indent
- Indentation string.
- #>
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline=$true)]
- $InputObject,
-
- [Parameter(Position=1)]
- [switch]$SuppressWarnings = $false,
- [Parameter(Position=2)]
- [string]$Indent = ""
- )
-
- begin
- { $ErrorRecordFound = $false }
-
- process
- { if ($InputObject -is [String])
- { if ($InputObject -match ":\d+:\d+:\swarning:\s")
- { if (-not $SuppressWarnings)
- { Write-Host "${Indent}WARNING: " -NoNewline -ForegroundColor Yellow
- Write-Host $InputObject
- }
- }
- elseif ($InputObject -match ":\d+:\d+:\s")
- { $ErrorRecordFound = $true
- Write-Host "${Indent}ERROR: " -NoNewline -ForegroundColor Red
- Write-Host $InputObject
- }
- else
- { Write-Host "${Indent}$InputObject" }
- }
- else
- { Write-Host "Unsupported object in pipeline stream" }
- }
-
- end
- { $ErrorRecordFound }
-}
-
-function Write-ColoredGHDLLine
-{ <#
- .SYNOPSIS
- This CmdLet colors GHDL output lines.
-
- .DESCRIPTION
- This CmdLet colors GHDL output lines. Warnings are prefixed with 'WARNING: '
- in yellow and errors are prefixed with 'ERROR: ' in red.
-
- .PARAMETER InputObject
- A object stream is required as an input.
-
- .PARAMETER SuppressWarnings
- Skip warning messages. (Show errors only.)
- #>
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline=$true)]
- $InputObject,
-
- [Parameter(Position=1)]
- [switch]$SuppressWarnings = $false,
- [Parameter(Position=2)]
- [string]$Indent = ""
- )
-
- begin
- { $ErrorRecordFound = $false }
-
- process
- { if ($InputObject -is [String])
- { if ($InputObject -match ":\d+:\d+:warning:\s")
- { if (-not $SuppressWarnings)
- { Write-Host "${Indent}WARNING: " -NoNewline -ForegroundColor Yellow
- Write-Host $InputObject
- }
- }
- elseif ($InputObject -match ":\d+:\d+:\s")
- { $ErrorRecordFound = $true
- Write-Host "${Indent}ERROR: " -NoNewline -ForegroundColor Red
- Write-Host $InputObject
- }
- else
- { Write-Host "${Indent}$InputObject" }
- }
- else
- { Write-Host "Unsupported object in pipeline stream" }
- }
-
- end
- { $ErrorRecordFound }
-}
-
-function Write-HostExtended
-{ <#
- .SYNOPSIS
- This CmdLet colors GHDL output lines.
-
- .DESCRIPTION
- This CmdLet colors GHDL output lines. Warnings are prefixed with 'WARNING: '
- in yellow and errors are prefixed with 'ERROR: ' in red.
-
- .PARAMETER InputObject
- A object stream is required as an input.
- .PARAMETER Indent
- Indentation string.
- #>
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline=$true)]
- $InputObject,
-
- [Parameter(Position=1)]
- [string]$Indent = ""
- )
-
- begin
- { }
-
- process
- { if ($InputObject -is [String])
- { Write-Host "${Indent}$InputObject" }
- else
- { Write-Host "Unsupported object in pipeline stream" }
- }
-
- end
- { }
-}
-
-function Test-GitRepository
-{ <#
- .SYNOPSIS
- Returns true, if the current working directy is under git control.
- #>
-
- git rev-parse 2>&1 | Out-Null
- return $LastExitCode -eq 0
-}
-
-# export functions
-Export-ModuleMember -Function 'Exit-CompileScript'
-
-Export-ModuleMember -Function 'New-LibraryDirectory'
-Export-ModuleMember -Function 'Format-VHDLSourceFile'
-
-Export-ModuleMember -Function 'Restore-NativeCommandStream'
-Export-ModuleMember -Function 'Write-ColoredGCCLine'
-Export-ModuleMember -Function 'Write-ColoredGHDLLine'
-Export-ModuleMember -Function 'Write-HostExtended'
-
-Export-ModuleMember -Function 'Test-GitRepository'