mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Tiny ReleaseNoRT test
This commit is contained in:
parent
dea665055e
commit
7656d94ff5
4 changed files with 43 additions and 2 deletions
|
@ -646,12 +646,14 @@ namespace System
|
||||||
{
|
{
|
||||||
static function void*(int) sMallocFunc;
|
static function void*(int) sMallocFunc;
|
||||||
static function void(void*) sFreeFunc;
|
static function void(void*) sFreeFunc;
|
||||||
|
static function void(char8) sPutChar;
|
||||||
|
|
||||||
static this()
|
static this()
|
||||||
{
|
{
|
||||||
var lib = Windows.LoadLibraryA("msvcrt.dll");
|
var lib = Windows.LoadLibraryA("msvcrt.dll");
|
||||||
sMallocFunc = (.)Windows.GetProcAddress(lib, "malloc");
|
sMallocFunc = (.)Windows.GetProcAddress(lib, "malloc");
|
||||||
sFreeFunc = (.)Windows.GetProcAddress(lib, "free");
|
sFreeFunc = (.)Windows.GetProcAddress(lib, "free");
|
||||||
|
sPutChar = (.)Windows.GetProcAddress(lib, "putchar");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*[LinkName(.C), AlwaysInclude]
|
/*[LinkName(.C), AlwaysInclude]
|
||||||
|
@ -672,6 +674,12 @@ namespace System
|
||||||
sFreeFunc(ptr);
|
sFreeFunc(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[LinkName(.C), AlwaysInclude]
|
||||||
|
static void putchar(char8 c)
|
||||||
|
{
|
||||||
|
sPutChar(c);
|
||||||
|
}
|
||||||
|
|
||||||
[LinkName(.C), AlwaysInclude]
|
[LinkName(.C), AlwaysInclude]
|
||||||
static void memset(void* dest, uint8 val, int size)
|
static void memset(void* dest, uint8 val, int size)
|
||||||
{
|
{
|
||||||
|
@ -735,10 +743,15 @@ namespace System
|
||||||
[LinkName(.C), AlwaysInclude]
|
[LinkName(.C), AlwaysInclude]
|
||||||
static void mainCRTStartup()
|
static void mainCRTStartup()
|
||||||
{
|
{
|
||||||
//WinMain(null, null, "hi", 1);
|
|
||||||
main(0, null);
|
main(0, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*[LinkName(.C), AlwaysInclude]
|
||||||
|
static void WinMainCRTStartup()
|
||||||
|
{
|
||||||
|
//WinMain(null, null, "hi", 1);
|
||||||
|
}*/
|
||||||
|
|
||||||
[LinkName(.C), Export]
|
[LinkName(.C), Export]
|
||||||
static int32 _tls_index;
|
static int32 _tls_index;
|
||||||
|
|
||||||
|
|
|
@ -1829,7 +1829,7 @@ namespace System
|
||||||
[CLink, CallingConvention(.Stdcall)]
|
[CLink, CallingConvention(.Stdcall)]
|
||||||
public static extern HInstance LoadLibraryW(char16* libFileName);
|
public static extern HInstance LoadLibraryW(char16* libFileName);
|
||||||
|
|
||||||
[CLink, CallingConvention(.Stdcall)]
|
[Import("kernel32.lib"), CLink, CallingConvention(.Stdcall)]
|
||||||
public static extern HInstance LoadLibraryA(char8* libFileName);
|
public static extern HInstance LoadLibraryA(char8* libFileName);
|
||||||
|
|
||||||
[CLink, CallingConvention(.Stdcall)]
|
[CLink, CallingConvention(.Stdcall)]
|
||||||
|
|
|
@ -24,3 +24,17 @@ ReflectKind = "Minimal"
|
||||||
[Configs.Release.Win64]
|
[Configs.Release.Win64]
|
||||||
RuntimeKind = "Reduced"
|
RuntimeKind = "Reduced"
|
||||||
ReflectKind = "Minimal"
|
ReflectKind = "Minimal"
|
||||||
|
|
||||||
|
[Configs.Release.Win32]
|
||||||
|
RuntimeKind = "Reduced"
|
||||||
|
ReflectKind = "Minimal"
|
||||||
|
|
||||||
|
[Configs.ReleaseNoRT.Win64]
|
||||||
|
RuntimeKind = "Disabled"
|
||||||
|
ReflectKind = "Minimal"
|
||||||
|
ConfigSelections = {Tiny = {Config = "Release"}}
|
||||||
|
|
||||||
|
[Configs.ReleaseNoRT.Win32]
|
||||||
|
RuntimeKind = "Disabled"
|
||||||
|
ReflectKind = "Minimal"
|
||||||
|
ConfigSelections = {Tiny = {Config = "Release"}}
|
||||||
|
|
|
@ -46,6 +46,20 @@ if %size% GTR 16000 (
|
||||||
goto :HADERROR
|
goto :HADERROR
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ECHO Building Tiny NoRT
|
||||||
|
bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE\Tests\Tiny -clean -config=ReleaseNoRT
|
||||||
|
set size=0
|
||||||
|
FOR /F "usebackq" %%A IN ('IDE\Tests\Tiny\build\ReleaseNoRT_Win64\Tiny\Tiny.exe') DO set size=%%~zA
|
||||||
|
echo Tiny executable size: %size% (expected 5120, max 7000)
|
||||||
|
if %size% LSS 1000 (
|
||||||
|
echo TINY executable not found?
|
||||||
|
goto :HADERROR
|
||||||
|
)
|
||||||
|
if %size% GTR 7000 (
|
||||||
|
echo TINY executable is too large!
|
||||||
|
goto :HADERROR
|
||||||
|
)
|
||||||
|
|
||||||
@ECHO Building BeefIDE_d with BeefBuild_d
|
@ECHO Building BeefIDE_d with BeefBuild_d
|
||||||
bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
|
bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
|
||||||
@IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
|
@IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue