Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling with V8 6.9 on windows #28

Open
Neurrone opened this issue Aug 30, 2018 · 2 comments
Open

Compiling with V8 6.9 on windows #28

Neurrone opened this issue Aug 30, 2018 · 2 comments

Comments

@Neurrone
Copy link

Hi,

I've been evaluating embedding V8 into a rust application. At a high level, what's needed to make this work with v6.9, assuming that I use bindgen to generate the low level bindings?

I'm not familiar with how often the V8 API changes between releases, so how much work would it take to change this crate accordingly? I'll be happy to help if I decide to attempt this.

My use cases are:

  • Exposing many functions from Rust to be called by JavaScript, hopefully in an ergonomic way.
  • Calling some JS functions from Rust
  • Exposing some structs as JS classes, controlling what happens when script tries to make modifications so I can implement copy on write semantics.
@Neurrone Neurrone changed the title Compiling with V8 6.9 Compiling with V8 6.9 on windows Aug 30, 2018
@dflemstr
Copy link
Owner

I'm trying to make this crate automatically map the V8 API of whatever version of V8 you have installed. The problem is that V8 sometimes makes use of advanced C++ features in its API, making things harder to wrap. The goal would be to use the latest cc crate for all of the mapping and then automatically create an idiomatic Rust API based on that. It's quite complicated to do, practically, though.

@Neurrone
Copy link
Author

Would it be easier if it were to only support the latest version of V8, e.g 6.9 rather than previous ones?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants