From 5188877ecc288b14f329495ae015a5b187b317a1 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 4 Sep 2006 06:12:14 +0000 Subject: [PATCH] Update this to reflect llvm-config usage llvm-svn: 30094 --- docs/MakefileGuide.html | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index b1398bb8b17..4ec2f993d1d 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -297,7 +297,7 @@

      LIBRARYNAME := MyMod
      LOADABLE_MODULE := 1
-     USEDLIBS := LLVMSupport.a LLVMSystem.a
+     LINK_COMPONENTS := support system
   

Use of the LOADABLE_MODULE facility implies several things:

    @@ -323,7 +323,7 @@
    
           TOOLNAME = mytool
           USEDLIBS = mylib
    -      LLVMLIBS = LLVMSupport.a LLVMSystem.a
    +      LINK_COMPONENTS = support system
       

    says that we are to build a tool name mytool and that it requires three libraries: mylib, LLVMSupport.a and @@ -352,36 +352,22 @@

    -

    Many tools will want to use the JIT features of LLVM. However, getting the - right set of libraries to link with is tedious, platform specific, and error - prone. Additionally, the JIT has special linker switch options that it needs. - Consequently, to make it easier to build tools that use the JIT, you can - use a special value for the LLVMLIBS variable:

    +

    Many tools will want to use the JIT features of LLVM. To do this, you + simply specify that you want an execution 'engine', and the makefiles will + automatically link in the appropriate JIT for the host or an interpreter + if none is available:

    
           TOOLNAME = my_jit_tool
           USEDLIBS = mylib
    -      LLVMLIBS = JIT
    +      LINK_COMPONENTS = engine
       
    -

    Using a value of JIT for LLVMLIBS tells the makefile - system to construct a special value for LLVMLIBS that gives the program all - the LLVM libraries needed to run the JIT. Any additional libraries needed can - still be specified with USEDLIBS. To get a full understanding of how - this changes the linker command, it is recommended that you:

    +

    Of course, any additional libraries may be listed as other components. To + get a full understanding of how this changes the linker command, it is + recommended that you:

    
           cd examples/Fibonacci
           make VERBOSE=1
       
    -

    By default, using LLVMLIBS=JIT will link in enough to support JIT - code generation for the architecture on which the tool is linked. If you need - additional target architectures linked in, you may specify them on the command - line or in your Makefile. For example:

    -
    
    -      ENABLE_X86_JIT=1
    -      ENABLE_SPARCV9_JIT=1
    -      ENALBE_PPC_JIT=1
    -  
    -

    will cause the tool to be able to generate code for all three platforms. -