1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-16 15:24:10 +02:00

Added Android support, and generalized target triple support

Added PICLevel, RelocKind
DarwinCommon/LinuxCommon/AndroidCommon merged into PosixCommon
Mangling changed to avoid '@'
This commit is contained in:
Brian Fiete 2019-10-23 07:12:36 -07:00
parent 7a27ab75bf
commit 3883a3674d
39 changed files with 3457 additions and 5636 deletions

View file

@ -7,6 +7,7 @@ using System.Diagnostics;
using Beefy.widgets;
using Beefy;
using Beefy.utils;
using IDE.Util;
namespace IDE.Compiler
{
@ -465,7 +466,10 @@ namespace IDE.Compiler
var options = IDEApp.sApp.GetCurWorkspaceOptions();
String targetTriple = scope .();
Workspace.PlatformType.GetTargetTripleByName(gApp.mPlatformName, options.mToolsetType, targetTriple);
if (TargetTriple.IsTargetTriple(gApp.mPlatformName))
targetTriple.Set(gApp.mPlatformName);
else
Workspace.PlatformType.GetTargetTripleByName(gApp.mPlatformName, options.mToolsetType, targetTriple);
bool enableObjectDebugFlags = options.mEnableObjectDebugFlags;
bool emitObjectAccessCheck = options.mEmitObjectAccessCheck && enableObjectDebugFlags;

View file

@ -34,7 +34,7 @@ namespace IDE.Compiler
[StdCall, CLink]
extern static void BfProject_SetOptions(void* nativeBfProject, int32 targetType, char8* startupObject, char8* preprocessorMacros,
int32 optLevel, int32 ltoType, Flags flags);
int32 optLevel, int32 ltoType, int32 relocType, int32 picLevel, Flags flags);
public void* mNativeBfProject;
public bool mDisabled;
@ -61,7 +61,8 @@ namespace IDE.Compiler
}
public void SetOptions(Project.TargetType targetType, String startupObject, List<String> preprocessorMacros,
BuildOptions.BfOptimizationLevel optLevel, BuildOptions.LTOType ltoType, bool mergeFunctions, bool combineLoads, bool vectorizeLoops, bool vectorizeSLP)
BuildOptions.BfOptimizationLevel optLevel, BuildOptions.LTOType ltoType, BuildOptions.RelocType relocType, BuildOptions.PICLevel picLevel,
bool mergeFunctions, bool combineLoads, bool vectorizeLoops, bool vectorizeSLP)
{
Flags flags = default;
void SetFlags(bool val, Flags flag)
@ -77,7 +78,7 @@ namespace IDE.Compiler
String macrosStr = scope String();
macrosStr.Join("\n", preprocessorMacros.GetEnumerator());
BfProject_SetOptions(mNativeBfProject, (int32)targetType, startupObject, macrosStr,
(int32)optLevel, (int32)ltoType, flags);
(int32)optLevel, (int32)ltoType, (int32)relocType, (int32)picLevel, flags);
}
}