make debug build work, remove /NODEFAULTLIB for now

This commit is contained in:
u130b8
2023-09-06 15:05:22 +03:00
parent 0d0e37b561
commit 5d0a3f1ccf
2 changed files with 9 additions and 6 deletions

View File

@@ -9,12 +9,11 @@ rmdir /S /Q "%DIR_RELEASE%" > nul 2>&1
if not exist "%DIR_RELEASE%" mkdir "%DIR_RELEASE%" if not exist "%DIR_RELEASE%" mkdir "%DIR_RELEASE%"
if "%1" == "debug" ( if "%1" == "debug" (
rem NOTE: This currently doesn't link properly
set CL=/MT /Od /Zi /RTC1 /Fdprogmgr.pdb /fsanitize=address %DEFS% set CL=/MT /Od /Zi /RTC1 /Fdprogmgr.pdb /fsanitize=address %DEFS%
set LINK=/DEBUG msvcrt.lib vcruntime.lib ucrtd.lib set LINK=/DEBUG
) else ( ) else (
set CL=/O1 /DNDEBUG /GS- %DEFS% set CL=/GL /O1 /DNDEBUG /GS- %DEFS%
set LINK=/OPT:REF /OPT:ICF set LINK=/LTCG /OPT:REF /OPT:ICF
) )
pushd "%DIR_RELEASE%" pushd "%DIR_RELEASE%"
@@ -26,7 +25,7 @@ cl /nologo /W3 /WX /MP /Feprogmgr.exe ^
"%DIR_PROGMGR%\resource.res" ^ "%DIR_PROGMGR%\resource.res" ^
"%DIR_PROGMGR%\lang\dlg_en-US.res" ^ "%DIR_PROGMGR%\lang\dlg_en-US.res" ^
"%DIR_PROGMGR%\lang\res_en-US.res" ^ "%DIR_PROGMGR%\lang\res_en-US.res" ^
/link /NODEFAULTLIB /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /FIXED /merge:_RDATA=.rdata ^ /link /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /FIXED /merge:_RDATA=.rdata ^
/MANIFEST:EMBED /MANIFESTINPUT:%DIR_PROGMGR%\progmgr.exe.manifest ^ /MANIFEST:EMBED /MANIFESTINPUT:%DIR_PROGMGR%\progmgr.exe.manifest ^
kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ^ kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ^
secur32.lib comdlg32.lib pathcch.lib shlwapi.lib secur32.lib comdlg32.lib pathcch.lib shlwapi.lib

View File

@@ -166,6 +166,8 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance,
return 0; return 0;
} }
#ifdef PROGMGR_NO_CRT
#pragma function(memset) #pragma function(memset)
void *memset(char* dst, int value, size_t count) { void *memset(char* dst, int value, size_t count) {
while (count--) { *dst++ = value; } while (count--) { *dst++ = value; }
@@ -182,3 +184,5 @@ void __stdcall wWinMainCRTStartup() {
int code = wWinMain(GetModuleHandle(0), 0, 0, 0); int code = wWinMain(GetModuleHandle(0), 0, 0, 0);
ExitProcess(code); ExitProcess(code);
} }
#endif