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
diff --git a/Makefile.rules b/Makefile.rules
index af2b459..52a6110 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -278,8 +278,19 @@
 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