v8/tools/visual_studio
sgjesse@chromium.org a470847226 Added better version information
The current version is now held in src/version.cc in a number of defines which needs to be modified when changing version.

The following defines make up the version information:

  MAJOR_VERSION
  MINOR_VERSION
  BUILD_NUMBER
  PATCH_LEVEL
  CANDIDATE_VERSION

The first four are numbers and the fifth is a boolean. Besides these five the define

  SONAME

can be used to set a specific soname when building the a shared library (see below). This will most likely be used on stable branches where binary compatibility is ensured between different versions. This define is a string.

This version information is now read by the SCons build to support setting the soname for a Linux shared library. This requires passing the option soname=on to the SCons build.

When soname=on is specified the soname for the shared library can be set in two different ways. Either it will be the full versioned library name (e.g. libv8-1.2.2.so) or a specific soname defined in src/version.cc. Whenever a shared library is build with an soname the filename of the library will hold the full version name (e.g. libv8-1.2.2.so).

I did not update the xcode project with the new files.

BUG=151
Review URL: http://codereview.chromium.org/100104

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-30 09:29:15 +00:00
..
arm.vsprops Create build structure for X64. 2009-04-29 13:11:48 +00:00
common.vsprops Remove the PCRE_STATIC define. 2009-04-07 16:01:45 +00:00
d8.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00
d8js2c.cmd Added a Visual Studio project for the d8 developer shell. Currently without readline support. 2008-10-27 07:52:59 +00:00
debug.vsprops Improved performance of garbage collection by changing the way we use the marking stack in the event of stack overflow during full garbage collection and by changing the way we mark roots. 2008-08-13 09:32:07 +00:00
ia32.vsprops Fix .gyp file and avoid adding -m32 on 32 bit systems. 2009-04-29 15:20:37 +00:00
js2c.cmd - Extended lazy loading to general objects, not just functions. 2009-04-24 08:13:09 +00:00
README.txt Remove JSCRE 2009-02-25 08:08:01 +00:00
release.vsprops Changed optimization from /Ox to the (more) commonly used /O2 (which includes 2008-10-02 09:41:01 +00:00
v8_arm.sln Add ARM simulator build files. 2008-11-07 17:21:11 +00:00
v8_base_arm.vcproj Added better version information 2009-04-30 09:29:15 +00:00
v8_base.vcproj Added better version information 2009-04-30 09:29:15 +00:00
v8_cctest_arm.vcproj Added better version information 2009-04-30 09:29:15 +00:00
v8_cctest.vcproj Added better version information 2009-04-30 09:29:15 +00:00
v8_mksnapshot.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00
v8_process_sample.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00
v8_shell_sample.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00
v8_snapshot_cc.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00
v8_snapshot.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00
v8.sln Fix snapshot generation on Visual Studio. Compiling source files generated 2009-01-27 16:20:10 +00:00
v8.vcproj Create build structure for X64. 2009-04-29 13:11:48 +00:00

This directory contains Microsoft Visual Studio project files for including v8
in a Visual Studio/Visual C++ Express solution. All these project files have
been created for use with Microsoft Visual Studio 2005. They can however also
be used in both Visual Studio 2008 and Visual C++ 2008 Express Edition. When
using the project files in the 2008 editions minor upgrades to the files will
be performed by Visual Studio.

v8_base.vcproj
--------------
Base V8 library containing all the V8 code but no JavaScript library code. This
includes third party code for string/number convertions (dtoa).

v8.vcproj
---------
V8 library containing all the V8 and JavaScript library code embedded as source
which is compiled as V8 is running.

v8_mksnapshot.vcproj
--------------------
Executable v8_mksnapshot.exe for building a heap snapshot from a running V8.

v8_snapshot_cc.vcproj
---------------------
Uses v8_mksnapshot.exe to generate snapshot.cc, which is used in
v8_snapshot.vcproj.

v8_snapshot.vcproj
------------------
V8 library containing all the V8 and JavaScript library code embedded as a heap
snapshot instead of source to be compiled as V8 is running. Using this library
provides significantly faster startup time than v8.vcproj.

The property sheets common.vsprops, debug.vsprops and release.vsprops contains
most of the configuration options and are inhireted by the project files
described above. The location of the output directory used are defined in
common.vsprops.

With regard to Platform SDK version V8 has no specific requriments and builds
with either what is supplied with Visual Studio 2005 or the latest Platform SDK
from Microsoft.

When adding these projects to a solution the following dependencies needs to be
in place:

  v8.vcproj depends on v8_base.vcproj
  v8_mksnapshot.vcproj depends on v8.vcproj
  v8_snapshot_cc.vcproj depends on v8_mksnapshot.vcproj
  v8_snapshot.vcproj depends on v8_snapshot_cc.vcproj and v8_base.vcproj

A project which uses V8 should then depend on v8_snapshot.vcproj.

If V8 without snapshot if preferred only v8_base.vcproj and v8.vcproj are
required and a project which uses V8 should depend on v8.vcproj.

Two sample project files are available as well. These are v8_shell_sample.vcproj
for building the sample in samples\shell.cc and v8_process_sample.vcproj for
building the sample in samples\process.cc. Add either of these (or both) to a
solution with v8_base, v8, v8_mksnapshot and v8_snapshot set up as described
solution with v8_base, v8, v8_mksnapshot and v8_snapshot set up as described
above and have them depend on v8_snapshot.

Finally a sample Visual Studio solution file for is provided. This solution file
includes the two sample projects together with the V8 projects and with the
dependencies configured as described above.

Python requirements
-------------------
When using the Microsoft Visual Studio project files Python version 2.4 or later
is required. Make sure that python.exe is on the path before running Visual
Studio. The use of Python is in the command script js2c.cmd which is used in the
Custom Build Step for v8natives.js in the v8.vcproj project.