compilers: Don't pollute c_args with -fPIC on OS X

It's always enabled and the compiler just ignores all PIC-related
arguments. Relatedly, do the same thing for Clang as GCC.
This commit is contained in:
Nirbheek Chauhan 2016-10-07 20:00:29 +05:30
parent ce1393609f
commit 67c9e520de
1 changed files with 9 additions and 4 deletions

View File

@ -1934,8 +1934,8 @@ class GnuCompiler:
return defines[define]
def get_pic_args(self):
if self.gcc_type == GCC_MINGW:
return [] # On Window gcc defaults to fpic being always on.
if self.gcc_type in (GCC_MINGW, GCC_OSX):
return [] # On Window and OS X, pic is always on.
return ['-fPIC']
def get_buildtype_args(self, buildtype):
@ -2059,6 +2059,11 @@ class ClangCompiler():
self.base_options.append('b_lundef')
self.base_options.append('b_asneeded')
def get_pic_args(self):
if self.clang_type in (CLANG_WIN, CLANG_OSX):
return [] # On Window and OS X, pic is always on.
return ['-fPIC']
def get_buildtype_args(self, buildtype):
return gnulike_buildtype_args[buildtype]
@ -2174,8 +2179,8 @@ class FortranCompiler(Compiler):
return ' '.join(self.exelist)
def get_pic_args(self):
if self.gcc_type == GCC_MINGW:
return [] # On Windows gcc defaults to fpic being always on.
if self.gcc_type in (GCC_MINGW, GCC_OSX):
return [] # On Window and OS X, pic is always on.
return ['-fPIC']
def get_std_shared_lib_link_args(self):