| ------------------------------------------------------------------------------ |
| MCLinker Project |
| ------------------------------------------------------------------------------ |
| ============ |
| Introduction |
| ============ |
| MCLinker is a linkage editor. |
| |
| ======================== |
| Compilation Instructions |
| ======================== |
| The simplest way to compile this package is: |
| |
| ---------------------- |
| Prepare LLVM and Clang |
| ---------------------- |
| 0.a Download LLVM 3.1@r155090 |
| `svn co -r 155090 http://llvm.org/svn/llvm-project/llvm/trunk llvm-src' |
| |
| 0.b Type `cd llvm-src' to enter the directory containing LLVM source code |
| |
| 0.c Apply patches from MCLinker |
| `patch -p0 < ${MCLinker}/patch/LLVM.patch' |
| |
| 0.d Download Clang @r155088 |
| `cd tools' |
| `svn co -r 155088 http://llvm.org/svn/llvm-project/cfe/trunk clang' |
| |
| 0.e Build and install LLVM |
| `cd ../../' |
| `mkdir llvm-build && cd ./llvm-build' |
| `../llvm/configure --prefix=${LLVM_INSTALL}' |
| `make all install' |
| |
| -------------- |
| Build MCLinker |
| -------------- |
| |
| 1. Type `cd ${MCLinker}' to the directory containing the source code. |
| |
| 2. source ./scripts/envsetup.sh |
| |
| 3. If there are no `configure' shell script in the directory, type |
| `./autogen.sh' to generate `configure' script. |
| |
| 4. Type `./configure` to configure the package for your system. See INSTALL |
| for more details. |
| |
| 5. Type `make` to compile the package |
| |
| 6. Type `make install` to install the package into your system. |
| |
| =================== |
| Directory Structure |
| =================== |
| README - this document |
| Makefile.am - input of automake |
| configure.ac - input of autoconf |
| src/ - source code of verification tool |
| include/ - include file, exported interface |
| lib/ - source code of exported interface |
| debug/ - placeholder of object files which are compiled for debugging |
| optimized/ - placeholder of object files which are compiled for optimization |
| test/ - placeholder of testcases |