diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/Makefile.rules | 57 | 
1 files changed, 57 insertions, 0 deletions
diff --git a/llvm/Makefile.rules b/llvm/Makefile.rules index 97bc38279ec..ec61d13bd9f 100644 --- a/llvm/Makefile.rules +++ b/llvm/Makefile.rules @@ -619,6 +619,63 @@ endif  ifdef TOOLNAME  #--------------------------------------------------------- +# Handle the special "JIT" value for LLVM_LIBS which is a +# shorthand for a bunch of libraries that get the correct +# JIT support for a tool that runs JIT. +#--------------------------------------------------------- +ifeq ($(LLVMLIBS),JIT) + +# Make sure we can get our own symbols in the tool +Link += -dlopen self + +# Generic JIT libraries +JIT_LIBS := LLVMInterpreter LLVMJIT LLVMCodeGen LLVMExecutionEngine + +# You can enable the X86 JIT on a non-X86 host by setting the flag +# ENABLE_X86_JIT on the make command line. If not, it will still be +# enabled automagically on an X86 host. +ifeq ($(ARCH), x86) +  ENABLE_X86_JIT = 1 +endif + +# What the X86 JIT requires +ifdef ENABLE_X86_JIT +  JIT_LIBS  += LLVMX86 LLVMSelectionDAG +endif + +# You can enable the SparcV9 JIT on a non-SparcV9 host by setting the flag +# ENABLE_SPARCV9_JIT on the make command line. If not, it will still be +# enabled automagically on an SparcV9 host. +ifeq ($(ARCH), Sparc) +  ENABLE_SPARCV9_JIT = 1 +endif + +# What the Sparc JIT requires +ifdef ENABLE_SPARCV9_JIT +  JIT_LIBS += LLVMSparcV9 LLVMSparcV9ModuloSched LLVMSparcV9InstrSched \ +              LLVMSparcV9LiveVar LLVMInstrumentation.a LLVMProfilePaths \ +	      LLVMBCWriter LLVMTransforms.a LLVMipo.a LLVMipa.a \ +	      LLVMDataStructure.a LLVMSparcV9RegAlloc +endif + +# You can enable the PowerPC JIT on a non-PowerPC host by setting the flag +# ENABLE_PPC_JIT on the make command line. If not, it will still be +# enabled automagically on an PowerPC host. +ifeq ($(ARCH), PowerPC) +  ENABLE_PPC_JIT = 1 +endif + +# What the PowerPC JIT requires +ifdef ENABLE_PPC_JIT +  JIT_LIBS  += LLVMPowerPC +endif + +LLVMLIBS := $(JIT_LIBS) LLVMScalarOpts LLVMAnalysis.a LLVMTransformUtils.a \ +             LLVMBCReader LLVMCore LLVMSupport.a LLVMTarget.a LLVMbzip2 \ +	     LLVMSystem.a $(PLATFORMLIBDL) +endif + +#---------------------------------------------------------  # Set up variables for building a tool.  #---------------------------------------------------------  ifdef EXAMPLE_TOOL  | 

