OSDN Git Service

For PR496:
authorReid Spencer <rspencer@reidspencer.com>
Mon, 14 Feb 2005 21:54:08 +0000 (21:54 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 14 Feb 2005 21:54:08 +0000 (21:54 +0000)
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

index 7245542..f0e7621 100644 (file)
@@ -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)