0
0
mirror of https://github.com/phpv8/v8js.git synced 2025-03-11 18:58:46 +00:00

Merge pull request #300 from stesie/issue-294

Fix build with GCC 7
This commit is contained in:
Stefan Siegl 2017-03-11 21:06:04 +01:00 committed by GitHub
commit 767118e7d9
2 changed files with 39 additions and 14 deletions

51
Vagrantfile vendored
View File

@ -10,32 +10,55 @@ Vagrant.configure("2") do |config|
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "ubuntu/trusty64"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
config.vm.synced_folder ".", "/data/v8js"
config.vm.provider "lxc" do |lxc, override|
override.vm.box = "fgrehm/trusty64-lxc"
end
config.vm.provision "shell", inline: <<-SHELL
gpg --keyserver keys.gnupg.net --recv 7F438280EF8D349F
gpg --armor --export 7F438280EF8D349F | apt-key add -
apt-get update
apt-get install -y software-properties-common gdb tmux git tig curl apache2-utils
add-apt-repository ppa:ondrej/php
SHELL
#
# mass-define "generic" Ubuntu boxes
#
%w{5.1 5.2 5.4 5.7 5.8 5.9}.each { |version|
config.vm.define "v8-#{version}" do |i|
i.vm.synced_folder ".", "/data/v8js"
i.vm.provision "shell", inline: <<-SHELL
gpg --keyserver keys.gnupg.net --recv 7F438280EF8D349F
gpg --armor --export 7F438280EF8D349F | apt-key add -
apt-get update
apt-get install -y software-properties-common gdb tmux git tig curl apache2-utils
add-apt-repository ppa:ondrej/php
add-apt-repository ppa:pinepain/libv8-#{version}
apt-get update
apt-get install -y php7.1-dev libv8-#{version}-dbg libv8-#{version}-dev
SHELL
end
}
#
# Fedora-based box with GCC7, V8 5.2 + PHP 7.1 installed
# (primarily to reproduce #294)
#
config.vm.define "fedora-26-gcc7" do |i|
i.vm.box = "vbenes/fedora-rawhide-server"
i.ssh.insert_key = false
# unfortunately vboxsf isn't currently available (due to an issue with the base image)
# therefore fall back to nfs
i.vm.synced_folder ".", "/data/v8js", type: "nfs"
i.vm.network "private_network", ip: "192.168.50.2"
i.vm.provision "shell", inline: <<-SHELL
dnf -y update
dnf -y install gcc-c++ gdb tmux git tig curl vim
dnf -y install v8-devel php-devel
SHELL
end
config.vm.provision "shell", inline: <<-SHELL
mkdir -p /data/build && chown vagrant. /data/build
SHELL
end

View File

@ -14,6 +14,8 @@
#ifndef V8JS_V8_H
#define V8JS_V8_H
#include <functional>
/* Helper macros */
#define V8JS_SYM(v) v8::String::NewFromUtf8(isolate, v, v8::String::kInternalizedString, sizeof(v) - 1)
#define V8JS_SYML(v, l) v8::String::NewFromUtf8(isolate, v, v8::String::kInternalizedString, l)