1 param ([string]$BasePath = ".\") 2 3 $Host.SetShouldExit(111) # Set non-zero return code until task successfully finished 4 $ErrorActionPreference = "Stop" # Stop on any error 5 6 Remove-Variable MHD_ver,MHD_ver_major,MHD_ver_minor,MHD_ver_patchlev -ErrorAction:SilentlyContinue 7 8 Write-Output "Processing: ${BasePath}..\..\configure.ac" 9 foreach($line in Get-Content "${BasePath}..\..\configure.ac") 10 { 11 if ($line -match '^AC_INIT\(\[libmicrohttpd\],\[((\d+).(\d+).(\d+))\]') 12 { 13 [string]$MHD_ver = $Matches[1].ToString() 14 [string]$MHD_ver_major = $Matches[2].ToString() 15 [string]$MHD_ver_minor = $Matches[3].ToString() 16 [string]$MHD_ver_patchlev = $Matches[4].ToString() 17 break 18 } 19 } 20 if ("$MHD_ver" -eq "" -or "$MHD_ver_major" -eq "" -or "$MHD_ver_minor" -eq "" -or "$MHD_ver_patchlev" -eq "") 21 { 22 Throw "Can't find MHD version in ${BasePath}..\..\configure.ac" 23 } 24 25 Write-Output "Detected MHD version: $MHD_ver" 26 27 Write-Output "Generating ${BasePath}microhttpd_dll_res_vc.rc" 28 Get-Content "${BasePath}microhttpd_dll_res_vc.rc.in" | ForEach-Object { 29 $_ -replace '@PACKAGE_VERSION_MAJOR@',"$MHD_ver_major" ` 30 -replace '@PACKAGE_VERSION_MINOR@', "$MHD_ver_minor" ` 31 -replace '@PACKAGE_VERSION_SUBMINOR@', "$MHD_ver_patchlev" ` 32 -replace '@PACKAGE_VERSION@', "$MHD_ver" 33 } | Out-File -FilePath "${BasePath}microhttpd_dll_res_vc.rc" -Force 34 35 $Host.SetShouldExit(0) # Reset return code 36 37 Write-Output "${BasePath}microhttpd_dll_res_vc.rc was generated " 38 exit 0 # Exit with success code 39