From 9a8398e7a6063d3bf94e11b7cd80458cb8004ab2 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 14 Feb 2005 21:54:08 +0000 Subject: [PATCH] For PR496: When llvm-gcc is not available, bypass rules for Modules and Bytecode Libraries that require llvm-gcc and emit instead a warning that llvm-gcc is not available. This permits "make LLVMGCC=" to build LLVM completely without error and provides warnings about the modules and bc libs that could not be constructed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20185 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile.rules | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Makefile.rules b/Makefile.rules index 724554272a9..f0e76218bb3 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -339,7 +339,7 @@ endif CompileCommonOpts := -Wall -W -Wwrite-strings -Wno-unused -LD.Flags += -L$(LibDir) -L$(LLVMLibDir) $(LIBS) +LD.Flags += -L$(LibDir) -L$(LLVMLibDir) CPP.Flags += -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \ -I$(PROJ_OBJ_ROOT)/include \ -I$(PROJ_SRC_ROOT)/include \ @@ -555,6 +555,9 @@ endif #--------------------------------------------------------- ifdef MODULE_NAME +ifeq ($(strip $(LLVMGCC)),) +$(warning Modules require llvm-gcc but no llvm-gcc is available) +else Module := $(LibDir)/$(MODULE_NAME).bc LinkModule := $(LLVMGCCWITHPATH) -shared -nostdlib @@ -594,6 +597,7 @@ uninstall-local:: -$(Verb) $(RM) -f $(DestModule) endif +endif # if we're building a library ... ifdef LIBRARYNAME @@ -651,6 +655,9 @@ endif # targets for building them. #--------------------------------------------------------- ifdef BYTECODE_LIBRARY +ifeq ($(strip $(LLVMGCC)),) +$(warning Bytecode libraries require llvm-gcc which could not be found) +else # make the C and C++ compilers strip debug info out of bytecode libraries. BCCompile.C += -Wa,-strip-debug @@ -704,6 +711,7 @@ uninstall-local:: -$(Verb) $(RM) -f $(DestBytecodeLib) endif +endif #--------------------------------------------------------- # ReLinked Library Targets: @@ -881,7 +889,7 @@ endif $(ToolBuildPath): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) $(Echo) Linking $(BuildMode) executable $(TOOLNAME) $(StripWarnMsg) $(Verb) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(ProjLibsOptions) \ - $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB) + $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB) $(LIBS) $(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) $(StripWarnMsg) DestTool = $(PROJ_bindir)/$(TOOLNAME)