1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Bug fixes, installer, [Export]

Fixed a bunch of bugs in aggregate const initializers
Fixed ZIP bugs
Fixed a compilation case where we change protection while reifying a type
Added another project kind - Dynamic Library
Added [Export] for DLL method exporting
Fixed some issues of things being  generated as __NOINLINE incorrectly
Fixed an issue with module extensions with not-yet-demanded on-demand methods
Started adding Installer
This commit is contained in:
Brian Fiete 2019-08-27 08:04:41 -07:00
parent efa22e51fb
commit 09016c8dc0
135 changed files with 3615 additions and 2337 deletions

View file

@ -22,7 +22,7 @@ CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Debug /p:Platf
CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/build_rt.bat
CALL bin/build_rt.bat %1
@IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%

View file

@ -1,85 +1,115 @@
PUSHD %~dp0..\
@SET MSBUILD_FLAGS=
@IF "%1" NEQ "clean" goto BUILD
@SET MSBUILD_FLAGS=/t:Clean,Build
@ECHO Performing clean build
:BUILD
@ECHO @@@@@@@@@@@@@@ Win64 @@@@@@@@@@@@@@
@ECHO ---- Building BeefRT64 (Debug) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT64 (Debug Static) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT64 (Debug Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static CStatic" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static CStatic" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT64 (Release) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT64 (Release Static) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT6 (Release Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static CStatic" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static CStatic" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg64 (Debug) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg64 (Debug Static) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Debug Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg64 (Debug Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Debug Static CStatic" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg64 (Release) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg64 (Release Static) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Release Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg64 (Release Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Release Static CStatic" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Debug) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Debug GUI) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Debug GUI" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Debug GUI" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Release) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Release GUI) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Release GUI" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Release GUI" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO @@@@@@@@@@@@@ Win32 @@@@@@@@@@@@@@
@ECHO ---- Building BeefRT32 (Debug) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Debug /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Debug /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT32 (Debug Static) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT32 (Debug Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static CStatic" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Debug Static CStatic" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT32 (Release) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT32 (Release Static) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefRT32 (Release Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static CStatic" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefRT.vcxproj /p:Configuration="Release Static CStatic" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg32 (Debug) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Debug /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Debug /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg32 (Debug Static) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Debug Static" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg32 (Debug Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Debug Static CStatic" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg32 (Release) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg32 (Release Static) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Release Static" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building BeefDbg32 (Release Static CStatic) ----
CALL bin\msbuild.bat BeefRT\BeefDbg\BeefDbg.vcxproj /p:Configuration="Release Static CStatic" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Debug) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Debug /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Debug /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Debug GUI) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Debug GUI" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Debug GUI" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Release) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
@ECHO ---- Building MinRT (Release GUI) ----
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Release GUI" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m
CALL bin\msbuild.bat BeefRT\MinRT\MinRT.vcxproj /p:Configuration="Release GUI" /p:Platform=Win32 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
IF %ERRORLEVEL% NEQ 0 GOTO FAILED
GOTO DONE

View file

@ -8,21 +8,31 @@ PUSHD %~dp0..\
@SET TESTPATH=IDE\Tests\CompileFail001
@CALL :TEST
@IF !ERRORLEVEL! NEQ 0 GOTO HADERROR
@SET TESTPATH=IDE\Tests\Test1
@CALL :TEST
@IF !ERRORLEVEL! NEQ 0 GOTO HADERROR
@SET TESTPATH=IDE\Tests\SlotTest
@CALL :TEST
@IF !ERRORLEVEL! NEQ 0 GOTO HADERROR
@SET TESTPATH=IDE\Tests\BugW001
@CALL :TEST
@IF !ERRORLEVEL! NEQ 0 GOTO HADERROR
@GOTO :EMPTYTEST
:TEST
@FOR %%i IN (%TESTPATH%\scripts\*.txt) DO (
@ECHO Testing %%i - Win64
@ECHO Testing %%i in BeefIDE_d - Win64
%~dp0\RunAndWait %~dp0..\IDE\dist\BeefIDE_d.exe -proddir=%~dp0..\%TESTPATH% -test=%cd%\%%i
@IF !ERRORLEVEL! NEQ 0 GOTO:EOF
@ECHO Testing %%i in BeefIDE - Win64
%~dp0\RunAndWait %~dp0..\IDE\dist\BeefIDE.exe -proddir=%~dp0..\%TESTPATH% -test=%cd%\%%i
@IF !ERRORLEVEL! NEQ 0 GOTO:EOF
@REM @ECHO Testing %%i - Win32
@REM %~dp0\RunAndWait %~dp0..\IDE\dist\BeefIDE_d.exe -proddir=%~dp0..\%TESTPATH% -test=%cd%\%%i -platform=Win32
@REM @IF !ERRORLEVEL! NEQ 0 GOTO:EOF
@ -32,7 +42,7 @@ GOTO:EOF
:EMPTYTEST
@PUSHD %cd%\IDE\Tests\EmptyTest
@FOR %%i IN (scripts\*.txt) DO (
@ECHO Testing IDE\Tests\EmptyTest\%%i
@ECHO Testing IDE\Tests\EmptyTest\%%i in BeefIDE_d - Win64
%~dp0\RunAndWait %~dp0\..\IDE\dist\BeefIDE_d.exe -test=%cd%\%%i
@IF !ERRORLEVEL! NEQ 0 GOTO HADERROR_EMPTY
)