phpv8 / v8js

V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
http://pecl.php.net/package/v8js
MIT License
1.83k stars 200 forks source link

Update README file for Windows #272

Closed aprilmintacpineda closed 7 years ago

aprilmintacpineda commented 7 years ago

Please fix these. the links are no longer working.

svn co http://gyp.googlecode.com/svn/trunk build/gyp
svn co https://src.chromium.org/chrome/trunk/deps/third_party/icu46 third_party/icu
svn co http://src.chromium.org/svn/trunk/tools/third_party/python_26@89111 third_party/python_26
svn co http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844 third_party/cygwin
svn co http://googletest.googlecode.com/svn/trunk testing/gtest --revision 643
svn co http://googlemock.googlecode.com/svn/trunk testing/gmock --revision 410

IF NO FIX AVAILABLE

Please suggest another way to be able to install v8JS on my machine. I need to use laravel-react.

stesie commented 7 years ago

@four-eyes-04-04 fair enough, ... are you willing to figure out what's wrong there? /cc @Jan-E have you looked into this already?

I think the approach outlined in the README file for Windows doesn't work anymore after V8 changed from Gyp to GN.

Yet I'm still focused on the GNU/Linux platform and don't even have a Windows box around. So if someone else is willing to help out here, you're more than welcome :)

Jan-E commented 7 years ago

@stesie I compiled V8 master, marked as version 5.6.0.0 in v8-version.h. But php_v8js.dll did not compile. The same happened with V8 branch 5.5-lkgr (5.5.372.19). Compiled version of VP-master is here: https://phpdev.toolsforresearch.com/V8-master-x64.zip

As you can see the lib-names have changed. They now end in .dll.lib. Master creates dll's now for for v8_libbase and v8_libplatform as well. 5.5 was slightly different: only a v8.dll with v8.dll.lib, but the v8_libbase.lib and v8_libplatform.lib were still there. So config.w32 has to be changed somewhat to find the lib's.

Both master and v5.5 had more or less the same errors:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(671): warning C4091: '__forceinline ': ignored on left of 'int' when no variable is declared (compiling source file ext\v8js\v8js_v8.cc)
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(671): error C2143: syntax error: missing ';' before 'namespace' (compiling source file ext\v8js\v8js_v8.cc)
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(672): warning C4091: '__forceinline ': ignored on left of 'int' when no variable is declared (compiling source file ext\v8js\v8js_v8.cc)
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(672): error C2143: syntax error: missing ';' before 'namespace' (compiling source file ext\v8js\v8js_v8.cc)

Something in the macro's must be causing the errors, but I have not enough knowledge of the sources to find out what.

Full logs of compiling php_v8js.dll with V8 master:

    "cl.exe" /I "C:\php-sdk\win64build\include" /DHAVE_V8_H=1 /EHcs /D _ALLOW_KEYWORD_MACROS /D ZEND_WIN32_FORCE_INLINE /D __STDC_LIMIT_MACROS /D COMPILE_DL_V8JS /D V8JS_EXPORTS=1 /nologo /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 /FD /wd4996 /guard:cf /MP /Zi /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /GF /D ZEND_DEBUG=0 /I "C:\php-sdk\win64build\include" /D FD_SETSIZE=256 /FoC:\php-sdk\php70dev\x64\Release\ext\v8js\ /FpC:\php-sdk\php70dev\x64\Release\ext\v8js\ /FRC:\php-sdk\php70dev\x64\Release\ext\v8js\ /FdC:\php-sdk\php70dev\x64\Release\ext\v8js\ /c ext\v8js\v8js.cc ext\v8js\v8js_array_access.cc ext\v8js\v8js_class.cc ext\v8js\v8js_commonjs.cc ext\v8js\v8js_convert.cc ext\v8js\v8js_exceptions.cc ext\v8js\v8js_generator_export.cc ext\v8js\v8js_methods.cc ext\v8js\v8js_object_export.cc ext\v8js\v8js_timer.cc ext\v8js\v8js_v8.cc ext\v8js\v8js_v8object_class.cc ext\v8js\v8js_variables.cc
v8js.cc
v8js_array_access.cc
v8js_class.cc
v8js_commonjs.cc
ext\v8js\v8js.cc(49): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
ext\v8js\v8js.cc(80): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
ext\v8js\v8js_array_access.cc(126): warning C4244: 'initializing': conversion from 'zend_long' to 'int', possible loss of data
ext\v8js\v8js.cc(151): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
ext\v8js\v8js_class.cc(366): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(448): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(457): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(478): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(530): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(580): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(583): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(1038): warning C4244: '=': conversion from 'zend_ulong' to 'ulong', possible loss of data
ext\v8js\v8js_class.cc(1213): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_class.cc(1230): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
v8js_convert.cc
v8js_exceptions.cc
v8js_generator_export.cc
v8js_methods.cc
ext\v8js\v8js_convert.cc(40): warning C4244: '=': conversion from 'zend_ulong' to 'ulong', possible loss of data
ext\v8js\v8js_convert.cc(136): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_convert.cc(140): warning C4244: '=': conversion from 'zend_long' to 'long', possible loss of data
v8js_object_export.cc
v8js_timer.cc
v8js_v8.cc
ext\v8js\v8js_methods.cc(51): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_methods.cc(436): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
v8js_v8object_class.cc
ext\v8js\v8js_object_export.cc(78): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(102): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(343): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(359): warning C4244: '=': conversion from 'zend_ulong' to 'ulong', possible loss of data
ext\v8js\v8js_object_export.cc(371): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(442): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(451): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(464): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(486): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(762): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_object_export.cc(887): warning C4244: '=': conversion from 'zend_ulong' to 'ulong', possible loss of data
ext\v8js\v8js_object_export.cc(902): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(671): warning C4091: '__forceinline ': ignored on left of 'int' when no variable is declared (compiling source file ext\v8js\v8js_v8.cc)
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(671): error C2143: syntax error: missing ';' before 'namespace' (compiling source file ext\v8js\v8js_v8.cc)
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(672): warning C4091: '__forceinline ': ignored on left of 'int' when no variable is declared (compiling source file ext\v8js\v8js_v8.cc)
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string(672): error C2143: syntax error: missing ';' before 'namespace' (compiling source file ext\v8js\v8js_v8.cc)
ext\v8js\v8js_v8.cc(69): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
v8js_variables.cc
ext\v8js\v8js_v8object_class.cc(72): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_v8object_class.cc(131): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_v8object_class.cc(162): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_v8object_class.cc(181): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_v8object_class.cc(245): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_v8object_class.cc(291): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
ext\v8js\v8js_variables.cc(75): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
stesie commented 7 years ago

@Jan-E could you please paste what the lines 671 and 672 of file C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string look like!?

Jan-E commented 7 years ago

671: inline namespace literals { 672: inline namespace string_literals {

inline namespace literals {
inline namespace string_literals {
inline string operator "" s(const char *_Str, size_t _Len)
    {   // construct literal from [_Str, _Str + _Len)
    return (string(_Str, _Len));
    }

inline wstring operator "" s(const wchar_t *_Str, size_t _Len)
    {   // construct literal from [_Str, _Str + _Len)
    return (wstring(_Str, _Len));
    }

inline u16string operator "" s(const char16_t *_Str, size_t _Len)
    {   // construct literal from [_Str, _Str + _Len)
    return (u16string(_Str, _Len));
    }

inline u32string operator "" s(const char32_t *_Str, size_t _Len)
    {   // construct literal from [_Str, _Str + _Len)
    return (u32string(_Str, _Len));
    }
}   // inline namespace string_literals
}   // inline namespace literals
aprilmintacpineda commented 7 years ago

@stesie the error I get when I run the command svn co http://gyp.googlecode.com/svn/trunk build/gyp

svn: E160013: Unable to connect to a repository at URL 'http://gyp.googlecode.com/svn/trunk'
svn: E160013: '/svn/trunk' path not found

when I checked the URL http://gyp.googlecode.com/svn/trunk I got a 404 not found error.

any other way to instal v8js on my machine?

PHP 7.0.9 (cli) (built: Jul 20 2016 11:08:23) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
aprilmintacpineda commented 7 years ago

@stesie sorry for the late reply btw, there are lots of activities going on at school right now.

aprilmintacpineda commented 7 years ago

I actually found a way to install it. I am still not sure if it will work but my phpinfo() is showing a v8js extension now. You can now close this issue if you wish or maybe continue until you fixed the links. Thank you for your responses btw.

Jan-E commented 7 years ago

I actually found a way to install it. I am still not sure if it will work but my phpinfo() is showing a v8js extension now. You can now close this issue if you wish or maybe continue until you fixed the links. Thank you for your responses btw.

How did you install it? And which v8js version is showing up in your phpinfo()?

Jan-E commented 7 years ago

@stesie

could you please paste what the lines 671 and 672 of file C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string look like!?

The errors did not occur in V8 version 5.4. With some adjustments in config.w32 I managed to compile a php_v8js.dll with version 5.4.500.43. To make debugging easier:

https://phpdev.toolsforresearch.com/V8-5.4.500.43.zip https://phpdev.toolsforresearch.com/V8-5.5.372.23.zip

Jan-E commented 7 years ago

BTW: I already uploaded the PHP 7.0.13 and PHP 7.1.0RC6 builds: https://www.apachelounge.com/viewtopic.php?t=6359 https://phpdev.toolsforresearch.com/php-7.0.13-nts-Win32-VC14-x64.htm

https://www.apachelounge.com/viewtopic.php?t=6617 https://phpdev.toolsforresearch.com/php-7.1.0RC6-nts-Win32-VC14-x64.htm

Jan-E commented 7 years ago

Adjustments in config.w32 are substantial: https://github.com/Jan-E/v8js/commit/94519caa659d6e33a951b049a0f3a015bdc69b55

stesie commented 7 years ago

@Jan-E very nice, thank you! Are you going to follow up with a Pull Request?

aprilmintacpineda commented 7 years ago

@Jan-E

How did you install it? And which v8js version is showing up in your phpinfo()?

You can check this image screenshot to see my v8 info generated via phpinfo()

How I installed it

I don't know if the same will work for other O.S.

I think that's it.

I actually had that compiled version downloaded about a last week when I failed to install v8JS by following the instructions because of that particular error. I had a theory that since this is just another extension maybe I can just load it as an extension following the install instructions from php.net if only I can find a compiled version as mentioned in the instructions. Then I found my self confused since the archive file I downloaded contained a lot of files so I looked it up on the net and found this blog post that explains how to properly configure it.

I hope this helps.

Jan-E commented 7 years ago

@Jan-E very nice, thank you! Are you going to follow up with a Pull Request?

https://github.com/phpv8/v8js/pull/273

stesie commented 7 years ago

Thanks @Jan-E for updating the config.w32 file. Since you've also managed to compile V8, would you also like to update the README.Windows.md file to reflect recent changes on how to get V8 itself compiled?

Jan-E commented 7 years ago

Yes, I will. But not instantly. In due time...

stesie commented 7 years ago

@Jan-E never mind, I'm really glad that you're doing this at all :-)

Jan-E commented 7 years ago

Reminder for myself. Take a look at https://groups.google.com/d/msg/v8-users/Y05xPj956Ys/miIvYWyZBgAJ

Jan-E commented 7 years ago

TL;DR: up until 'msbuild all.sln' are the essential steps Do not forget to build v8_libbase.lib & v8_libplatform.lib afterwards cd obj\v8_libplatform && lib /out:v8_libplatform.lib .obj cd ..\..\obj\v8_libbase && lib /out:v8_libbase.lib .obj

My initial setup was a mixture of the Linux & Windows commands at https://www.chromium.org/developers/how-tos/install-depot-tools

D:
cd \
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git chromium
set path=D:\chromium;%path%
set GYP_MSVS_VERSION=2015
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_CHROMIUM_NO_ACTION=0
cd chromium
fetch v8
git stash

Note: do not add the checkout dir to your path permanently if you've already installed git.exe somewhere in your path: the depot tools will create a git.bat in the checkout dir!

Transcript of building V8 v5.4.500.43 in a VS2015 x64 command prompt:

D:\chromium\v8>set path=D:\chromium;%path%

D:\chromium\v8>set GYP_MSVS_VERSION=2015

D:\chromium\v8>set DEPOT_TOOLS_WIN_TOOLCHAIN=0

D:\chromium\v8>set GYP_CHROMIUM_NO_ACTION=0

D:\chromium\v8>git checkout 5.4-lkgr
Checking out files: 100% (1561/1561), done.
Switched to branch '5.4-lkgr'
Your branch is up-to-date with 'origin/5.4-lkgr'.

D:\chromium\v8>gclient sync
Syncing projects:  45% (11/24) v8/third_party/instrumented_libraries

D:\chromium\v8>gclient sync
Syncing projects: 100% (24/24) v8/third_party/icu

v8/tools/mb (ERROR)
----------------------------------------
[0:00:32] Started.
[0:00:37] From https://chromium.googlesource.com/chromium/src/tools/mb
[0:00:37]    dc02dd5..b1e1230  master     -> origin/master
----------------------------------------
Error: 20>
20> ____ v8\tools\mb at 99788b8b516c44d7db25cfb68695bc234fdee5ed
20>     You have unstaged changes.
20>     Please commit, stash, or reset.

D:\chromium\v8>cd tools\mb

D:\chromium\v8\tools\mb>git stash
Saved working directory and index state WIP on (no branch): 99788b8 Fix libfuzzer configura
tions to actually use proprietary codecs.
HEAD is now at 99788b8 Fix libfuzzer configurations to actually use proprietary codecs.

D:\chromium\v8\tools\mb>cd ..\..

D:\chromium\v8>gclient sync
Syncing projects:  37% ( 9/24) v8/test/test262/data

After a lot or messages:

Hook ''D:\chromium\python276_bin\python.exe' v8/gypfiles/gyp_v8' took 11.56 secs

D:\chromium\v8>gn args v5.4/x64.release
Waiting for editor on "D:\chromium\v8\v5.4\x64.release\args.gn"...

In your editor change args.gn to something like

# Build arguments go here. Examples:
is_component_build = true
is_debug = false
# See "gn args <out_dir> --list" for available build arguments.
target_cpu="x64"
v8_target_cpu="x64"

And close your editor

In the VS2015 command prompt:

Generating files...
Done. Made 60 targets from 43 files in 2791ms

D:\chromium\v8>gn gen v5.4/x64.release --ide=vs
Generating Visual Studio projects took 268ms
Done. Made 60 targets from 43 files in 2374ms

D:\chromium\v8>cd v5.4\x64.release

D:\chromium\v8\v5.4\x64.release>msbuild all.sln
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build, please add
the "/m" switch.
Build started 24/11/16 21:40:52.
Project "D:\chromium\v8\v5.4\x64.release\all.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
  Building solution configuration "GN|x64".
Project "D:\chromium\v8\v5.4\x64.release\all.sln" (1) is building "D:\chromium\v8\v5.4\x64
.release\obj\build\config\sanitizers\deps.vcxproj" (2) on node 1 (default targets).
Build:
  call ninja.exe -C ../../../../../../v5.4/x64.release/ obj/build/config/sanitizers/deps.s
  tamp
  ninja: Entering directory `../../../../../../v5.4/x64.release/'
  [1/2] STAMP obj/build/config/sanitizers/deps_no_options.stamp
  [2/2] STAMP obj/build/config/sanitizers/deps.stamp

etc. etc.

  [902/906] CXX obj/v8_external_snapshot/snapshot-external.obj
  [903/906] STAMP obj/v8_external_snapshot.stamp
  [904/906] STAMP obj/v8_maybe_snapshot.stamp
  [905/906] LINK(DLL) v8.dll v8.dll.lib v8.dll.pdb
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chromi
um\v8\v5.4\x64.release\obj\d8.vcxproj]

  [906/906] LINK d8.exe d8.exe.pdb
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chromi
um\v8\v5.4\x64.release\obj\d8.vcxproj]

Done Building Project "D:\chromium\v8\v5.4\x64.release\obj\d8.vcxproj" (default targets).

Project "D:\chromium\v8\v5.4\x64.release\all.sln" (1) is building "D:\chromium\v8\v5.4\x64
.release\obj\fuzzer_support.vcxproj" (7) on node 1 (default targets).
Build:
  call ninja.exe -C ../../../v5.4/x64.release/ obj/fuzzer_support.stamp
  ninja: Entering directory `../../../v5.4/x64.release/'
  [1/3] STAMP obj/fuzzer_support.inputdeps.stamp
  [2/3] CXX obj/fuzzer_support/fuzzer-support.obj
  [3/3] STAMP obj/fuzzer_support.stamp
Done Building Project "D:\chromium\v8\v5.4\x64.release\obj\fuzzer_support.vcxproj" (defaul
t targets).

Project "D:\chromium\v8\v5.4\x64.release\all.sln" (1) is building "D:\chromium\v8\v5.4\x64
.release\obj\gn_all.vcxproj" (8) on node 1 (default targets).
Build:
  call ninja.exe -C ../../../v5.4/x64.release/ obj/gn_all.stamp
  ninja: Entering directory `../../../v5.4/x64.release/'
  [1/333] STAMP obj/v8_hello_world.inputdeps.stamp
  [2/333] STAMP obj/json_fuzzer.inputdeps.stamp
  [3/333] STAMP obj/parser_fuzzer.inputdeps.stamp
  [4/333] STAMP obj/v8_parser_shell.inputdeps.stamp
  [5/333] STAMP obj/regexp_fuzzer.inputdeps.stamp

etc. etc.

Done Building Project "D:\chromium\v8\v5.4\x64.release\all.sln" (default targets).

Build succeeded.

"D:\chromium\v8\v5.4\x64.release\all.sln" (default target) (1) ->
"D:\chromium\v8\v5.4\x64.release\obj\d8.vcxproj" (default target) (6) ->
(Build target) ->
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\d8.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\d8.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\d8.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\d8.vcxproj]

"D:\chromium\v8\v5.4\x64.release\all.sln" (default target) (1) ->
"D:\chromium\v8\v5.4\x64.release\obj\gn_all.vcxproj" (default target) (8) ->
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]
  LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [D:\chro
mium\v8\v5.4\x64.release\obj\gn_all.vcxproj]

    16 Warning(s)
    0 Error(s)

Time Elapsed 00:41:27.06

D:\chromium\v8\v5.4\x64.release>type d:\batch\v8x64.bat
xcopy v8*.lib ..\win64build.vc14\lib\ /y
xcopy v8*.dll ..\win64build.vc14\bin\ /y
xcopy v8*.dll.pdb ..\win64build.vc14\bin\ /y
xcopy icu*.lib ..\win64build.vc14\lib\ /y
xcopy icu*.dll ..\win64build.vc14\bin\ /y
xcopy icu*.dll.pdb ..\win64build.vc14\bin\ /y
cd obj\v8_libplatform
lib /out:..\..\..\win64build.vc14\lib\v8_libplatform.lib *.obj
xcopy ..\v8_libplatform_cc.pdb ..\..\..\win64build.vc14\lib\ /y
cd ..\..\obj\v8_libbase
lib /out:..\..\..\win64build.vc14\lib\v8_libbase.lib *.obj
xcopy ..\v8_libbase_cc.pdb ..\..\..\win64build.vc14\lib\ /y
cd ..\..\
xcopy ..\..\include\*.h ..\win64build.vc14\include\ /s /y

D:\chromium\v8\v5.4\x64.release>d:\batch\v8x64.bat

D:\chromium\v8\v5.4\x64.release>xcopy v8*.lib ..\win64build.vc14\lib\ /y
D:v8.dll.lib
D:v8_parser_shell.lib
D:v8_simple_json_fuzzer.lib
D:v8_simple_parser_fuzzer.lib
D:v8_simple_regexp_fuzzer.lib
D:v8_simple_wasm_asmjs_fuzzer.lib
D:v8_simple_wasm_fuzzer.lib
7 File(s) copied

D:\chromium\v8\v5.4\x64.release>xcopy v8*.dll ..\win64build.vc14\bin\ /y
D:v8.dll
1 File(s) copied

D:\chromium\v8\v5.4\x64.release>xcopy v8*.dll.pdb ..\win64build.vc14\bin\ /y
D:v8.dll.pdb
1 File(s) copied

D:\chromium\v8\v5.4\x64.release>xcopy icu*.lib ..\win64build.vc14\lib\ /y
D:icui18n.dll.lib
D:icuuc.dll.lib
2 File(s) copied

D:\chromium\v8\v5.4\x64.release>xcopy icu*.dll ..\win64build.vc14\bin\ /y
D:icui18n.dll
D:icuuc.dll
2 File(s) copied

D:\chromium\v8\v5.4\x64.release>xcopy icu*.dll.pdb ..\win64build.vc14\bin\ /y
D:icui18n.dll.pdb
D:icuuc.dll.pdb
2 File(s) copied

D:\chromium\v8\v5.4\x64.release>cd obj\v8_libplatform

D:\chromium\v8\v5.4\x64.release\obj\v8_libplatform>lib /out:..\..\..\win64build.vc14\lib\v8
_libplatform.lib *.obj
Microsoft (R) Library Manager Version 14.00.24215.1
Copyright (C) Microsoft Corporation.  All rights reserved.

D:\chromium\v8\v5.4\x64.release\obj\v8_libplatform>xcopy ..\v8_libplatform_cc.pdb ..\..\..\
win64build.vc14\lib\ /y
..\v8_libplatform_cc.pdb
1 File(s) copied

D:\chromium\v8\v5.4\x64.release\obj\v8_libplatform>cd ..\..\obj\v8_libbase

D:\chromium\v8\v5.4\x64.release\obj\v8_libbase>lib /out:..\..\..\win64build.vc14\lib\v8_lib
base.lib *.obj
Microsoft (R) Library Manager Version 14.00.24215.1
Copyright (C) Microsoft Corporation.  All rights reserved.

D:\chromium\v8\v5.4\x64.release\obj\v8_libbase>xcopy ..\v8_libbase_cc.pdb ..\..\..\win64bui
ld.vc14\lib\ /y
..\v8_libbase_cc.pdb
1 File(s) copied

D:\chromium\v8\v5.4\x64.release\obj\v8_libbase>cd ..\..\

D:\chromium\v8\v5.4\x64.release>xcopy ..\..\include\*.h ..\win64build.vc14\include\ /s /y
..\..\include\v8-debug.h
..\..\include\v8-experimental.h
..\..\include\v8-platform.h
..\..\include\v8-profiler.h
..\..\include\v8-testing.h
..\..\include\v8-util.h
..\..\include\v8-version.h
..\..\include\v8.h
..\..\include\v8config.h
..\..\include\libplatform\libplatform.h
..\..\include\libplatform\v8-tracing.h
11 File(s) copied

D:\chromium\v8\v5.4\x64.release>type ..\..\include\v8-version.h
// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef V8_INCLUDE_VERSION_H_  // V8_VERSION_H_ conflicts with src/version.h
#define V8_INCLUDE_VERSION_H_

// These macros define the version number for the current version.
// NOTE these macros are used by some of the tool scripts and the build
// system so their names cannot be changed without changing the scripts.
#define V8_MAJOR_VERSION 5
#define V8_MINOR_VERSION 4
#define V8_BUILD_NUMBER 500
#define V8_PATCH_LEVEL 43

// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define V8_IS_CANDIDATE_VERSION 0

#endif  // V8_INCLUDE_VERSION_H_