Changes in directory llvm:
Makefile.rules updated: 1.400 -> 1.401 --- Log message: Add a new make option (LINK_COMPONENTS) which tools can use to specify what libraries they need. This uses llvm-config to link the tools. --- Diffs of the changes: (+14 -4) Makefile.rules | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) Index: llvm/Makefile.rules diff -u llvm/Makefile.rules:1.400 llvm/Makefile.rules:1.401 --- llvm/Makefile.rules:1.400 Sun Sep 3 20:02:25 2006 +++ llvm/Makefile.rules Sun Sep 3 23:47:21 2006 @@ -297,6 +297,7 @@ TBLGEN := $(LLVMToolDir)/tblgen$(EXEEXT) endif endif +LLVM_CONFIG := $(LLVMToolDir)/llvm-config ifndef GCCAS GCCAS := $(LLVMToolDir)/gccas$(EXEEXT) endif @@ -629,7 +630,6 @@ # JIT support for a library or a tool that runs JIT. #--------------------------------------------------------- ifeq ($(firstword $(LLVMLIBS)),config) -LLVM_CONFIG := $(LLVM_SRC_ROOT)/utils/llvm-config/llvm-config LLVMLIBS := $(shell $(LLVM_CONFIG) --libnames $(wordlist 2,9999,$(LLVMLIBS))) LLVMLIBS := $(patsubst lib%.a,%.a,$(LLVMLIBS)) LLVMLIBS := $(patsubst %.o,%,$(LLVMLIBS)) @@ -690,17 +690,27 @@ # Define various command line options pertaining to the # libraries needed when linking. There are "Proj" libs # (defined by the user's project) and "LLVM" libs (defined -# by the # LLVM project). +# by the LLVM project). #--------------------------------------------------------- +ifdef USEDLIBS ProjLibsOptions := $(patsubst %.a.o, -l%, $(addsuffix .o, $(USEDLIBS))) ProjLibsOptions := $(patsubst %.o, $(LibDir)/%.o, $(ProjLibsOptions)) +ProjUsedLibs := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(USEDLIBS))) +ProjLibsPaths := $(addprefix $(LibDir)/,$(ProjUsedLibs)) +endif + +ifdef LLVMLIBS LLVMLibsOptions := $(patsubst %.a.o, -l%, $(addsuffix .o, $(LLVMLIBS))) LLVMLibsOptions := $(patsubst %.o, $(LLVMLibDir)/%.o, $(LLVMLibsOptions)) -ProjUsedLibs := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(USEDLIBS))) LLVMUsedLibs := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(LLVMLIBS))) -ProjLibsPaths := $(addprefix $(LibDir)/,$(ProjUsedLibs)) LLVMLibsPaths := $(addprefix $(LLVMLibDir)/,$(LLVMUsedLibs)) +endif + +ifdef LINK_COMPONENTS +ProjLibsOptions := $(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS)) +ProjLibsPaths := $(shell $(LLVM_CONFIG) --libfiles $(LINK_COMPONENTS)) +endif ############################################################################### # Library Build Rules: Four ways to build a library _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits