* If compiling on X86 or Sparc, automagically enable the JIT for that arch
* Setting ENABLE_X86_JIT or ENABLE_SPARC_JIT on the `make' command-line will
force the inclusion of that JIT on a different architecture
* If neither JIT is enabled (e.g., compiling on a different architecture), the
-march option will not be available to LLI.
* As a side effect of the $ARCH variable, the Sparc LLI can now link just a bit
faster by not including the x86 library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7070 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/Makefile b/lib/ExecutionEngine/Makefile
index d74adf9..7e08ca2 100644
--- a/lib/ExecutionEngine/Makefile
+++ b/lib/ExecutionEngine/Makefile
@@ -2,25 +2,41 @@
TOOLNAME = lli
PARALLEL_DIRS = Interpreter JIT
-# Get the config name...
+# Get the $(ARCH) setting
include $(LEVEL)/Makefile.config
# Generic JIT libraries
JITLIBS = lli-jit codegen
ARCHLIBS =
+# 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
-JITLIBS += x86
-# X86 doesn't require any ARCHLIBS
+ifdef ENABLE_X86_JIT
+ CPPFLAGS += -DENABLE_X86_JIT
+ JITLIBS += x86
+ # X86 doesn't require any ARCHLIBS
+endif
-
+# You can enable the Sparc JIT on a non-Sparc host by setting the flag
+# ENABLE_SPARC_JIT on the make command line. If not, it will still be
+# enabled automagically on an Sparc host.
+ifeq ($(ARCH), Sparc)
+ ENABLE_SPARC_JIT = 1
+endif
# What the Sparc JIT requires
-ifeq ($(ARCH),Sparc)
-JITLIBS += sparc
-ARCHLIBS = sched livevar instrument.a profpaths \
- bcwriter transforms.a ipo.a ipa.a datastructure.a regalloc \
- mapping select postopts.a preopts
+ifdef ENABLE_SPARC_JIT
+ CPPFLAGS += -DENABLE_SPARC_JIT
+ JITLIBS += sparc
+ ARCHLIBS += sched livevar instrument.a profpaths \
+ bcwriter transforms.a ipo.a ipa.a datastructure.a regalloc \
+ mapping select postopts.a preopts
endif
USEDLIBS = lli-interpreter $(JITLIBS) $(ARCHLIBS) scalaropts analysis.a \