diff --git a/releasenotes.md b/releasenotes.md
index f9f302d6f..2a8708781 100644
--- a/releasenotes.md
+++ b/releasenotes.md
@@ -8,6 +8,7 @@
- Add `enum.from_ordinal` and `fault.from_ordinal`
- Deprecate cast-style conversion from integer to enum.
- Make deprecation an error in test mode.
+- Add `--win-vs-dirs` to override VS detection dirs.
### Fixes
- Fix case trying to initialize a `char[*]*` from a String.
diff --git a/src/build/build.h b/src/build/build.h
index d0f5f5416..0f648d99f 100644
--- a/src/build/build.h
+++ b/src/build/build.h
@@ -415,6 +415,7 @@ typedef struct BuildOptions_
{
const char *sdk;
const char *def;
+ const char *vs_dirs;
WinCrtLinking crt_linking;
} win;
struct
@@ -661,6 +662,7 @@ typedef struct
{
const char *sdk;
const char *def;
+ const char *vs_dirs;
WinCrtLinking crt_linking;
bool use_win_subsystem;
} win;
diff --git a/src/build/build_options.c b/src/build/build_options.c
index e7cfd6c09..30e3a26b6 100644
--- a/src/build/build_options.c
+++ b/src/build/build_options.c
@@ -174,6 +174,7 @@ static void usage(bool full)
PRINTF(" --winsdk
- Set the directory for Windows system library files for cross compilation.");
PRINTF(" --wincrt=