diff options
| author | ras0219 <533828+ras0219@users.noreply.github.com> | 2020-08-07 11:41:21 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-07 11:41:21 -0700 |
| commit | 23d4072643dbd3a92d65ad26c8923ce8a829936f (patch) | |
| tree | bdeadd282f7350931aabb45e83c27f9acfcd7002 /scripts | |
| parent | 600743e1e16cc73744bf36993bba38bfca1889d8 (diff) | |
| download | vcpkg-23d4072643dbd3a92d65ad26c8923ce8a829936f.tar.gz vcpkg-23d4072643dbd3a92d65ad26c8923ce8a829936f.zip | |
[boost] Add Supports fields and more accurately handle arm64-windows/x64-uwp (#12762)
* [boost] Add Supports fields. Regenerate to better describe arm64-windows and UWP.
* [ci.baseline.txt] Remove unneeded boost entries
* [libtorrent] Modify Supports to cover arm64-windows
* [ci.baseline.txt] Add exposed failures now that boost:arm64-windows builds
* Update ports/boost-fiber/CONTROL
* Update ports/boost/CONTROL
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/boost/generate-ports.ps1 | 137 | ||||
| -rw-r--r-- | scripts/ci.baseline.txt | 24 |
2 files changed, 84 insertions, 77 deletions
diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 index 992cf37a2..8136a9799 100644 --- a/scripts/boost/generate-ports.ps1 +++ b/scripts/boost/generate-ports.ps1 @@ -11,25 +11,68 @@ if ($null -eq $portsDir) $portsDir = "$scriptsDir/../../ports"
}
+# Optionally clear this array when moving to a new boost version
+$port_versions = @{
+ "asio" = 1;
+ "context" = 1;
+ "coroutine" = 1;
+ "fiber" = 1;
+ "filesystem" = 1;
+ "graph-parallel" = 1;
+ "iostreams" = 1;
+ "locale" = 1;
+ "log" = 1;
+ "mpi" = 1;
+ "parameter-python" = 1;
+ "poly-collection" = 1;
+ "python" = 1;
+ "safe-numerics" = 1;
+ "stacktrace" = 1;
+ "test" = 1;
+ "wave" = 1;
+ "boost" = 1
+}
+
+$per_port_data = @{
+ "fiber" = @{ "supports" = "windows&!uwp&!arm" };
+ "filesystem" = @{ "supports" = "!uwp" };
+ "iostreams" = @{ "supports" = "!uwp" };
+ "context" = @{ "supports" = "!uwp" };
+ "stacktrace" = @{ "supports" = "!uwp" };
+ "coroutine" = @{ "supports" = "!arm&!uwp" };
+ "test" = @{ "supports" = "!uwp" };
+ "wave" = @{ "supports" = "!uwp" };
+ "log" = @{ "supports" = "!uwp" };
+ "locale" = @{
+ "supports" = "!uwp";
+ "features" = @(
+ "Feature: icu"
+ "Build-Depends: icu"
+ "Description: ICU backend for Boost.Locale"
+ )};
+ "python" = @{
+ "supports" = "!uwp&!(arm&windows)";
+ "features" = @(
+ "Feature: python2"
+ "Build-Depends: python2 (windows)"
+ "Description: Build with Python2 support"
+ )};
+ "regex" = @{ "features" = @(
+ "Feature: icu"
+ "Build-Depends: icu"
+ "Description: ICU backend for Boost.Regex"
+ )}
+}
+
function TransformReference()
{
param (
[string]$library
)
- if ($library -match "fiber")
- {
- # these only work on windows desktop
- "$library (windows)"
- }
- elseif ($library -match "type[_-]erasure|contract")
+ if ($per_port_data[$library].supports)
{
- # These only work on x86-derived processors
- "$library (!arm)"
- }
- elseif ($library -match "iostreams|filesystem|context|stacktrace|coroutine`$|locale|test|wave|log`$")
- {
- "$library (!uwp)"
+ "$library ($($per_port_data[$library].supports))"
}
else
{
@@ -49,48 +92,28 @@ function Generate() $controlDeps = ($Depends | sort) -join ", "
- $versionSuffix = ""
-
- # if ($PortName -eq "<modified_libname>")
- # {
- # $versionSuffix = "-1"
- # }
-
mkdir "$portsDir/boost-$PortName" -erroraction SilentlyContinue | out-null
$controlLines = @(
"# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1"
"Source: boost-$PortName"
- "Version: $version$versionSuffix"
+ "Version: $version"
+ )
+ if ($port_versions[$PortName])
+ {
+ $controlLines += @("Port-Version: $($port_versions[$PortName])")
+ }
+ $controlLines += @(
"Build-Depends: $controlDeps"
"Homepage: https://github.com/boostorg/$Name"
"Description: Boost $Name module"
)
- if ($PortName -eq "locale")
+ if ($per_port_data[$PortName].supports)
{
- $controlLines += @(
- ""
- "Feature: icu"
- "Build-Depends: icu"
- "Description: ICU backend for Boost.Locale"
- )
- }
- if ($PortName -eq "python")
- {
- $controlLines += @(
- ""
- "Feature: python2"
- "Build-Depends: python2 (windows)"
- "Description: Build with Python2 support"
- )
+ $controlLines += @("Supports: $($per_port_data[$PortName].supports)")
}
- if ($PortName -eq "regex")
+ if ($per_port_data[$PortName].features)
{
- $controlLines += @(
- ""
- "Feature: icu"
- "Build-Depends: icu"
- "Description: ICU backend for Boost.Regex"
- )
+ $controlLines += @("") + $per_port_data[$PortName].features
}
$controlLines | out-file -enc ascii "$portsDir/boost-$PortName/CONTROL"
@@ -115,23 +138,21 @@ function Generate() " SHA512 $Hash"
" HEAD_REF master"
)
- if ($PortName -eq "asio")
+ $patches = ls $portsDir/boost-$PortName/*.patch
+ if ($patches.Count -eq 0)
{
- $portfileLines += @(" PATCHES windows_alloca_header.patch")
}
- if ($PortName -eq "iostreams")
+ elseif ($patches.Count -eq 1)
{
- $portfileLines += @(" PATCHES Removeseekpos.patch")
+ $portfileLines += @(" PATCHES $($patches.name)")
}
- if ($PortName -eq "outcome")
- {
- # 1.73 Known Issue
- $portfileLines += @(" PATCHES 0001-outcome-assert.patch")
- }
- if ($PortName -eq "beast")
+ else
{
- # 1.73 Known Issue
- $portfileLines += @(" PATCHES 0002-beast-coroutines.patch")
+ $portfileLines += @(" PATCHES")
+ foreach ($patch in $patches)
+ {
+ $portfileLines += @(" $($patches.name)")
+ }
}
$portfileLines += @(
")"
@@ -277,6 +298,7 @@ foreach ($library in $libraries) if ($_ -match "aligned_storage") { "type_traits" }
elseif ($_ -match "noncopyable|ref|swap|get_pointer|checked_delete|visit_each") { "core" }
elseif ($_ -eq "type") { "core" }
+ elseif ($_ -eq "concept") { "concept_check" }
elseif ($_ -match "unordered_") { "unordered" }
elseif ($_ -match "cstdint|integer_fwd|integer_traits") { "integer" }
elseif ($_ -match "call_traits|operators|current_function|cstdlib|next_prior|compressed_pair") { "utility" }
@@ -340,8 +362,8 @@ foreach ($library in $libraries) (($library -notmatch "iostreams") -or ($_ -notmatch "random"))`
-and `
(($library -notmatch "utility|concept_check") -or ($_ -notmatch "iterator"))
- } | % { "boost-$_" -replace "_","-" } | % {
- TransformReference $_
+ } | % { $_ -replace "_","-" } | % {
+ "boost-" + (TransformReference $_)
})
$deps += @("boost-vcpkg-helpers")
@@ -401,6 +423,7 @@ if ($libraries_in_boost_port.length -gt 1) { "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1"
"Source: boost"
"Version: $version"
+ "Port-Version: $($port_versions.boost)"
"Homepage: https://boost.org"
"Description: Peer-reviewed portable C++ source libraries"
"Build-Depends: $boostDependsList"
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 086c72824..cbbbcf4a5 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -106,6 +106,8 @@ azure-c-shared-utility:arm-uwp=fail azure-c-shared-utility:x64-uwp=fail azure-kinect-sensor-sdk:x64-linux=fail azure-kinect-sensor-sdk:x64-osx=fail +# Requires ATL for ARM64 to be installed in CI +azure-storage-cpp:arm64-windows=fail bde:arm64-windows=fail bde:arm-uwp=fail bde:x64-uwp=fail @@ -140,26 +142,6 @@ blosc:x64-uwp=fail bond:arm-uwp=fail bond:x64-osx=fail bond:x64-uwp=fail -boost-coroutine:arm-uwp=fail -boost-coroutine:arm64-windows=fail -boost-fiber:arm-uwp=fail -boost-fiber:arm64-windows=fail -boost-fiber:x64-osx=fail -boost-fiber:x64-uwp=fail -boost-filesystem:arm-uwp=fail -boost-filesystem:x64-uwp=fail -boost-iostreams:arm-uwp=fail -boost-iostreams:x64-uwp=fail -boost-locale:arm-uwp=fail -boost-locale:x64-uwp=fail -boost-log:arm-uwp=fail -boost-log:x64-uwp=fail -boost-stacktrace:arm-uwp=fail -boost-stacktrace:x64-uwp=fail -boost-test:arm-uwp=fail -boost-test:x64-uwp=fail -boost-wave:arm-uwp=fail -boost-wave:x64-uwp=fail botan:arm64-windows=fail botan:arm-uwp=fail botan:x64-uwp=fail @@ -450,6 +432,8 @@ freeglut:arm64-windows=fail freeglut:arm-uwp=fail freeglut:x64-uwp=fail freeglut:x64-osx=fail +# Needs /bigobj +freeopcua:arm64-windows=fail freetds:arm-uwp=fail freetds:x64-linux=fail freetds:x64-osx=fail |
