diff --git a/docs/GettingStartedVS.html b/docs/GettingStartedVS.html deleted file mode 100644 index b0ed82409da..00000000000 --- a/docs/GettingStartedVS.html +++ /dev/null @@ -1,368 +0,0 @@ - - -
- -Welcome to LLVM on Windows! This document only covers LLVM on Windows using - Visual Studio, not mingw or cygwin. In order to get started, you first need to - know some basic information.
- -There are many different projects that compose LLVM. The first is the LLVM - suite. This contains all of the tools, libraries, and header files needed to - use LLVM. It contains an assembler, disassembler, - bitcode analyzer and bitcode optimizer. It also contains a test suite that can - be used to test the LLVM tools.
- -Another useful project on Windows is - clang. Clang is a C family - ([Objective]C/C++) compiler. Clang mostly works on Windows, but does not - currently understand all of the Microsoft extensions to C and C++. Because of - this, clang cannot parse the C++ standard library included with Visual Studio, - nor parts of the Windows Platform SDK. However, most standard C programs do - compile. Clang can be used to emit bitcode, directly emit object files or - even linked executables using Visual Studio's link.exe
- -The large LLVM test suite cannot be run on the Visual Studio port at this - time.
- -Most of the tools build and work. bugpoint does build, but does - not work.
- -Additional information about the LLVM directory structure and tool chain - can be found on the main Getting Started - page.
- -Before you begin to use the LLVM system, review the requirements given - below. This may save you some trouble by knowing ahead of time what hardware - and software you will need.
- - -Any system that can adequately run Visual Studio 2008 is fine. The LLVM - source tree and object files, libraries and executables will consume - approximately 3GB.
- -You will need Visual Studio 2008 or higher. Earlier versions of Visual - Studio have bugs, are not completely compatible, or do not support the C++ - standard well enough.
- -You will also need the CMake build - system since it generates the project files you will use to build with.
- -If you would like to run the LLVM tests you will need - Python. Versions 2.4-2.7 are known to - work. You will need "GnuWin32" - tools, too.
- -Do not install the LLVM directory tree into a path containing spaces (e.g. - C:\Documents and Settings\...) as the configure step will fail.
- -Here's the short story for getting up and running quickly with LLVM:
- --% llvm-lit test --
Note that quite a few of these test will fail.
--% llvm-lit test/path/to/test --
First, create a simple C file, name it 'hello.c':
- --#include <stdio.h> -int main() { - printf("hello world\n"); - return 0; -} -
Next, compile the C file into a LLVM bitcode file:
- --% clang -c hello.c -emit-llvm -o hello.bc --
This will create the result file hello.bc which is the LLVM - bitcode that corresponds the the compiled program and the library - facilities that it required. You can execute this file directly using - lli tool, compile it to native assembly with the llc, - optimize or analyze it further with the opt tool, etc.
- -Alternatively you can directly output an executable with clang with: -
- --% clang hello.c -o hello.exe --
The -o hello.exe is required because clang currently outputs - a.out when neither -o nor -c are given.
- -Run the program using the just-in-time compiler:
- --% lli hello.bc --
Use the llvm-dis utility to take a look at the LLVM assembly - code:
- --% llvm-dis < hello.bc | more --
Compile the program to object code using the LLC code generator:
- --% llc -filetype=obj hello.bc --
Link to binary using Microsoft link:
- --% link hello.obj -defaultlib:libcmt --
Execute the native code program:
- --% hello.exe --
If you are having problems building or using LLVM, or if you have any other -general questions about LLVM, please consult the Frequently -Asked Questions page.
- -This document is just an introduction to how to use LLVM to do -some simple things... there are many more interesting and complicated things -that you can do that aren't documented here (but we'll gladly accept a patch -if you want to write something up!). For more information about LLVM, check -out:
- - - -