aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-02-21 08:41:09 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-02-21 08:41:09 +0000
commit8e87e65d28084a5eb0c163256d8473edc2636c5b (patch)
tree754c6141f631531ef53c102784617592b02baf5a
parentb0ea08066cc901772b48935593cfdb8817235b35 (diff)
Pass different flags on different platforms when building PIC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65229 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--Makefile.rules15
1 files changed, 13 insertions, 2 deletions
diff --git a/Makefile.rules b/Makefile.rules
index af2b459bc0..52a61109d6 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -278,8 +278,19 @@ ifdef ENABLE_EXPENSIVE_CHECKS
endif
ifeq ($(ENABLE_PIC),1)
- CXX.Flags += -fPIC
- C.Flags += -fPIC
+ ifeq ($(LLVM_ON_WIN32),1)
+ # Nothing. Win32 defaults to PIC and warns when given -fPIC
+ else
+ ifeq ($(OS),Darwin)
+ # common is forbidden in dylib files
+ CXX.Flags += -fno-common
+ C.Flags += -fno-common
+ else
+ # Linux and others; pass -fPIC
+ CXX.Flags += -fPIC
+ C.Flags += -fPIC
+ endif
+ endif
endif
CXX.Flags += $(CXXFLAGS) -Woverloaded-virtual