Reid Spencer | 7315c8d | 2004-11-03 16:14:40 +0000 | [diff] [blame] | 1 | Directory structure |
| 2 | =================== |
| 3 | Although I have made every effort not to use absolute paths, I have only tested building |
| 4 | with my own directory structure and it looks like this: |
| 5 | |
| 6 | c:\project\llvm ; Main project directory |
| 7 | c:\project\llvm\win32 ; win32 project |
| 8 | c:\project\llvm\win32\tools ; flex, bison and sed live here |
| 9 | c:\project\llvm\win32\share ; flex, bison and sed support files |
| 10 | |
| 11 | Requirements |
| 12 | ============ |
| 13 | |
| 14 | You need flex, sed and bison - I'm using the GnuWin32 versions of these tools which can be obtained from |
| 15 | |
| 16 | http://gnuwin32.sourceforge.net/ |
| 17 | |
| 18 | Limitations |
| 19 | ============ |
| 20 | |
| 21 | At the moment only the core LLVM libraries and the tablegen executable are built. If anyone has time to |
| 22 | port the rest of the LLVM tools it would be great... |
| 23 | |
| 24 | Other notes |
| 25 | =========== |
| 26 | |
| 27 | When linking with your own application it is of the utmost importance that you use the same runtime |
| 28 | libraries in compiling LLVM as in your own project. Otherwise you will get a lot of errors. To change this, |
| 29 | just mark all the projects except the Config project (since it doesn't use the C compiler) in the |
| 30 | solution explorer, select properties - then go to the C/C++ options and the Code Generation sub option page. |
| 31 | In the Runtime Library (6th from the top) select the appropriate version. Then change the active |
| 32 | configuration to Release (in the top left corner of the properties window) and select the appropriate |
| 33 | runtime library for the release version. |
| 34 | |
| 35 | When linking with your applications, you need to force a symbol reference to bring in the x86 backend. |
| 36 | Open the properties for your main project and select the Linker options - under the Input options there |
| 37 | is a Force Symbol References field where you need to enter _X86TargetMachineModule. If anyone has a better |
| 38 | suggestion for how to trick the linker into always pulling in these objects, I'd be grateful... |
| 39 | |
| 40 | Contact Information |
| 41 | =================== |
| 42 | |
| 43 | please contact me at this address if you have any questions: |
| 44 | |
| 45 | morten@hue.no |
| 46 | |
| 47 | |
| 48 | -- Morten Ofstad 2.11.2004 |