llvm/win32
Jeff Cohen 71a63727d4 Add new file to Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24297 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-11 01:34:02 +00:00
..
Analysis More files deleted. 2005-10-29 16:51:48 +00:00
analyze Update Visual Studio projects to account for recent changes. 2005-10-24 02:57:24 +00:00
AsmParser Fine tune Visual Studio's use of bison/flex. 2005-10-27 01:10:36 +00:00
bugpoint Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
Bytecode Put libraries in a common directory 2005-02-02 06:33:11 +00:00
CBackend Put libraries in a common directory 2005-02-02 06:33:11 +00:00
CodeGen Keep Visual Studio up to date. 2005-10-24 15:21:58 +00:00
Configure Fine tune Visual Studio's use of bison/flex. 2005-10-27 01:10:36 +00:00
ExecutionEngine Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
Fibonacci Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
Linker Remove deleted files from VC++ project. 2005-03-16 05:09:59 +00:00
llc Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
lli Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-ar Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-as Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-bcanalyzer Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-dis Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-ld Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-link Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-nm Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-prof Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
llvm-ranlib Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
opt Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
Support Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
System Win32 support for Mutex class. 2005-07-13 02:15:18 +00:00
TableGen Fine tune Visual Studio's use of bison/flex. 2005-10-27 01:10:36 +00:00
Target Keep Visual Studio happy. 2005-10-28 01:43:09 +00:00
Transforms Add new file to Visual Studio. 2005-11-11 01:34:02 +00:00
VMCore Silence VC++ warnings about using 'this' in base member initializations. 2005-01-30 17:54:12 +00:00
x86 Update Visual Studio projects for removed file. 2005-08-19 13:51:22 +00:00
.cvsignore Add some .cvsignores to the win32 hierarchy to account for generated files 2005-01-16 03:18:23 +00:00
dobison.cmd Fine tune Visual Studio's use of bison/flex. 2005-10-27 01:10:36 +00:00
doflex.cmd Fine tune Visual Studio's use of bison/flex. 2005-10-27 01:10:36 +00:00
llvm.sln Fix miscellaneous Visual Studio build problems. 2005-09-10 02:00:02 +00:00
README.txt Top level files for building natively on win32 2004-11-03 16:14:40 +00:00
unistd.h Top level files for building natively on win32 2004-11-03 16:14:40 +00:00

Directory structure
===================
Although I have made every effort not to use absolute paths, I have only tested building
with my own directory structure and it looks like this:

c:\project\llvm                  ; Main project directory
c:\project\llvm\win32            ; win32 project
c:\project\llvm\win32\tools      ; flex, bison and sed live here
c:\project\llvm\win32\share      ; flex, bison and sed support files

Requirements
============

You need flex, sed and bison - I'm using the GnuWin32 versions of these tools which can be obtained from

http://gnuwin32.sourceforge.net/

Limitations
============

At the moment only the core LLVM libraries and the tablegen executable are built. If anyone has time to
port the rest of the LLVM tools it would be great...

Other notes
===========

When linking with your own application it is of the utmost importance that you use the same runtime
libraries in compiling LLVM as in your own project. Otherwise you will get a lot of errors. To change this,
just mark all the projects except the Config project (since it doesn't use the C compiler) in the
solution explorer, select properties - then go to the C/C++ options and the Code Generation sub option page.
In the Runtime Library (6th from the top) select the appropriate version. Then change the active
configuration to Release (in the top left corner of the properties window) and select the appropriate
runtime library for the release version.

When linking with your applications, you need to force a symbol reference to bring in the x86 backend.
Open the properties for your main project and select the Linker options - under the Input options there
is a Force Symbol References field where you need to enter _X86TargetMachineModule. If anyone has a better
suggestion for how to trick the linker into always pulling in these objects, I'd be grateful...

Contact Information
===================

please contact me at this address if you have any questions:

morten@hue.no


-- Morten Ofstad 2.11.2004