初始化提交
This commit is contained in:
38
arduino-cli/libraries/RF24/pyRF24/crossunixccompiler.py
Normal file
38
arduino-cli/libraries/RF24/pyRF24/crossunixccompiler.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import sys
|
||||
from distutils import unixccompiler
|
||||
from distutils import ccompiler
|
||||
|
||||
|
||||
def register():
|
||||
sys.modules['distutils.crossunixccompiler'] = sys.modules[__name__]
|
||||
ccompiler.compiler_class['crossunix'] = (__name__,
|
||||
'CrossUnixCCompiler',
|
||||
'UNIX-style compiler for cross compilation')
|
||||
|
||||
|
||||
def try_remove_all(lst, starts):
|
||||
lst[:] = [x for x in lst if not x.startswith(starts)]
|
||||
|
||||
|
||||
class CrossUnixCCompiler(unixccompiler.UnixCCompiler):
|
||||
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
|
||||
try_remove_all(self.compiler_so, ('-m64', '-fstack-protector-strong', '-mtune=generic'))
|
||||
try_remove_all(cc_args, '-I/usr')
|
||||
try_remove_all(pp_opts, '-I/usr')
|
||||
return unixccompiler.UnixCCompiler._compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts)
|
||||
|
||||
def link(self, target_desc, objects,
|
||||
output_filename, output_dir=None, libraries=None,
|
||||
library_dirs=None, runtime_library_dirs=None,
|
||||
export_symbols=None, debug=0, extra_preargs=None,
|
||||
extra_postargs=None, build_temp=None, target_lang=None):
|
||||
try_remove_all(self.library_dirs, ('/usr'))
|
||||
return unixccompiler.UnixCCompiler.link(self, target_desc, objects, output_filename, output_dir, libraries,
|
||||
library_dirs, runtime_library_dirs, export_symbols, debug,
|
||||
extra_preargs, extra_postargs, build_temp, target_lang)
|
||||
|
||||
def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
|
||||
self.__class__ = unixccompiler.UnixCCompiler
|
||||
ret = unixccompiler.UnixCCompiler._fix_lib_args(self, libraries, library_dirs, runtime_library_dirs)
|
||||
self.__class__ = CrossUnixCCompiler
|
||||
return ret
|
||||
Reference in New Issue
Block a user