# build 64bit dll
-. ".\winbuild\configuration.ps1"
-$configInfo = GetConfiguration
+Param(
+[string]$target="ALL",
+[string]$configPath
+)
+$configInfo = & ".\winbuild\configuration.ps1" "$configPath"
$x64info = $configInfo.Configuration.x64
if ($x64info.setvcvars -ne "") {
$envcmd = [String] $x64info.setvcvars
Write-Host "setvcvars :" $envcmd
- if ($envcmd.StartsWith(". ")) {
- . $envcmd.substring(2)
- } else {
- Invoke-Expression $envcmd
- }
+ Invoke-Expression $envcmd
}
$USE_LIBPQ=$x64info.use_libpq
Write-Host "SSL DIR : ($SSL_INC $SSL_LIB)"
$MACROS = "USE_LIBPQ=$USE_LIBPQ USE_SSPI=$USE_SSPI USE_GSS=$USE_GSS PG_LIB=`"$PG_LIB`" PG_INC=`"$PG_INC`" SSL_LIB=`"$SSL_LIB`" SSL_INC=`"$SSL_INC`" GSS_LIB=`"$GSS_LIB`" GSS_INC=`"$GSS_INC`" $BUILD_MACROS"
-invoke-expression "nmake.exe /f win64.mak $MACROS $args"
-invoke-expression "nmake.exe /f win64.mak ANSI_VERSION=yes $MACROS $args"
+invoke-expression "nmake.exe /f win64.mak $MACROS $target"
+invoke-expression "nmake.exe /f win64.mak ANSI_VERSION=yes $MACROS $target"
# build 32bit dll
-. ".\winbuild\configuration.ps1"
-$configInfo = GetConfiguration
+Param(
+[string]$target="ALL",
+[string]$configPath
+)
+$configInfo = & ".\winbuild\configuration.ps1" "$configPath"
$x86info = $configInfo.Configuration.x86
if ($x86info.setvcvars -ne "") {
$envcmd = [String] $x86info.setvcvars
Write-Host "setvcvars :" $envcmd
- if ($envcmd.StartsWith(". ")) {
- . $envcmd.substring(2)
- } else {
- Invoke-Expression $envcmd
- }
+ Invoke-Expression $envcmd
}
$USE_LIBPQ=$x86info.use_libpq
$USE_SSPI=$x86info.use_sspi
Write-Host "USE SSPI : $USE_SSPI"
Write-Host "SSL : ($SSL_INC $SSL_LIB)"
$MACROS = "USE_LIBPQ=$USE_LIBPQ USE_SSPI=$USE_SSPI PG_LIB=`"$PG_LIB`" PG_INC=`"$PG_INC`" SSL_LIB=`"$SSL_LIB`" SSL_INC=`"$SSL_INC`" $BUILD_MACROS"
-invoke-expression "nmake.exe /f win32.mak $MACROS $args"
-invoke-expression "nmake.exe /f win32.mak ANSI_VERSION=yes $MACROS $args"
+invoke-expression "nmake.exe /f win32.mak $MACROS $target"
+invoke-expression "nmake.exe /f win32.mak ANSI_VERSION=yes $MACROS $target"
# build 64bit installer
-. "..\winbuild\configuration.ps1"
-$configInfo = GetConfiguration
+Param(
+[string]$configPath
+)
+$configInfo = & "..\winbuild\configuration.ps1" "$configPath"
$VERSION = $configInfo.Configuration.version
$x64info = $configInfo.Configuration.x64
$USE_LIBPQ=$x64info.use_libpq
$CPUTYPE="x64"
+if ($env:WIX -ne "")
+{
+ $wix = "$env:WIX"
+ $env:Path += ";$WIX/bin"
+}
# The subdirectory to install into
$SUBLOC=$VERSION.substring(0, 2) + $VERSION.substring(3, 2)
# build 32bit installer
-. "..\winbuild\configuration.ps1"
-$configInfo = GetConfiguration
+Param(
+[string]$configPath
+)
+$configInfo = & "..\winbuild\configuration.ps1" "$configPath"
$VERSION = $configInfo.Configuration.version
$x86info = $configInfo.Configuration.x86
$USE_LIBPQ=$x86info.use_libpq
Write-Host "USE GSS : $USE_GSS ($GSSBINDIR)"
Write-Host "USE SSPI : $USE_SSPI"
+if ($env:WIX -ne "")
+{
+ $wix = "$env:WIX"
+ $env:Path += ";$WIX/bin"
+}
+
<#
The ProductCode History
ProductCode must be changed in case of major upgrade
-function InitConfiguration
+Param(
+[string]$configPath
+)
+function InitConfiguration($savePath = $configurationXmlPath)
{
- $configInfo = [xml](Get-Content "$configTempPath")
+ $configInfo = [xml](Get-Content "$configurationTemplatePath")
if ($env:PROCESSOR_ARCHITECTURE -eq "x86")
{
$x64info = $configInfo.Configuration.x64
$x64info.libpq.lib = ""
$x64info.libpq.bin = ""
}
- $configInfo.save("$configPath")
+ $configInfo.save("$savePath")
+
+ return $configInfo
}
-function global:GetConfiguration
+function global:GetConfiguration($loadPath = $configurationXmlPath)
{
- $configInfo = [xml] (Get-Content "$configPath")
+ $configInfo = [xml] (Get-Content "$loadPath")
set-variable -name xmlFormatVersion -value "0.1" -option constant
if ($configInfo.Configuration.formatVersion -ne $xmlFormatVersion)
{
- $xmlDoc2 = [xml](Get-Content "$configTempPath")
+ $xmlDoc2 = [xml](Get-Content "$configurationTemplatePath")
$root2 = $XmlDoc2.get_DocumentElement()
$root1 = $configInfo.get_DocumentElement()
unifyNodes $root1 $root2
$root1.formatVersion = $xmlFormatVersion
- $configInfo.save("$configPath")
+ $configInfo.save("$loadPath")
}
return $configInfo
}
-function global:SaveConfiguration
+function global:SaveConfiguration($configInfo, $savePath = $configurationXmlPath)
{
- $configInfo.save("$configPath")
+ $configInfo.save("$savePath")
}
-function unifyNodes($node1, $node2)
+function global:unifyNodes($node1, $node2)
{
$attributes2 = $node2.get_Attributes()
if ($attributes2.Count -gt 0)
}
}
-$LIBPQ_VERSION="9.3"
+Write-Debug "configPath=$configPath"
+$global:LIBPQ_VERSION="9.3"
$scriptPath = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)
-$configPath = "$scriptPath\configuration.xml"
-$configTempPath = "$scriptPath\configuration_template.xml"
-if (!(Test-Path -path $configPath))
+$global:configurationTemplatePath = "$scriptPath\configuration_template.xml"
+$global:configurationXmlPath = $configPath
+if ($configurationXmlPath -eq "") {
+ $global:configurationXmlPath = "$scriptPath\configuration.xml"
+}
+if (!(Test-Path -path $configurationXmlPath))
{
InitConfiguration
}
+else
+{
+ GetConfiguration
+}
Return
::
:: Start editConfiguration with a mimimized console window
::
-powershell -Sta -WindowStyle Minimized .\editConfiguration.ps1
+powershell -Sta -WindowStyle Minimized %~dp0\editConfiguration.ps1 %*
$button.add_Click($button_click)
}
-. ".\configuration.ps1"
-$configInfo = GetConfiguration
+$configInfo = & ".\configuration.ps1" "$configPath"
$window.findName("versionBox").Text = $configInfo.Configuration.version
$x64info.ssl.include = $window.findName("textBox15").Text
$x64info.ssl.lib = $window.findName("textBox16").Text
- SaveConfiguration
+ SaveConfiguration $configInfo
})
$window.ShowDialog() | out-null