[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH] Add PowerShell build scripts, version.vcxproj
> -----Original Message----- > From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On > Behalf Of Owen Smith > Sent: 07 June 2019 14:26 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith <owen.smith@xxxxxxxxxx> > Subject: [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> For this and similar patches for other drivers... Acked-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > build.ps1 | 86 +++++++++++++++++++++++ > build.py | 107 > ----------------------------- > include/version.tmpl | 22 ++++++ > msbuild.ps1 | 92 +++++++++++++++++++++++++ > scripts/genfiles.ps1 | 91 ++++++++++++++++++++++++ > src/xenhid.inf | 4 +- > symstore.ps1 | 36 ++++++++++ > vs2015/package/package.vcxproj | 16 +++++ > vs2015/version/version.vcxproj | 19 +++++ > vs2015/xenhid.sln | 23 +++++++ > vs2015/xenhid/xenhid.vcxproj | 16 ----- > vs2015/xenhid_coinst/xenhid_coinst.vcxproj | 1 - > vs2017/package/package.vcxproj | 16 +++++ > vs2017/version/version.vcxproj | 16 +++++ > vs2017/xenhid.sln | 23 +++++++ > vs2017/xenhid/xenhid.vcxproj | 16 ----- > vs2017/xenhid_coinst/xenhid_coinst.vcxproj | 1 - > 17 files changed, 442 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/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 74afc8f..7f423d5 100644 > --- 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..a340cec > --- /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 "xenhid.sln" $configuration["free"] > $platform[$Arch] > +} > +elseif ($Type -eq "checked") { > + Run-MSBuild $solutionpath "xenhid.sln" $configuration["checked"] > $platform[$Arch] > +} > +elseif ($Type -eq "sdv") { > + $archivepath = "xenhid" > + > + if (-Not (Test-Path -Path $archivepath)) { > + New-Item -Name $archivepath -ItemType Directory | Out-Null > + } > + > + Run-MSBuildSDV $solutionpath "xenhid" $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..2cfb3ab > --- /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 "xenhid.inf" > +$dst = Join-Path -Path $solutionpath -ChildPath "xenhid.inf" > +Copy-FileWithReplacements $src $dst -Replacements $Replacements > diff --git a/src/xenhid.inf b/src/xenhid.inf > index d440876..f91982c 100644 > --- a/src/xenhid.inf > +++ b/src/xenhid.inf > @@ -53,9 +53,9 @@ xenhid_coinst.dll=0,, > > xenhid_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenhid_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..80ee417 > --- /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 "xenhid") -ChildPath $Arch > +Add-Symbols "xenhid" $archivepath $SymbolServer $Arch > diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj > index 09bb33e..e38197e 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="..\xenhid\xenhid.vcxproj"> > <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project> > @@ -38,6 +44,7 @@ > <ProjectReference Include="..\xenhid_coinst\xenhid_coinst.vcxproj"> > <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project> > </ProjectReference> > + <FilesToPackage Include="..\xenhid.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/xenhid.sln b/vs2015/xenhid.sln > index 160d2ce..4a4e1cc 100644 > --- a/vs2015/xenhid.sln > +++ b/vs2015/xenhid.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}") = "xenhid", > "xenhid\xenhid.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}") = "xenhid_coinst", > "xenhid_coinst\xenhid_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/xenhid/xenhid.vcxproj b/vs2015/xenhid/xenhid.vcxproj > index 3c2e27d..761642f 100644 > --- a/vs2015/xenhid/xenhid.vcxproj > +++ b/vs2015/xenhid/xenhid.vcxproj > @@ -35,33 +35,20 @@ > > <AdditionalDependencies>$(DDK_LIB_PATH)/hidclass.lib;$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcnt > pr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;%(Additiona > lDependencies)</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/xenhid/driver.c" /> > @@ -70,9 +57,6 @@ > <ItemGroup> > <ResourceCompile Include="..\..\src\xenhid\xenhid.rc" /> > </ItemGroup> > - <ItemGroup> > - <Inf Include="..\xenhid.inf" /> > - </ItemGroup> > <ItemGroup> > <None Include="..\package\package.vcxproj" /> > </ItemGroup> > diff --git a/vs2015/xenhid_coinst/xenhid_coinst.vcxproj > b/vs2015/xenhid_coinst/xenhid_coinst.vcxproj > index 01b4504..ba658cb 100644 > --- a/vs2015/xenhid_coinst/xenhid_coinst.vcxproj > +++ b/vs2015/xenhid_coinst/xenhid_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 060affc..45c799d 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="..\xenhid\xenhid.vcxproj"> > <Project>{C3F96D4C-E441-47F7-A44C-D2D0543C1D18}</Project> > @@ -38,6 +44,7 @@ > <ProjectReference Include="..\xenhid_coinst\xenhid_coinst.vcxproj"> > <Project>{2BFAC7E6-3420-47A5-A092-BDC5C9D78A44}</Project> > </ProjectReference> > + <FilesToPackage Include="..\xenhid.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/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/xenhid.sln b/vs2017/xenhid.sln > index da531e2..c69467d 100644 > --- a/vs2017/xenhid.sln > +++ b/vs2017/xenhid.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}") = "xenhid", > "xenhid\xenhid.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}") = "xenhid_coinst", > "xenhid_coinst\xenhid_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/xenhid/xenhid.vcxproj b/vs2017/xenhid/xenhid.vcxproj > index 0872aa4..f946fed 100644 > --- a/vs2017/xenhid/xenhid.vcxproj > +++ b/vs2017/xenhid/xenhid.vcxproj > @@ -36,28 +36,16 @@ > > <AdditionalDependencies>$(DDK_LIB_PATH)/hidclass.lib;$(DDK_LIB_PATH)/Rtlver.lib;$(DDK_LIB_PATH)/libcnt > pr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/ksecdd.lib;$(DDK_LIB_PATH)/procgrp.lib;%(Additiona > lDependencies)</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/xenhid/driver.c" /> > @@ -78,9 +65,6 @@ > <ItemGroup> > <ResourceCompile Include="..\..\src\xenhid\xenhid.rc" /> > </ItemGroup> > - <ItemGroup> > - <Inf Include="..\xenhid.inf" /> > - </ItemGroup> > <ItemGroup> > <None Include="..\package\package.vcxproj" /> > </ItemGroup> > diff --git a/vs2017/xenhid_coinst/xenhid_coinst.vcxproj > b/vs2017/xenhid_coinst/xenhid_coinst.vcxproj > index eb716e4..652d511 100644 > --- a/vs2017/xenhid_coinst/xenhid_coinst.vcxproj > +++ b/vs2017/xenhid_coinst/xenhid_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 _______________________________________________ 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 |