A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/chrisber/v8dotnet/tree/development-mono below:

chrisber/v8dotnet: A fairly non-abstracted wrapper for Google's V8 JavaScript engine.

  1. Compilation and Installation
  2. Using V8.Net with Mono
  3. Configuration Options

Summary: A fairly non-abstracted wrapper for Google's V8 JavaScript engine.

Note: The project is hosted at CodePlex officially, so the files here are only updated after posting there first.

What does that mean? Well, most other existing wrappers abstract most of the Google V8 engine's abilities away from you. That's fine for simple tasks, but wouldn't you rather have full control over the power of the V8 engine from managed code?

I've carefully crafted a C++ proxy wrapper to help marshal fast data transfers between the V8 engine and the managed side. One of the biggest challenges (which actually turned out to be simple in the end) was storing a field pointer in V8 objects to reference managed objects on call-backs (using reverse P/Invoke). A special custom C# class was created to manage objects in an indexed array in an O(1) design that is extremely fast in locating managed objects representing V8 ones.

Interesting note: I was carefully considering future portability to the Mono framework as well for this project, so great care was made to make the transition as seamless/painless as possible. ;)

License Clarification

The license is LGPL. In a nutshell, this means that you can link to the libraries from your own proprietary code, but if you modify the source files for anything in this project, the modified source and executables from it must also be made freely available as well (and you must clearly state you modified the code).

Coming in Next Release / WIP (updated on Jan 19th, 2015): (NOTE: If I'm posting up coming changes here, they are usually in the latest development-branch release binaries. Those binary releases will continue to be the bleeding edge releases.)

(Focus is currently on a new VPL {"[visual programming language]"} based scripting solution called "FlowScript" as a browser IDE for JavaScript development; However, I'll make minor updates as needed.)

Completed Updates This Release

Previous Updates:

Future Ideas I'll also be looking into the WebRTC SDK in the near future as well to help support networkable servers that are compatible to the supported browsers (currently Chrome and Firefox).

V8.Net (v8dotnet) -- Mono runtime 3.10.0

##Build Status

Linux Mac OS X Working

#Compilation and Installation The Repository contains the following branches:

##Project structure

##Use V8.Net from Binaries
Download the Binaries here:
Run the V8.Net Console with following command:
mono V8.Net-Console.exe
or
LD_LIBRARY_PATH="pwd" MONO_LOG_LEVEL=debug MONO_LOG_MASK=all mono V8.Net-Console.exe

##Build Dependencies Ubuntu 14.04.01

sudo aptitude install build-essential subversion git git-svn
sudo apt-get install g++-multilib

OpenSuse

sudo zypper install --type pattern devel_basis
sudo zypper in gcc48-32bit libstdc++48-devel-32bit  compat-32bit

Mac OSX 10.10

brew install gcc49
xcode-select --install
Install Xcode IDE 6.x

V8dotnet is based on the Mono Runtime <= 3.10.0. To install the Runtime 3.10.0 together with Monodevelop on Ubuntu

##Building with the V8.Net build script .

To build on OSX you need to export:

export CXX=/usr/local/bin/g++-4.9 
export LINK=/usr/local/bin/g++-4.9 

The build script defines a number of targets for each target architecture (ia32, x64, ) and mode (debug, release). The basic commands for building are:
cd v8dotnet

./build_V8_Net.sh --default x64.release 2 (where 2 stands for the available core to build V8 )
or
./build_V8_Net.sh --default ia32.debug 4
Note: The mono runtime on OSX is only available with the x86 architecture to not run into the error (An attempt was made to load a program with an incorrect format) compile ia32 for osx.
Also only build v8dotnet with stdlibc++ because libc++ is incompatible to mono when it comes to handling p/invoke calls; ./build_V8_Net.sh --default ia32.release 2
Start the V8 Console app with:
cd BuildResutl/Release
and
LD_LIBRARY_PATH="pwd" MONO_LOG_LEVEL=debug MONO_LOG_MASK=all mono V8.Net-Console.exe
Form more build option use: ./build_V8_Net.sh --help

#Using V8.Net with Mono ###Loading the libV8_Net_Proxy.so library There are three possibilities to load the library

License Clarification

The license is LGPL. In a nutshell, this means that you can link to the libraries from your own proprietary code, but if you modify the source files for anything in this project, the modified source and executables from it must also be made freely available as well (and you must clearly state you modified the code).


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4