Skip to content

Commit

Permalink
Attempted fixes for Windows CI
Browse files Browse the repository at this point in the history
- isolate compiler .pdb to avoid conflict (?)
- build system include dirs from WindowsSdkDir, WindowsSdkLibVersion and
  VcToolsInstallDir rather than hardcoded junk
  • Loading branch information
sgraham committed Oct 18, 2023
1 parent 992e9b7 commit 144be64
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
6 changes: 3 additions & 3 deletions src/gen.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@
CONFIGS = {
'w': {
'd': {
'COMPILE': 'cl /showIncludes /nologo /FS /Od /Zi /D_DEBUG /DIMPLSTATIC= /DIMPLEXTERN=extern /D_CRT_SECURE_NO_DEPRECATE /W4 /WX /I$root /c $in /Fo:$out /Fd:dyibicc.pdb',
'COMPILE': 'cl /showIncludes /nologo /FS /Od /Zi /D_DEBUG /DIMPLSTATIC= /DIMPLEXTERN=extern /D_CRT_SECURE_NO_DEPRECATE /W4 /WX /I$root /c $in /Fo:$out /Fd:$out.pdb',
'LINK': 'link /nologo gdi32.lib user32.lib onecore.lib /DEBUG $in /out:$out /pdb:$out.pdb',
'ML': 'cl /nologo /wd4132 /wd4324 $in /link /out:$out',
'TESTCEXE': 'cl /nologo /Zi /FS /D_CRT_SECURE_NO_WARNINGS /Iembed /W4 /Wall /WX $in /link /debug onecore.lib user32.lib /out:$out',
},
'r': {
'COMPILE': 'cl /showIncludes /nologo /FS /Ox /GL /Zi /DNDEBUG /DIMPLSTATIC= /DIMPLEXTERN=extern /D_CRT_SECURE_NO_DEPRECATE /W4 /WX /I$root /c $in /Fo$out /Fd:dyibicc.pdb',
'COMPILE': 'cl /showIncludes /nologo /FS /Ox /GL /Zi /DNDEBUG /DIMPLSTATIC= /DIMPLEXTERN=extern /D_CRT_SECURE_NO_DEPRECATE /W4 /WX /I$root /c $in /Fo$out /Fd:$out.pdb',
'LINK': 'link /nologo gdi32.lib user32.lib onecore.lib /LTCG /DEBUG /OPT:REF /OPT:ICF $in /out:$out /pdb:$out.pdb',
'ML': 'cl /nologo /wd4132 /wd4324 $in /link /out:$out',
'TESTCEXE': 'cl /nologo /FS /D_CRT_SECURE_NO_WARNINGS /Iembed /W4 /Zi /Ox /GL /Wall /WX /wd4710 /wd4711 $in /link onecore.lib user32.lib /LTCG /DEBUG /out:$out',
},
'a': {
'COMPILE': 'cl /showIncludes /nologo /FS /Od /fsanitize=address /Zi /D_DEBUG /DIMPLSTATIC= /DIMPLEXTERN=extern /D_CRT_SECURE_NO_DEPRECATE /W4 /WX /I$root /c $in /Fo:$out /Fd:dyibicc.pdb',
'COMPILE': 'cl /showIncludes /nologo /FS /Od /fsanitize=address /Zi /D_DEBUG /DIMPLSTATIC= /DIMPLEXTERN=extern /D_CRT_SECURE_NO_DEPRECATE /W4 /WX /I$root /c $in /Fo:$out /Fd:$out.pdb',
'LINK': 'link /nologo gdi32.lib user32.lib onecore.lib /DEBUG $in /out:$out /pdb:$out.pdb',
'ML': 'cl /nologo /wd4132 /wd4324 $in /link /out:$out',
'TESTCEXE': 'cl /nologo /FS /D_CRT_SECURE_NO_WARNINGS /Iembed /W4 /Wall /WX $in /link /DEBUG onecore.lib user32.lib /out:$out',
Expand Down
23 changes: 17 additions & 6 deletions src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,17 +204,28 @@ DyibiccContext* dyibicc_set_environment(DyibiccEnviromentData* env_data) {
strarray_push(&sys_inc_paths, format(AL_Temp, "%s/win", env_data->dyibicc_include_dir), AL_Temp);
strarray_push(&sys_inc_paths, format(AL_Temp, "%s/all", env_data->dyibicc_include_dir), AL_Temp);

#define GET_ENV_VAR(x) \
char* env_##x = getenv(#x); \
if (!env_##x) { \
ABORT("environment variable " #x " unset"); \
}

GET_ENV_VAR(WindowsSdkDir);
GET_ENV_VAR(WindowsSdkLibVersion);
GET_ENV_VAR(VcToolsInstallDir);
#undef GET_ENV_VAR

strarray_push(&sys_inc_paths,
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22621.0\\ucrt", AL_Temp);
strarray_push(&sys_inc_paths,
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22621.0\\um", AL_Temp);
format(AL_Temp, "%sInclude\\%sucrt", env_WindowsSdkDir, env_WindowsSdkLibVersion),
AL_Temp);
strarray_push(&sys_inc_paths,
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22621.0\\shared",
format(AL_Temp, "%sInclude\\%sum", env_WindowsSdkDir, env_WindowsSdkLibVersion),
AL_Temp);
strarray_push(&sys_inc_paths,
"C:\\Program Files\\Microsoft Visual "
"Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\include",
format(AL_Temp, "%sInclude\\%sshared", env_WindowsSdkDir, env_WindowsSdkLibVersion),
AL_Temp);
strarray_push(&sys_inc_paths, format(AL_Temp, "%sinclude", env_VcToolsInstallDir), AL_Temp);

#else
strarray_push(&sys_inc_paths, format(AL_Temp, "%s/linux", env_data->dyibicc_include_dir),
AL_Temp);
Expand Down

0 comments on commit 144be64

Please sign in to comment.