[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Add PowerShell build scripts, version.vcxproj
Based on the sequence of commits to xenbus, add powershell scripts to build the solution using the EWDK version.vcxproj generates versioned files (version.h, xeniface.inf and wmi.mof) using scripts/genfiles.ps1 Strips duplicated functionality from build.py toproduce consistant builds between python and powershell. Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> --- build.ps1 | 86 +++++++++++++++++++++++ build.py | 107 ----------------------------- include/version.tmpl | 22 ++++++ msbuild.ps1 | 92 +++++++++++++++++++++++++ scripts/genfiles.ps1 | 91 ++++++++++++++++++++++++ src/xenvif.inf | 4 +- symstore.ps1 | 36 ++++++++++ vs2015/package/package.vcxproj | 16 +++++ vs2015/version/version.vcxproj | 19 +++++ vs2015/xenvif.sln | 23 +++++++ vs2015/xenvif/xenvif.vcxproj | 16 ----- vs2015/xenvif_coinst/xenvif_coinst.vcxproj | 1 - vs2017/package/package.vcxproj | 16 +++++ vs2017/version/.revision | 1 + vs2017/version/version.vcxproj | 16 +++++ vs2017/xenvif.sln | 23 +++++++ vs2017/xenvif/xenvif.vcxproj | 16 ----- vs2017/xenvif_coinst/xenvif_coinst.vcxproj | 1 - 18 files changed, 443 insertions(+), 143 deletions(-) create mode 100644 build.ps1 create mode 100644 include/version.tmpl create mode 100644 msbuild.ps1 create mode 100644 scripts/genfiles.ps1 create mode 100644 symstore.ps1 create mode 100644 vs2015/version/version.vcxproj create mode 100644 vs2017/version/.revision create mode 100644 vs2017/version/version.vcxproj diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 0000000..f154aee --- /dev/null +++ b/build.ps1 @@ -0,0 +1,86 @@ +# +# Main build script +# + +param( + [Parameter(Mandatory = $true)] + [string]$Type, + [switch]$Sdv +) + +# +# Script Body +# + +Function Build { + param( + [string]$Arch, + [string]$Type + ) + + $visualstudioversion = $Env:VisualStudioVersion + $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; } + $configurationbase = @{ "14.0" = "Windows 8"; "15.0" = "Windows 8"; } + + $params = @{ + SolutionDir = $solutiondir[$visualstudioversion]; + ConfigurationBase = $configurationbase[$visualstudioversion]; + Arch = $Arch; + Type = $Type + } + & ".\msbuild.ps1" @params +} + +Function SdvBuild { + $visualstudioversion = $Env:VisualStudioVersion + $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; } + $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; } + $arch = "x64" + + $params = @{ + SolutionDir = $solutiondir[$visualstudioversion]; + ConfigurationBase = $configurationbase[$visualstudioversion]; + Arch = $arch; + Type = "sdv" + } + & ".\msbuild.ps1" @params +} + +if ($Type -ne "free" -and $Type -ne "checked") { + Write-Host "Invalid Type" + Exit -1 +} + +if ([string]::IsNullOrEmpty($Env:VENDOR_NAME)) { + Set-Item -Path Env:VENDOR_NAME -Value 'Xen Project' +} + +if ([string]::IsNullOrEmpty($Env:VENDOR_PREFIX)) { + Set-Item -Path Env:VENDOR_PREFIX -Value 'XP' +} + +if ([string]::IsNullOrEmpty($Env:PRODUCT_NAME)) { + Set-Item -Path Env:PRODUCT_NAME -Value 'Xen' +} + +if ([string]::IsNullOrEmpty($Env:BUILD_NUMBER)) { + if (Test-Path ".build_number") { + $BuildNum = Get-Content -Path ".build_number" + Set-Content -Path ".build_number" -Value ([int]$BuildNum + 1) + } else { + $BuildNum = '0' + Set-Content -Path ".build_number" -Value '1' + } + Set-Item -Path Env:BUILD_NUMBER -Value $BuildNum +} + +Set-Item -Path Env:MAJOR_VERSION -Value '9' +Set-Item -Path Env:MINOR_VERSION -Value '0' +Set-Item -Path Env:MICRO_VERSION -Value '0' + +Build "x86" $Type +Build "x64" $Type + +if ($Sdv) { + SdvBuild +} diff --git a/build.py b/build.py index 4993ce2..999d0c7 100755 --- a/build.py +++ b/build.py @@ -23,76 +23,6 @@ def next_build_number(): return build_number - -def make_header(): - now = datetime.datetime.now() - - file = open('include\\version.h', 'w') - - file.write('#define VENDOR_NAME_STR\t\t"' + os.environ['VENDOR_NAME'] + '"\n') - file.write('#define VENDOR_PREFIX_STR\t"' + os.environ['VENDOR_PREFIX'] + '"\n') - - if 'VENDOR_DEVICE_ID' in os.environ.keys(): - file.write('#define VENDOR_DEVICE_ID_STR\t"' + os.environ['VENDOR_DEVICE_ID'] + '"\n') - - file.write('#define PRODUCT_NAME_STR\t"' + os.environ['PRODUCT_NAME'] + '"\n') - file.write('\n') - - file.write('#define MAJOR_VERSION\t\t' + os.environ['MAJOR_VERSION'] + '\n') - file.write('#define MAJOR_VERSION_STR\t"' + os.environ['MAJOR_VERSION'] + '"\n') - file.write('\n') - - file.write('#define MINOR_VERSION\t\t' + os.environ['MINOR_VERSION'] + '\n') - file.write('#define MINOR_VERSION_STR\t"' + os.environ['MINOR_VERSION'] + '"\n') - file.write('\n') - - file.write('#define MICRO_VERSION\t\t' + os.environ['MICRO_VERSION'] + '\n') - file.write('#define MICRO_VERSION_STR\t"' + os.environ['MICRO_VERSION'] + '"\n') - file.write('\n') - - file.write('#define BUILD_NUMBER\t\t' + os.environ['BUILD_NUMBER'] + '\n') - file.write('#define BUILD_NUMBER_STR\t"' + os.environ['BUILD_NUMBER'] + '"\n') - file.write('\n') - - file.write('#define YEAR\t\t\t' + str(now.year) + '\n') - file.write('#define YEAR_STR\t\t"' + str(now.year) + '"\n') - file.write('\n') - - file.write('#define MONTH\t\t\t' + str(now.month) + '\n') - file.write('#define MONTH_STR\t\t"' + str(now.month) + '"\n') - file.write('\n') - - file.write('#define DAY\t\t\t' + str(now.day) + '\n') - file.write('#define DAY_STR\t\t\t"' + str(now.day) + '"\n') - file.write('\n') - - file.close() - - -def copy_inf(vs, name): - src = open('src\\%s.inf' % name, 'r') - dst = open('%s\\%s.inf' % (vs, name), 'w') - - for line in src: - line = re.sub('@MAJOR_VERSION@', os.environ['MAJOR_VERSION'], line) - line = re.sub('@MINOR_VERSION@', os.environ['MINOR_VERSION'], line) - line = re.sub('@MICRO_VERSION@', os.environ['MICRO_VERSION'], line) - line = re.sub('@BUILD_NUMBER@', os.environ['BUILD_NUMBER'], line) - line = re.sub('@VENDOR_NAME@', os.environ['VENDOR_NAME'], line) - line = re.sub('@VENDOR_PREFIX@', os.environ['VENDOR_PREFIX'], line) - line = re.sub('@PRODUCT_NAME@', os.environ['PRODUCT_NAME'], line) - - if re.search('@VENDOR_DEVICE_ID@', line): - if 'VENDOR_DEVICE_ID' not in os.environ.keys(): - continue - line = re.sub('@VENDOR_DEVICE_ID@', os.environ['VENDOR_DEVICE_ID'], line) - - dst.write(line) - - dst.close() - src.close() - - def get_expired_symbols(name, age = 30): path = os.path.join(os.environ['SYMBOL_SERVER'], '000Admin\\history.txt') @@ -213,29 +143,6 @@ def build_sln(name, release, arch, debug, vs): msbuild(platform, configuration, 'Build', name + '.sln', '', vs) -def copy_package(name, release, arch, debug, vs): - configuration = get_configuration(release, debug) - - if arch == 'x86': - platform = 'Win32' - elif arch == 'x64': - platform = 'x64' - - pattern = '/'.join([vs, ''.join(configuration.split(' ')), platform, 'package', '*']) - print('Copying package from %s' % pattern) - - files = glob.glob(pattern) - - dst = os.path.join(name, arch) - - os.makedirs(dst, exist_ok=True) - - for file in files: - new = shutil.copy(file, dst) - print(new) - - print('') - def remove_timestamps(path): try: os.unlink(path + '.orig') @@ -409,18 +316,6 @@ def main(): print(os.environ['GIT_REVISION'], file=revision) revision.close() - print("VENDOR_NAME\t\t'%s'" % os.environ['VENDOR_NAME']) - print("VENDOR_PREFIX\t\t'%s'" % os.environ['VENDOR_PREFIX']) - print("PRODUCT_NAME\t\t'%s'" % os.environ['PRODUCT_NAME']) - print("MAJOR_VERSION\t\t%s" % os.environ['MAJOR_VERSION']) - print("MINOR_VERSION\t\t%s" % os.environ['MINOR_VERSION']) - print("MICRO_VERSION\t\t%s" % os.environ['MICRO_VERSION']) - print("BUILD_NUMBER\t\t%s" % os.environ['BUILD_NUMBER']) - print() - - make_header() - copy_inf(vs, driver) - symstore_del(driver, 30) release = { 'vs2015':'Windows 8', @@ -429,10 +324,8 @@ def main(): shutil.rmtree(driver, ignore_errors=True) build_sln(driver, release[vs], 'x86', debug[sys.argv[1]], vs) - copy_package(driver, release[vs], 'x86', debug[sys.argv[1]], vs) build_sln(driver, release[vs], 'x64', debug[sys.argv[1]], vs) - copy_package(driver, release[vs], 'x64', debug[sys.argv[1]], vs) symstore_add(driver, release[vs], 'x86', debug[sys.argv[1]], vs) symstore_add(driver, release[vs], 'x64', debug[sys.argv[1]], vs) diff --git a/include/version.tmpl b/include/version.tmpl new file mode 100644 index 0000000..d6f9a48 --- /dev/null +++ b/include/version.tmpl @@ -0,0 +1,22 @@ +#define VENDOR_NAME_STR "@VENDOR_NAME@" +#define PRODUCT_NAME_STR "@PRODUCT_NAME@" +#define VENDOR_PREFIX_STR "@VENDOR_PREFIX@" +#define VENDOR_DEVICE_ID_STR "@VENDOR_DEVICE_ID@" + +#define MAJOR_VERSION_STR "@MAJOR_VERSION@" +#define MINOR_VERSION_STR "@MINOR_VERSION@" +#define MICRO_VERSION_STR "@MICRO_VERSION@" +#define BUILD_NUMBER_STR "@BUILD_NUMBER@" + +#define YEAR_STR "@YEAR@" +#define MONTH_STR "@MONTH@" +#define DAY_STR "@DAY@" + +#define MAJOR_VERSION @MAJOR_VERSION@ +#define MINOR_VERSION @MINOR_VERSION@ +#define MICRO_VERSION @MICRO_VERSION@ +#define BUILD_NUMBER @BUILD_NUMBER@ + +#define YEAR @YEAR@ +#define MONTH @MONTH@ +#define DAY @DAY@ diff --git a/msbuild.ps1 b/msbuild.ps1 new file mode 100644 index 0000000..f1fa2e2 --- /dev/null +++ b/msbuild.ps1 @@ -0,0 +1,92 @@ +# +# Wrapper script for MSBuild +# +param( + [string]$SolutionDir = "vs2017", + [string]$ConfigurationBase = "Windows 10", + [Parameter(Mandatory = $true)] + [string]$Arch, + [Parameter(Mandatory = $true)] + [string]$Type +) + +Function Run-MSBuild { + param( + [string]$SolutionPath, + [string]$Name, + [string]$Configuration, + [string]$Platform, + [string]$Target = "Build", + [string]$Inputs = "" + ) + + $c = "msbuild.exe" + $c += " /m:4" + $c += [string]::Format(" /p:Configuration=""{0}""", $Configuration) + $c += [string]::Format(" /p:Platform=""{0}""", $Platform) + $c += [string]::Format(" /t:""{0}"" ", $Target) + if ($Inputs) { + $c += [string]::Format(" /p:Inputs=""{0}"" ", $Inputs) + } + $c += Join-Path -Path $SolutionPath -ChildPath $Name + + Invoke-Expression $c +} + +Function Run-MSBuildSDV { + param( + [string]$SolutionPath, + [string]$Name, + [string]$Configuration, + [string]$Platform + ) + + $basepath = Get-Location + $versionpath = Join-Path -Path $SolutionPath -ChildPath "version" + $projpath = Join-Path -Path $SolutionPath -ChildPath $Name + Set-Location $projpath + + $project = [string]::Format("{0}.vcxproj", $Name) + Run-MSBuild $versionpath "version.vcxproj" $Configuration $Platform "Build" + Run-MSBuild $projpath $project $Configuration $Platform "Build" + Run-MSBuild $projpath $project $Configuration $Platform "sdv" "/clean" + Run-MSBuild $projpath $project $Configuration $Platform "sdv" "/check:default.sdv /debug" + Run-MSBuild $projpath $project $Configuration $Platform "dvl" + + $refine = Join-Path -Path $projpath -ChildPath "refine.sdv" + if (Test-Path -Path $refine -PathType Leaf) { + Run-MSBuild $projpath $project $Configuration $Platform "sdv" "/refine" + } + + Copy-Item "*DVL*" -Destination $SolutionPath + + Set-Location $basepath +} + +# +# Script Body +# + +$configuration = @{ "free" = "$ConfigurationBase Release"; "checked" = "$ConfigurationBase Debug"; "sdv" = "$ConfigurationBase Release"; } +$platform = @{ "x86" = "Win32"; "x64" = "x64" } +$solutionpath = Resolve-Path $SolutionDir + +Set-ExecutionPolicy -Scope CurrentUser -Force Bypass + +if ($Type -eq "free") { + Run-MSBuild $solutionpath "xenvif.sln" $configuration["free"] $platform[$Arch] +} +elseif ($Type -eq "checked") { + Run-MSBuild $solutionpath "xenvif.sln" $configuration["checked"] $platform[$Arch] +} +elseif ($Type -eq "sdv") { + $archivepath = "xenvif" + + if (-Not (Test-Path -Path $archivepath)) { + New-Item -Name $archivepath -ItemType Directory | Out-Null + } + + Run-MSBuildSDV $solutionpath "xenvif" $configuration["sdv"] $platform[$Arch] + + Copy-Item -Path (Join-Path -Path $SolutionPath -ChildPath "*DVL*") -Destination $archivepath +} diff --git a/scripts/genfiles.ps1 b/scripts/genfiles.ps1 new file mode 100644 index 0000000..b7ff7ea --- /dev/null +++ b/scripts/genfiles.ps1 @@ -0,0 +1,91 @@ +# +# Generate version.h and xenbus.inf +# +param( + [string]$Platform = "Win32", + [string]$SolutionDir = "vs2017", + [string]$IncludeDir = "include", + [string]$SourceDir = "src" +) + +# Copy $InFileName -> $OutFileName replacing $Token$_.Key$Token with $_.Value from +# $Replacements +Function Copy-FileWithReplacements { + param( + [Parameter(Mandatory = $true)] + [string]$InFileName, + [Parameter(Mandatory = $true)] + [string]$OutFileName, + [hashtable]$Replacements, + [string]$Token = "@" + ) + + Write-Host "Copy-FileWithReplacements" + Write-Host $InFileName" -> "$OutFileName + + (Get-Content $InFileName) | + ForEach-Object { + $line = $_ + $Replacements.GetEnumerator() | ForEach-Object { + $key = [string]::Format("{0}{1}{2}", $Token, $_.Name, $Token) + if (([string]::IsNullOrEmpty($_.Value)) -and ($line.Contains($key))) { + Write-Host "Skipping Line Containing " $_.Name + $line = $null + } + $line = $line -replace $key, $_.Value + } + $line + } | + Set-Content $OutFileName +} + +# +# Script Body +# +$TheYear = [int](Get-Date -UFormat "%Y") +$TheMonth = [int](Get-Date -UFormat "%m") +$TheDay = [int](Get-Date -UFormat "%d") +$InfArch = @{ "Win32" = "x86"; "x64" = "amd64" } +$InfDate = Get-Date -UFormat "%m/%d/%Y" + +# if GitRevision is $null, GIT_REVISION will be excluded from the Copy-FileWithReplacements +$GitRevision = & "git.exe" "rev-list" "--max-count=1" "HEAD" +if ($GitRevision) { + Set-Content -Path ".revision" -Value $GitRevision +} + +# [ordered] makes output easier to parse by humans +$Replacements = [ordered]@{ + # values determined from the build environment + 'VENDOR_NAME' = $Env:VENDOR_NAME; + 'PRODUCT_NAME' = $Env:PRODUCT_NAME; + 'VENDOR_DEVICE_ID' = $Env:VENDOR_DEVICE_ID; + 'VENDOR_PREFIX' = $Env:VENDOR_PREFIX; + + 'MAJOR_VERSION' = $Env:MAJOR_VERSION; + 'MINOR_VERSION' = $Env:MINOR_VERSION; + 'MICRO_VERSION' = $Env:MICRO_VERSION; + 'BUILD_NUMBER' = $Env:BUILD_NUMBER; + + # generated values + 'GIT_REVISION' = $GitRevision; + + 'INF_DATE' = $InfDate; + 'INF_ARCH' = $InfArch[$Platform]; + 'YEAR' = $TheYear; + 'MONTH' = $TheMonth; + 'DAY' = $TheDay +} + +$Replacements | Out-String | Write-Host + +$includepath = Resolve-Path $IncludeDir +$src = Join-Path -Path $includepath -ChildPath "version.tmpl" +$dst = Join-Path -Path $includepath -ChildPath "version.h" +Copy-FileWithReplacements $src $dst -Replacements $Replacements + +$sourcepath = Resolve-Path $SourceDir +$solutionpath = Resolve-Path $SolutionDir +$src = Join-Path -Path $sourcepath -ChildPath "xenvif.inf" +$dst = Join-Path -Path $solutionpath -ChildPath "xenvif.inf" +Copy-FileWithReplacements $src $dst -Replacements $Replacements diff --git a/src/xenvif.inf b/src/xenvif.inf index a1d9301..e2fd633 100644 --- a/src/xenvif.inf +++ b/src/xenvif.inf @@ -53,9 +53,9 @@ xenvif_coinst.dll=0,, xenvif_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenvif_coinst.dll [Manufacturer] -%Vendor%=Inst,NT$ARCH$ +%Vendor%=Inst,NT@INF_ARCH@ -[Inst.NT$ARCH$] +[Inst.NT@INF_ARCH@] ; DisplayName Section DeviceID ; ----------- ------- -------- diff --git a/symstore.ps1 b/symstore.ps1 new file mode 100644 index 0000000..efbbd1a --- /dev/null +++ b/symstore.ps1 @@ -0,0 +1,36 @@ +# +# Store symbols for archived build +# +param( + [string]$SymbolServer = "c:\symbols", + [Parameter(Mandatory = $true)] + [string]$Arch +) + +Function Add-Symbols { + param( + [string]$DriverName, + [string]$ArchivePath, + [string]$SymbolServer, + [string]$Arch + ) + + Write-Host Store symbols from (Resolve-Path $ArchivePath) + + $cwd = Get-Location + Set-Location $ArchivePath + + $path = Join-Path -Path ([string]::Format("{0}Debuggers", $env:WDKContentRoot)) -ChildPath $Arch + $symstore = Join-Path -Path $path -ChildPath "symstore.exe" + + $inffile = [string]::Format("{0}.inf", $DriverName) + $Version = (Get-Content -Path $inffile | Select-String "DriverVer").Line.Split(',')[1] + + Get-ChildItem -Path "." -Include "*.pdb" -Name | Write-Host + & $symstore "add" "/s" $SymbolServer "/r" "/f" "*.pdb" "/t" $DriverName "/v" $Version + + Set-Location $cwd +} + +$archivepath = Join-Path -Path (Resolve-Path "xenvif") -ChildPath $Arch +Add-Symbols "xenvif" $archivepath $SymbolServer $Arch diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj index 11899e2..3db0b5e 100644 --- a/vs2015/package/package.vcxproj +++ b/vs2015/package/package.vcxproj @@ -31,6 +31,12 @@ <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir> <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir> </PropertyGroup> + <PropertyGroup Condition="'$(Platform)'=='Win32'"> + <ArchiveDir>..\..\$(SolutionName)\x86</ArchiveDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Platform)'=='x64'"> + <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir> + </PropertyGroup> <ItemGroup> <ProjectReference Include="..\xenvif\xenvif.vcxproj"> <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project> @@ -38,6 +44,7 @@ <ProjectReference Include="..\xenvif_coinst\xenvif_coinst.vcxproj"> <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project> </ProjectReference> + <FilesToPackage Include="..\xenvif.inf" /> </ItemGroup> <ItemGroup Condition="Exists('$(DPINST_REDIST)')"> <FilesToPackage Include="$(DPINST_REDIST)\x86\dpinst.exe" Condition="'$(Platform)'=='Win32'" /> @@ -46,4 +53,13 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> + <ItemGroup> + <PackageFiles Include="$(OutDir)\$(ProjectName)\*" /> + </ItemGroup> + <Target Name="Archive" AfterTargets="TestSign"> + <Copy + SourceFiles="@(PackageFiles)" + DestinationFiles="@(PackageFiles->'$(ArchiveDir)\%(FileName)%(Extension)')" + /> + </Target> </Project> diff --git a/vs2015/version/version.vcxproj b/vs2015/version/version.vcxproj new file mode 100644 index 0000000..e3c95c4 --- /dev/null +++ b/vs2015/version/version.vcxproj @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\configs.props" /> + <Import Project="..\targets.props" /> + <PropertyGroup Label="Globals"> + <ProjectGuid>{65FA97EA-A569-4FC1-BFE7-D68E109143F7}</ProjectGuid> + </PropertyGroup> + <PropertyGroup> + <Script>..\..\scripts\genfiles.ps1</Script> + <SolutionDir>..</SolutionDir> + <IncludeDir>..\..\include</IncludeDir> + <SourceDir>..\..\src</SourceDir> + </PropertyGroup> + <Target Name="GetNativeManifest"></Target> + <Target Name="Build"> + <Exec Command="powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File $(Script) $(Platform) $(SolutionDir) $(IncludeDir) $(SourceDir)" /> + </Target> + <Target Name="GetCopyToOutputDirectoryItems"></Target> +</Project> diff --git a/vs2015/xenvif.sln b/vs2015/xenvif.sln index 3f8878e..8d808f0 100644 --- a/vs2015/xenvif.sln +++ b/vs2015/xenvif.sln @@ -2,15 +2,22 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "version", "version\version.vcxproj", "{65FA97EA-A569-4FC1-BFE7-D68E109143F7}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvif", "xenvif\xenvif.vcxproj", "{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}" + ProjectSection(ProjectDependencies) = postProject + {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvif_coinst", "xenvif_coinst\xenvif_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}" ProjectSection(ProjectDependencies) = postProject + {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7} {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}" ProjectSection(ProjectDependencies) = postProject + {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7} {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} EndProjectSection @@ -27,6 +34,22 @@ Global Windows 10 Release|x64 = Windows 10 Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 diff --git a/vs2015/xenvif/xenvif.vcxproj b/vs2015/xenvif/xenvif.vcxproj index 8db43cb..b35a0e5 100644 --- a/vs2015/xenvif/xenvif.vcxproj +++ b/vs2015/xenvif/xenvif.vcxproj @@ -35,33 +35,20 @@ <AdditionalDependencies>$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies> <EnableCOMDATFolding>false</EnableCOMDATFolding> </Link> - <Inf> - <SpecifyArchitecture>true</SpecifyArchitecture> - <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion> - <TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp> - <EnableVerbose>true</EnableVerbose> - </Inf> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> <ClCompile> <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> - <Inf> - <Architecture>x86</Architecture> - </Inf> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Platform)'=='x64'"> <ClCompile> <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> - <Inf> - <Architecture>amd64</Architecture> - </Inf> </ItemDefinitionGroup> <ItemGroup> <FilesToPackage Include="$(TargetPath)" /> <FilesToPackage Include="$(OutDir)$(TargetName).pdb" /> - <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> </ItemGroup> <ItemGroup> <ClCompile Include="../../src/xenvif/bus.c" /> @@ -84,9 +71,6 @@ <ItemGroup> <ResourceCompile Include="..\..\src\xenvif\xenvif.rc" /> </ItemGroup> - <ItemGroup> - <Inf Include="..\xenvif.inf" /> - </ItemGroup> <ItemGroup> <None Include="..\package\package.vcxproj" /> </ItemGroup> diff --git a/vs2015/xenvif_coinst/xenvif_coinst.vcxproj b/vs2015/xenvif_coinst/xenvif_coinst.vcxproj index 3d4c39a..71c3401 100644 --- a/vs2015/xenvif_coinst/xenvif_coinst.vcxproj +++ b/vs2015/xenvif_coinst/xenvif_coinst.vcxproj @@ -48,7 +48,6 @@ <ItemGroup> <FilesToPackage Include="$(TargetPath)" /> <FilesToPackage Include="$(OutDir)$(TargetName).pdb" /> - <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\src\coinst\coinst.c" /> diff --git a/vs2017/package/package.vcxproj b/vs2017/package/package.vcxproj index 8c62989..3aec237 100644 --- a/vs2017/package/package.vcxproj +++ b/vs2017/package/package.vcxproj @@ -31,6 +31,12 @@ <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir> <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir> </PropertyGroup> + <PropertyGroup Condition="'$(Platform)'=='Win32'"> + <ArchiveDir>..\..\$(SolutionName)\x86</ArchiveDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Platform)'=='x64'"> + <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir> + </PropertyGroup> <ItemGroup> <ProjectReference Include="..\xenvif\xenvif.vcxproj"> <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project> @@ -38,6 +44,7 @@ <ProjectReference Include="..\xenvif_coinst\xenvif_coinst.vcxproj"> <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project> </ProjectReference> + <FilesToPackage Include="..\xenvif.inf" /> </ItemGroup> <ItemGroup Condition="Exists('$(DPINST_REDIST)')"> <FilesToPackage Include="$(DPINST_REDIST)\x86\dpinst.exe" Condition="'$(Platform)'=='Win32'" /> @@ -46,4 +53,13 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> + <ItemGroup> + <PackageFiles Include="$(OutDir)\$(ProjectName)\*" /> + </ItemGroup> + <Target Name="Archive" AfterTargets="TestSign"> + <Copy + SourceFiles="@(PackageFiles)" + DestinationFiles="@(PackageFiles->'$(ArchiveDir)\%(FileName)%(Extension)')" + /> + </Target> </Project> diff --git a/vs2017/version/.revision b/vs2017/version/.revision new file mode 100644 index 0000000..ed3a442 --- /dev/null +++ b/vs2017/version/.revision @@ -0,0 +1 @@ +28cda7b9c3e183a32e43ab060873bdc8911b5996 diff --git a/vs2017/version/version.vcxproj b/vs2017/version/version.vcxproj new file mode 100644 index 0000000..9d149d0 --- /dev/null +++ b/vs2017/version/version.vcxproj @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\configs.props" /> + <PropertyGroup Label="Globals"> + <ProjectGuid>{65FA97EA-A569-4FC1-BFE7-D68E109143F7}</ProjectGuid> + </PropertyGroup> + <PropertyGroup> + <Script>..\..\scripts\genfiles.ps1</Script> + <SolutionDir>..</SolutionDir> + <IncludeDir>..\..\include</IncludeDir> + <SourceDir>..\..\src</SourceDir> + </PropertyGroup> + <Target Name="Build"> + <Exec Command="powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File $(Script) $(Platform) $(SolutionDir) $(IncludeDir) $(SourceDir)" /> + </Target> +</Project> diff --git a/vs2017/xenvif.sln b/vs2017/xenvif.sln index 3e24229..cf1d7db 100644 --- a/vs2017/xenvif.sln +++ b/vs2017/xenvif.sln @@ -1,13 +1,20 @@ Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "version", "version\version.vcxproj", "{65FA97EA-A569-4FC1-BFE7-D68E109143F7}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvif", "xenvif\xenvif.vcxproj", "{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}" + ProjectSection(ProjectDependencies) = postProject + {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvif_coinst", "xenvif_coinst\xenvif_coinst.vcxproj", "{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}" ProjectSection(ProjectDependencies) = postProject + {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7} {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{73768CC9-DB26-4297-9EC8-1042F815EB15}" ProjectSection(ProjectDependencies) = postProject + {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7} {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} = {C3F96D4C-E441-47F7-A44C-D2D0543C1D18} {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} = {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44} EndProjectSection @@ -24,6 +31,22 @@ Global Windows 10 Release|x64 = Windows 10 Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 + {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 {2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 diff --git a/vs2017/xenvif/xenvif.vcxproj b/vs2017/xenvif/xenvif.vcxproj index c6d02f9..8cae1b4 100644 --- a/vs2017/xenvif/xenvif.vcxproj +++ b/vs2017/xenvif/xenvif.vcxproj @@ -36,28 +36,16 @@ <AdditionalDependencies>$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies> <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> </Link> - <Inf> - <SpecifyArchitecture>true</SpecifyArchitecture> - <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion> - <TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp> - <EnableVerbose>true</EnableVerbose> - </Inf> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> <ClCompile> <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> - <Inf> - <Architecture>x86</Architecture> - </Inf> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Platform)'=='x64'"> <ClCompile> <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> - <Inf> - <Architecture>amd64</Architecture> - </Inf> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)'=='Windows 8 Release'"> <ClCompile> @@ -69,7 +57,6 @@ <ItemGroup> <FilesToPackage Include="$(TargetPath)" /> <FilesToPackage Include="$(OutDir)$(TargetName).pdb" /> - <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> </ItemGroup> <ItemGroup> <ClCompile Include="../../src/xenvif/bus.c" /> @@ -92,9 +79,6 @@ <ItemGroup> <ResourceCompile Include="..\..\src\xenvif\xenvif.rc" /> </ItemGroup> - <ItemGroup> - <Inf Include="..\xenvif.inf" /> - </ItemGroup> <ItemGroup> <None Include="..\package\package.vcxproj" /> </ItemGroup> diff --git a/vs2017/xenvif_coinst/xenvif_coinst.vcxproj b/vs2017/xenvif_coinst/xenvif_coinst.vcxproj index 4b5faed..6957ad8 100644 --- a/vs2017/xenvif_coinst/xenvif_coinst.vcxproj +++ b/vs2017/xenvif_coinst/xenvif_coinst.vcxproj @@ -48,7 +48,6 @@ <ItemGroup> <FilesToPackage Include="$(TargetPath)" /> <FilesToPackage Include="$(OutDir)$(TargetName).pdb" /> - <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\src\coinst\coinst.c" /> -- 2.16.2.windows.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |