
Building YASM with Microsoft Visual Studio 2008 (C/C++ v9)
----------------------------------------------------------

This note describes how to build YASM using Microsoft Visual 
Studio 2008 (C/C++ v9).  It also provides a way of using 
these files to build YASM with Visual Studio 2005 (C/C++ v8).

1. The Compiler
---------------

If you want to build the 64-bit version of YASM you will need 
to install the Visual Studio 2008 64-bit tools, which may not 
be installed by default.

2. YASM Download
----------------

First YASM needs to be downloaded and the files placed within 
a suitable directory, which will be called <yasm> here but can 
be named and located as you wish.

3. Building YASM with Microsoft VC9
-----------------------------------

Now locate and double click on the yasm.sln solution file in 
the 'Mkfiles/vc9' subdirectory to open the build project in 
the Visual Studio 2008 IDE and then select:

    win32 or x64 build
    release or debug build

as appropriate to build the YASM binaries that you need.

4. Using YASM with Visual Sudio 2008 and VC++ version 9
-------------------------------------------------------

1. Firstly you need to locate the directory (or directories) 
where the VC++ compiler binaries are located and put copies 
of the appropriate yasm.exe binary in these directories. A
typical location is:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin

Depending on your system you can use either the win32 or the
x64 version of YASM.

2. To use the new custom tools facility in Visual Studio 2008,
you need to place a copy of the yasm.rules file in the Visual 
Studio 2008 VC project defaults directory, which is typically 
located at:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
  \VCProjectDefaults

This allows you to configure YASM as an assembler within the VC++
IDE. To use YASM in a project, right click on the project in the
Solution Explorer and select 'Custom Build Rules..'. This will 
give you a dialog box that allows you to select YASM as an 
assembler (note that your assembler files need to have the 
extension '.asm').

To assemble a file with YASM, select the Property Page for the 
file and the select 'Yasm Assembler' in the Tool dialog entry. 
Then click 'Apply' and an additional property page entry will 
appear and enable YASM settings to be established.

As alternative to placing the yasm.rules files as described 
above is to set the rules file path in the Visual Studio 2008
settings dialogue.

5. A Linker Issue
-----------------

There appears to be a linker bug in the VC++ v9 linker that 
prevents symbols with absolute addresses being linked in DLL 
builds.  This means, for example, that LEA instructions of 
the general form:

   lea, rax,[rax+symbol]

cannot be used for DLL builds.  The following general form 
has to be used instead:

   lea rcx,[symbol wrt rip]
   lea rax,[rax+rcx]

This limitation may also cause problems with other instruction 
that use absolute addresses.

6. Building with Visual Studio 2005
-----------------------------------

The program vc928.c will convert VC9 build projects into those 
needed for Visual Studio 2005 (VC8).  It will also convert files 
that have been converted in this way back into their original 
form.  It does this conversion by looking for *.vcproj files 
in the current working directory and its sub-directories and 
changing the following line in each of them:

    Version="9.00"

to:

    Version="8.00"

or vice versa.
 
It is used by compiling it, placing it in a root build directory 
and running it from there.  

Because it acts recursively on all sub-directories of this directory 
it is important not to run it at a directory level in which not all 
projects are to be converted.

7. Acknowledgements
-------------------

I am most grateful for the fantastic support that Peter Johnson,
YASM's creator, has given me in tracking down this issue.

  Brian Gladman, 28th March 2008
