X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.rules;h=5556684d5b7e43fa4fc8b5fdc083502c7f275eb1;hb=798261ccf556a246d55bbe3cd7a5c995eb812ab7;hp=c29b5b26fd65d2a62bcd22c535e2cc3cbd346e09;hpb=7a677a3b54991648c54fb4d228afef4119074cad;p=oota-llvm.git diff --git a/Makefile.rules b/Makefile.rules index c29b5b26fd6..5556684d5b7 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -287,7 +287,7 @@ CPP.Defines := # OPTIMIZE_OPTION - The optimization level option we want to build LLVM with # this can be overridden on the make command line. ifndef OPTIMIZE_OPTION - ifneq ($(OS),MingW) + ifneq ($(HOST_OS),MingW) OPTIMIZE_OPTION := -O3 else OPTIMIZE_OPTION := -O2 @@ -297,8 +297,8 @@ endif ifeq ($(ENABLE_OPTIMIZED),1) BuildMode := Release # Don't use -fomit-frame-pointer on Darwin or FreeBSD. - ifneq ($(OS),FreeBSD) - ifneq ($(OS),Darwin) + ifneq ($(HOST_OS),FreeBSD) + ifneq ($(HOST_OS),Darwin) OmitFramePointer := -fomit-frame-pointer endif endif @@ -306,7 +306,7 @@ ifeq ($(ENABLE_OPTIMIZED),1) # Darwin requires -fstrict-aliasing to be explicitly enabled. # Avoid -fstrict-aliasing on Darwin for now, there are unresolved issues # with -fstrict-aliasing and ipa-type-escape radr://6756684 - #ifeq ($(OS),Darwin) + #ifeq ($(HOST_OS),Darwin) # EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing #endif CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) @@ -337,6 +337,12 @@ ifndef REQUIRES_EH CXX.Flags += -fno-exceptions endif +ifdef REQUIRES_FRAME_POINTER + CXX.Flags := $(filter-out -fomit-frame-pointer,$(CXX.Flags)) + C.Flags := $(filter-out -fomit-frame-pointer,$(C.Flags)) + LD.Flags := $(filter-out -fomit-frame-pointer,$(LD.Flags)) +endif + # IF REQUIRES_RTTI=1 is specified then don't disable run-time type id ifndef REQUIRES_RTTI # CXX.Flags += -fno-rtti @@ -379,10 +385,10 @@ ifdef SHARED_LIBRARY endif ifeq ($(ENABLE_PIC),1) - ifeq ($(OS), $(filter $(OS), Cygwin MingW)) + ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) # Nothing. Win32 defaults to PIC and warns when given -fPIC else - ifeq ($(OS),Darwin) + ifeq ($(HOST_OS),Darwin) # Common symbols not allowed in dylib files CXX.Flags += -fno-common C.Flags += -fno-common @@ -393,17 +399,14 @@ ifeq ($(ENABLE_PIC),1) endif endif else - ifeq ($(OS),Darwin) + ifeq ($(HOST_OS),Darwin) CXX.Flags += -mdynamic-no-pic C.Flags += -mdynamic-no-pic endif endif -CXX.Flags += $(CXXFLAGS) -Woverloaded-virtual -C.Flags += $(CFLAGS) -CPP.Defines += $(CPPFLAGS) +CXX.Flags += -Woverloaded-virtual CPP.BaseFlags += $(CPP.Defines) -LD.Flags += $(LDFLAGS) AR.Flags := cru # Make Floating point IEEE compliant on Alpha. @@ -420,7 +423,7 @@ ifeq ($(ARCH),Alpha) LD.Flags += -Wl,--no-relax endif -ifeq ($(OS),MingW) +ifeq ($(HOST_OS),MingW) ifeq ($(LLVM_CROSS_COMPILING),1) # Work around http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=525016 ifdef TOOLNAME @@ -502,7 +505,7 @@ endif # Adjust to user's request #-------------------------------------------------------------------- -ifeq ($(OS),Darwin) +ifeq ($(HOST_OS),Darwin) DARWIN_VERSION := `sw_vers -productVersion` # Strip a number like 10.4.7 to 10.4 DARWIN_VERSION := $(shell echo $(DARWIN_VERSION)| sed -E 's/(10.[0-9]).*/\1/') @@ -511,9 +514,8 @@ ifeq ($(OS),Darwin) SharedLinkOptions=-Wl,-flat_namespace -Wl,-undefined -Wl,suppress \ -dynamiclib -mmacosx-version-min=$(DARWIN_VERSION) - TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION) else - ifeq ($(OS),Cygwin) + ifeq ($(HOST_OS),Cygwin) SharedLinkOptions=-shared -nostdlib -Wl,--export-all-symbols \ -Wl,--enable-auto-import -Wl,--enable-auto-image-base else @@ -521,6 +523,10 @@ else endif endif +ifeq ($(TARGET_OS),Darwin) + TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION) +endif + # Adjust LD.Flags depending on the kind of library that is to be built. Note # that if LOADABLE_MODULE is specified then the resulting shared library can # be opened with dlopen. @@ -558,7 +564,7 @@ ifndef KEEP_SYMBOLS endif # Adjust linker flags for building an executable -ifneq ($(OS),Darwin) +ifneq ($(HOST_OS),Darwin) ifneq ($(DARWIN_MAJVERS),4) ifdef TOOLNAME ifdef EXAMPLE_TOOL @@ -580,7 +586,7 @@ endif CompileCommonOpts += -Wall -W -Wno-unused-parameter -Wwrite-strings \ $(EXTRA_OPTIONS) -ifeq ($(OS),HP-UX) +ifeq ($(HOST_OS),HP-UX) CompileCommonOpts := -D_REENTRANT -D_HPUX_SOURCE endif @@ -608,7 +614,7 @@ ifdef UNIVERSAL # Building universal cannot compute dependencies automatically. DISABLE_AUTO_DEPENDENCIES=1 else - ifeq ($(OS),Darwin) + ifeq ($(TARGET_OS),Darwin) ifeq ($(ARCH),x86_64) TargetCommonOpts = -m64 else @@ -619,7 +625,7 @@ else endif endif -ifeq ($(OS),SunOS) +ifeq ($(HOST_OS),SunOS) CPP.BaseFlags += -include llvm/System/Solaris.h endif @@ -633,31 +639,35 @@ CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \ $(CPP.BaseFlags) ifeq ($(BUILD_COMPONENT), 1) - Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) \ + Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) -c - Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) \ + Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ + $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) -c - Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(TargetCommonOpts) \ + Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(CPPFLAGS) $(TargetCommonOpts) \ $(CompileCommonOpts) $(CXX.Flags) -E - Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) \ + Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ + $(LDFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) $(LD.Flags) $(Strip) else - Compile.C = $(CC) $(CPP.Flags) $(C.Flags) \ + Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) -c - Compile.CXX = $(CXX) $(CPP.Flags) $(CXX.Flags) \ + Compile.CXX = $(CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) -c - Preprocess.CXX= $(CXX) $(CPP.Flags) $(TargetCommonOpts) \ + Preprocess.CXX= $(CXX) $(CPP.Flags) $(TargetCommonOpts) $(CPPFLAGS) \ $(CompileCommonOpts) $(CXX.Flags) -E - Link = $(CXX) $(CPP.Flags) $(CXX.Flags) \ + Link = $(CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) $(LDFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) $(LD.Flags) $(Strip) endif -BCCompile.C = $(LLVMGCCWITHPATH) $(CPP.Flags) $(C.Flags) \ +BCCompile.C = $(LLVMGCCWITHPATH) $(CPP.Flags) $(C.Flags) $(CFLAGS) \ + $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) -Preprocess.C = $(CC) $(CPP.Flags) $(C.Flags) \ +Preprocess.C = $(CC) $(CPP.Flags) $(C.Flags) $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) -E -BCCompile.CXX = $(LLVMGXXWITHPATH) $(CPP.Flags) $(CXX.Flags) \ +BCCompile.CXX = $(LLVMGXXWITHPATH) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ + $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) ProgInstall = $(INSTALL) $(Install.StripFlag) -m 0755 @@ -891,7 +901,7 @@ $(ToolDir)/$(strip $(TOOLNAME))$(EXEEXT): $(LLVM_CONFIG) LLVMLibsOptions += $(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS)) LLVMLibsPaths += $(LLVM_CONFIG) \ - $(shell $(LLVM_CONFIG) --libfiles $(LINK_COMPONENTS)) + $(shell $(LLVM_CONFIG) --libfiles $(LINK_COMPONENTS)) endif endif @@ -963,7 +973,7 @@ endif # if we're building a library ... ifdef LIBRARYNAME -# Make sure there isn't any extranous whitespace on the LIBRARYNAME option +# Make sure there isn't any extraneous whitespace on the LIBRARYNAME option LIBRARYNAME := $(strip $(LIBRARYNAME)) ifdef LOADABLE_MODULE LibName.A := $(LibDir)/$(LIBRARYNAME).a @@ -1172,7 +1182,7 @@ endif # not exporting all of the weak symbols from the binary. This reduces dyld # startup time by 4x on darwin in some cases. ifdef TOOL_NO_EXPORTS -ifeq ($(OS),Darwin) +ifeq ($(HOST_OS),Darwin) # Tiger tools don't support this. ifneq ($(DARWIN_MAJVERS),4) @@ -1180,7 +1190,7 @@ LD.Flags += -Wl,-exported_symbol -Wl,_main endif endif -ifeq ($(OS), $(filter $(OS), Linux NetBSD FreeBSD)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD)) LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map endif endif @@ -1234,7 +1244,7 @@ endif ############################################################################### # FIXME: This should be checking for "if not GCC or ICC", not for "if HP-UX" -ifeq ($(OS),HP-UX) +ifeq ($(HOST_OS),HP-UX) DISABLE_AUTO_DEPENDENCIES=1 endif