Skip to content

Commit f4a77a1

Browse files
committed
Merge remote-tracking branch 'origin/V8-5.1.300' into Mac-5.1.300
2 parents 88e0ecf + 37c38b3 commit f4a77a1

File tree

4 files changed

+35
-25
lines changed

4 files changed

+35
-25
lines changed

Source/V8/Private/Debugger.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS
44

5+
#if !PLATFORM_LINUX
56
#include "JavascriptIsolate.h"
67
#include "JavascriptContext.h"
78
#include "SocketSubSystem.h"
@@ -20,10 +21,11 @@ PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS
2021
#define DEBUG_V8_DEBUGGER 0
2122

2223
#include "Translator.h"
24+
#endif
2325

2426
using namespace v8;
2527

26-
#if WITH_EDITOR
28+
#if WITH_EDITOR && !PLATFORM_LINUX
2729
#include "TickableEditorObject.h"
2830

2931
namespace
@@ -436,4 +438,4 @@ IJavascriptDebugger* IJavascriptDebugger::Create(int32 InPort, Local<Context> In
436438
}
437439
#endif
438440

439-
PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS
441+
PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS

Source/V8/Private/V8Module.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ using namespace v8;
3232
UJavascriptSettings::UJavascriptSettings(const FObjectInitializer& ObjectInitializer)
3333
: Super(ObjectInitializer)
3434
{
35-
V8Flags = TEXT("--harmony --harmony-shipping --es-staging --expose-debug-as=v8debug --expose-gc --harmony_destructuring --harmony_simd --harmony_default_parameters");
35+
V8Flags = TEXT("--harmony --harmony-shipping --es-staging --expose-debug-as=v8debug --expose-gc --harmony_simd");
3636
}
3737

3838
void UJavascriptSettings::Apply() const
@@ -141,7 +141,7 @@ class V8Module : public IV8
141141
{
142142
UJavascriptContext* Context = *It;
143143

144-
if (Context->ContextId == TargetContext || !TargetContext.IsValid() && Context->IsDebugContext())
144+
if (Context->ContextId == TargetContext || (!TargetContext.IsValid() && Context->IsDebugContext()))
145145
{
146146
FString Result = Context->RunScript(FString::Printf(SourceCode, *FString(Input).ReplaceCharWithEscapedChar()), false);
147147
Result.ParseIntoArray(OutArray, TEXT(","));
@@ -155,7 +155,7 @@ class V8Module : public IV8
155155
{
156156
UJavascriptContext* Context = *It;
157157

158-
if (Context->ContextId == TargetContext || !TargetContext.IsValid() && Context->IsDebugContext())
158+
if (Context->ContextId == TargetContext || (!TargetContext.IsValid() && Context->IsDebugContext()))
159159
{
160160
static FName NAME_JavascriptCmd("JavascriptCmd");
161161
GLog->Log(NAME_JavascriptCmd, ELogVerbosity::Log, Command);

Source/V8/V8.Build.cs

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -58,24 +58,15 @@ private bool LoadV8(TargetInfo Target)
5858
{
5959
if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))
6060
{
61-
string LibrariesPath = Path.Combine(ThirdPartyPath, "v8", "lib", "Windows");
62-
63-
if (WindowsPlatform.Compiler == WindowsCompiler.VisualStudio2015)
64-
{
65-
LibrariesPath = Path.Combine(LibrariesPath, "MSVC2015");
66-
}
67-
else
68-
{
69-
LibrariesPath = Path.Combine(LibrariesPath, "MSVC2013");
70-
}
61+
string LibrariesPath = Path.Combine(ThirdPartyPath, "v8", "lib");
7162

7263
if (Target.Platform == UnrealTargetPlatform.Win64)
7364
{
74-
LibrariesPath = Path.Combine(LibrariesPath, "x64");
65+
LibrariesPath = Path.Combine(LibrariesPath, "Win64");
7566
}
7667
else
77-
{
78-
LibrariesPath = Path.Combine(LibrariesPath, "x86");
68+
{
69+
LibrariesPath = Path.Combine(LibrariesPath, "Win32");
7970
}
8071

8172
if (Target.Configuration == UnrealTargetConfiguration.Debug)
@@ -85,7 +76,7 @@ private bool LoadV8(TargetInfo Target)
8576
else
8677
{
8778
LibrariesPath = Path.Combine(LibrariesPath, "Release");
88-
}
79+
}
8980

9081
PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "v8_base_0.lib"));
9182
PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "v8_base_1.lib"));
@@ -96,7 +87,7 @@ private bool LoadV8(TargetInfo Target)
9687
PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "v8_nosnapshot.lib"));
9788

9889
Definitions.Add(string.Format("WITH_V8=1"));
99-
Definitions.Add(string.Format("WITH_V8_FAST_CALL=1"));
90+
Definitions.Add(string.Format("WITH_V8_FAST_CALL=0"));
10091
Definitions.Add(string.Format("WITH_JSWEBSOCKET=1"));
10192

10293
return true;
@@ -120,6 +111,23 @@ private bool LoadV8(TargetInfo Target)
120111

121112
return true;
122113
}
114+
else if (Target.Platform == UnrealTargetPlatform.Linux)
115+
{
116+
string LibrariesPath = Path.Combine(ThirdPartyPath, "v8", "lib", "Linux");
117+
PublicLibraryPaths.Add(Path.Combine(LibrariesPath, "x64"));
118+
119+
PublicAdditionalLibraries.Add("v8_base");
120+
PublicAdditionalLibraries.Add("v8_libbase");
121+
PublicAdditionalLibraries.Add("v8_libplatform");
122+
PublicAdditionalLibraries.Add("v8_nosnapshot");
123+
RuntimeDependencies.Add(new RuntimeDependency("$(GameDir)/Plugins/UnrealJS/ThirdParty/v8/lib/Linux/x64/libv8.so"));
124+
125+
Definitions.Add(string.Format("WITH_V8=1"));
126+
Definitions.Add(string.Format("WITH_V8_FAST_CALL=0"));
127+
Definitions.Add(string.Format("WITH_JSWEBSOCKET=0"));
128+
129+
return true;
130+
}
123131
else if (Target.Platform == UnrealTargetPlatform.Mac)
124132
{
125133
string LibrariesPath = Path.Combine(ThirdPartyPath, "v8", "lib", "Mac", "x64");

UnrealJS.uplugin

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@
1515
"Name": "V8",
1616
"Type": "Runtime",
1717
"LoadingPhase": "PreDefault",
18-
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Android"]
18+
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Android", "Linux"]
1919
},
2020
{
2121
"Name": "JavascriptUMG",
2222
"Type": "Runtime",
2323
"LoadingPhase": "PreDefault",
24-
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Android"]
24+
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Android", "Linux"]
2525
},
2626
{
2727
"Name": "JavascriptHttp",
2828
"Type": "Runtime",
2929
"LoadingPhase": "PreDefault",
30-
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Android"]
30+
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Android", "Linux"]
3131
},
3232
{
3333
"Name": "JavascriptWebSocket",
@@ -38,12 +38,12 @@
3838
{
3939
"Name": "JavascriptEditor",
4040
"Type": "Editor",
41-
"WhitelistPlatforms" : ["Win64", "Win32", "Mac"]
41+
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Linux"]
4242
},
4343
{
4444
"Name": "JavascriptConsole",
4545
"Type": "Editor",
46-
"WhitelistPlatforms" : ["Win64", "Win32", "Mac"]
46+
"WhitelistPlatforms" : ["Win64", "Win32", "Mac", "Linux"]
4747
}
4848
],
4949
"CanContainContent": true

0 commit comments

Comments
 (0)