mirror of
https://github.com/denoland/rusty_v8.git
synced 2024-11-24 15:19:31 -05:00
Add depot_tools and v8
This commit is contained in:
parent
5bca90b074
commit
8d2d3697f8
11 changed files with 55 additions and 4 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
||||||
/target
|
/target
|
||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
|
/goog/.cipd/
|
||||||
|
/goog/.gclient_entries
|
||||||
|
|
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[submodule "depot_tools"]
|
||||||
|
path = goog/depot_tools
|
||||||
|
url = https://chromium.googlesource.com/chromium/tools/depot_tools
|
||||||
|
[submodule "v8"]
|
||||||
|
path = goog/v8
|
||||||
|
url = https://chromium.googlesource.com/v8/v8
|
7
build.rs
7
build.rs
|
@ -7,4 +7,11 @@ fn main() {
|
||||||
.debug(true)
|
.debug(true)
|
||||||
.file("src/lib.cpp")
|
.file("src/lib.cpp")
|
||||||
.compile("v8-bindings");
|
.compile("v8-bindings");
|
||||||
|
|
||||||
|
println!("cargo:rustc-link-lib=static=v8_monolith");
|
||||||
|
println!("cargo:rustc-link-search=goog/v8/out/x64.release/obj");
|
||||||
|
|
||||||
|
if cfg!(target_os = "windows") {
|
||||||
|
println!("cargo:rustc-link-lib=dylib=winmm");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
3
env.bat
Normal file
3
env.bat
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
|
||||||
|
set PATH=%~dp0\goog\depot_tools;%PATH%
|
||||||
|
set RUSTFLAGS=-C target-feature=+crt-static -C linker=%~dp0goog\v8\third_party\llvm-build\Release+Asserts\bin\lld-link.exe
|
10
goog/.gclient
Normal file
10
goog/.gclient
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
solutions = [
|
||||||
|
{ "name" : "v8",
|
||||||
|
"url" : "https://chromium.googlesource.com/v8/v8",
|
||||||
|
"deps_file" : "DEPS",
|
||||||
|
"managed" : True,
|
||||||
|
"custom_deps" : {
|
||||||
|
},
|
||||||
|
"custom_vars": {},
|
||||||
|
},
|
||||||
|
]
|
15
goog/args.gn
Normal file
15
goog/args.gn
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Copy this file to v8/out/release.x64
|
||||||
|
|
||||||
|
is_component_build = false
|
||||||
|
is_debug = false
|
||||||
|
target_cpu = "x64"
|
||||||
|
treat_warnings_as_errors = false
|
||||||
|
use_custom_libcxx = false
|
||||||
|
use_jumbo_build = true
|
||||||
|
v8_enable_backtrace = true
|
||||||
|
v8_enable_disassembler = true
|
||||||
|
v8_enable_i18n_support = false
|
||||||
|
v8_enable_object_print = true
|
||||||
|
v8_enable_verify_heap = true
|
||||||
|
v8_monolithic = true
|
||||||
|
v8_use_external_startup_data = false
|
1
goog/depot_tools
Submodule
1
goog/depot_tools
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit acf922ce48cfd1ecf88582d9dbecf14e8d1fe369
|
1
goog/v8
Submodule
1
goog/v8
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit df131dbeccb600d8c4b1f4db015248e47796f14d
|
|
@ -6,7 +6,7 @@
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "../v8/include/v8-inspector.h"
|
#include "../goog/v8/include/v8-inspector.h"
|
||||||
namespace v8_inspector {
|
namespace v8_inspector {
|
||||||
using Channel = V8Inspector::Channel;
|
using Channel = V8Inspector::Channel;
|
||||||
}
|
}
|
||||||
|
@ -14,5 +14,11 @@ using Channel = V8Inspector::Channel;
|
||||||
template <class T>
|
template <class T>
|
||||||
using uninit_t = typename std::aligned_storage<sizeof(T), alignof(T)>::type;
|
using uninit_t = typename std::aligned_storage<sizeof(T), alignof(T)>::type;
|
||||||
|
|
||||||
|
// In C++17, this should be backed by std::launder().
|
||||||
|
template <class T>
|
||||||
|
auto launder(T ptr) {
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
#include "v8_inspector/channel.h"
|
#include "v8_inspector/channel.h"
|
||||||
#include "v8_inspector/string_buffer.h"
|
#include "v8_inspector/string_buffer.h"
|
||||||
|
|
|
@ -15,7 +15,8 @@ void v8_inspector__Channel__EXTENDER__flushProtocolNotifications(Channel& self);
|
||||||
namespace v8_inspector {
|
namespace v8_inspector {
|
||||||
struct Channel__EXTENDER : public Channel {
|
struct Channel__EXTENDER : public Channel {
|
||||||
using Channel::Channel;
|
using Channel::Channel;
|
||||||
static_assert(sizeof(std::unique_ptr<StringBuffer>) == sizeof(StringBuffer*));
|
static_assert(sizeof(std::unique_ptr<StringBuffer>) == sizeof(StringBuffer*),
|
||||||
|
"sizeof(T*) != sizeof(unique_ptr<T>)");
|
||||||
|
|
||||||
void sendResponse(int callId,
|
void sendResponse(int callId,
|
||||||
std::unique_ptr<StringBuffer> message) override {
|
std::unique_ptr<StringBuffer> message) override {
|
||||||
|
@ -35,7 +36,7 @@ extern "C" {
|
||||||
using namespace v8_inspector;
|
using namespace v8_inspector;
|
||||||
|
|
||||||
void v8_inspector__Channel__EXTENDER__CTOR(uninit_t<Channel__EXTENDER>& buf) {
|
void v8_inspector__Channel__EXTENDER__CTOR(uninit_t<Channel__EXTENDER>& buf) {
|
||||||
new (std::launder(&buf)) Channel__EXTENDER();
|
new (launder(&buf)) Channel__EXTENDER();
|
||||||
}
|
}
|
||||||
void v8_inspector__Channel__DTOR(Channel& self) {
|
void v8_inspector__Channel__DTOR(Channel& self) {
|
||||||
self.~Channel();
|
self.~Channel();
|
||||||
|
|
1
v8
1
v8
|
@ -1 +0,0 @@
|
||||||
d:/deno2/third_party/v8
|
|
Loading…
Reference in a new issue