summaryrefslogtreecommitdiff
path: root/HACKING.adoc
diff options
context:
space:
mode:
authorDavid Allsopp <david.allsopp@metastack.com>2020-12-16 17:39:17 +0000
committerGitHub <noreply@github.com>2020-12-16 18:39:17 +0100
commit686a7a38ae3e8067e877301148bc1bb274b259f9 (patch)
tree774a4903576c4adaeba6f6195ef94a8ea53c6bfe /HACKING.adoc
parentd07d6c3ff7b1f0edd572bee2cf28b28e95408b09 (diff)
downloadocaml-686a7a38ae3e8067e877301148bc1bb274b259f9.tar.gz
Refactor AppVeyor scripts to enable all ports (#10065)
* Refactor AppVeyor script for testing all ports * Update to FlexDLL 0.39 * Allow forcing Cygwin upgrade * Split off the old-compilers job * Display base addresses of DLLs * Update HACKING.adoc
Diffstat (limited to 'HACKING.adoc')
-rw-r--r--HACKING.adoc23
1 files changed, 23 insertions, 0 deletions
diff --git a/HACKING.adoc b/HACKING.adoc
index cf71980576..aadce861b7 100644
--- a/HACKING.adoc
+++ b/HACKING.adoc
@@ -389,6 +389,29 @@ entry needed)" in one of your commit messages -- but in general all
patches submitted should come with a Changes entry; see the guidelines
in link:CONTRIBUTING.md[].
+The Windows ports take a long time to test - INRIA's precheck service is the
+best to use when all 6 Windows ports need testing for a branch, but the
+AppVeyor scripts also support the other ports. The matrix is controlled by
+the following environment variables, which should be set in appveyor.yml:
+
+- `PORT` - this must be set on each job. Either `mingw`, `msvc` or `cygwin`
+ followed by `32` or `64`.
+- `BOOTSTRAP_FLEXDLL` - must be set on each job. Either `true` or `false`.
+ At present, must be `false` for Cygwin builds. Controls whether flexlink
+ is bootstrapped as part of the test or installed from a binary archive.
+- `FORCE_CYGWIN_UPGRADE`. Default: `0`. Set to `1` to force an upgrade of
+ Cygwin packages as part of the build. Normally a full upgrade is only
+ triggered if the packages installed require it.
+- `BUILD_MODE`. Default: `world.opt`. Either `world.opt`, `steps`, or `C`.
+ Controls whether the build uses the `world.opt` target or the classic
+ `world`, `opt`, `opt.opt` targets. The `C` build is a fast test used to
+ build just enough of the tree to cover the C sources (it's used to test
+ old MSVC compilers).
+- `SDK`. Defaults to Visual Studio 2015. Specifies the exact command to run
+ to set-up the Microsoft build environment.
+- `CYGWIN_DIST`. Default: `64`. Either `64` or `32`, selects 32-bit or 64-bit
+ Cygwin as the build environment.
+
==== INRIA's Continuous Integration (CI)
INRIA provides a Jenkins continuous integration service that OCaml