This brings in a version with LLVM/Clang 16.0.0.
By rebuilding the container, we also would get the main/official
version of LLVM updated to 16.0.0 from Chocolatey.
The current version of Python fails to build some dependencies, but
pinning the previous version works.
ActivePerl is no longer installable via Chocolatey (neither current
nor older versions) as ActiveState don't provide the downloads
without registration any longer (and even if registered, only
provide the latest, continuously updated version for free users, which
can't match the package manager checksums), see http://disq.us/p/2ipditb
for further discussion.
Replace ActivePerl with StrawberryPerl. StrawberryPerl has other
drawbacks, as it installs a whole C/C++ toolchain as part of it,
and copies of pkg-config tools that can cause package misdetections.
Remove these after installing it, see
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/11
for discussion on the inconveniences of installing it.
This bundles clang/lld and associated tools, configured for a mingw
target, with corresponding mingw sysroots.
As we already install the 'llvm' chocolatey package, which also
provides clang (defaulting to a MSVC target), add this one last in the
path. This lets 'clang' refer to the default MSVC-targeting tool, while
one can use a GCC style triple prefixed driver name, like
x86_64-w64-mingw32-clang, to use this tool.
This allows setting up a much-needed mingw configuration for the libcxx
CI.
The current default version in Chocolatey, 5.28, fails to install.
This was previously worked around by pinning a newer upcoming
version, 5.28.0.20210106. However this version never got approved
into Chocolatey (for unknown reasons), so it's no longer available.
Therefore instead request the previous older version, 5.24.3.2404001,
which installs correctly.
The current default version in Chocolatey (5.28) fails to install,
with the following error:
ERROR: The response content cannot be parsed because the Internet
Explorer engine is not available, or Internet Explorer's first-launch
configuration is not complete. Specify the UseBasicParsing parameter
and try again.
This is fixed in a newer version of packaging of ActivePerl, thus request
this particular version.
The libcxx tests currently require bash to be available (although
that might change), and the bash provided with Git is enough for
fulfilling this need. (Bash can also be useful for running other
scripts in the libcxx CI chain outside of the tests themselves.)
For the main LLVM testing, this works once
https://reviews.llvm.org/D98858 is merged.
This also allows getting rid of GnuWin altogether.
The GnuWin32 tools installed by Chocolatey reside in C:\GnuWin, and
are added automatically to the path.
The CMake tools aren't added automatically to the path though, so
that entry still is useful.
(However, the Visual Studio installation also brings along
a different version of CMake that ends up found if the one we
installed via Chocolatey isn't available.)
The main LLVM build runs fine with MSVC itself, but building libcxx
isn't supported with cl.exe, only with clang-cl.
This shouldn't matter for the main LLVM build, as it still is
configured to use CXX=cl (and even then, CMake defaults to cl
if nothing is specified).
* added cmake parameters for sccache
* added sccache
* removed stray debug output
* starting sccache with VS environment
* added container for Visual Studio 2019
* fixed comments
* considering WIndows version
* updated to vs2019
* using MS install method
* snapshot of VS2019 experiments
* using --installRecommended
* cleanup of dockerfile
* updated path
* fixed dockerfile
* dumped version number
* exclude for virus scan
* added testing option
this does not start the agent
* write results on failures
* added timeouts for pipelines
* moving master pipelines to python scripts
* added flang to automatic project selection
based on #159, this will enable flang for beta testers
* added persistent workspace for testing containers
* added secure delete function
* added better log message
* deleting read-only files
* checking existence before setting flags
* using unlink
* deleting recursively
* using pathlib for chmod
* using custom workspace
* fixed drive
* separate handling of single files
* simplified read-only handling again
* removed vsdevcmd calls
as it's already set in the docker Entrypoint
* renamed container folders
* windows version not needed any more
* bumped version number
* bumped version number
* script cleanup
* added cmake parameters for sccache
* added sccache
* starting sccache with VS environment
* added container for Visual Studio 2019
* fixed comments
* considering WIndows version
* updated to vs2019
* using MS install method
* snapshot of VS2019 experiments
* using --installRecommended
* cleanup of dockerfile
* updated path
* fixed dockerfile
* dumped version number
* removed vsdevcmd calls
as it's already set in the docker Entrypoint
* renamed container folders
* windows version not needed any more
* bumped version number
* bumped version number
* script cleanup
* removed sccache from vs2017
* making windows image configurable
* added versioning
* created windows BETA pipeline
* added Jenkins label for vs2019