nasm.py (733B)
1 #!/usr/bin/env python 2 # encoding: utf-8 3 # Thomas Nagy, 2008-2018 (ita) 4 5 """ 6 Nasm tool (asm processing) 7 """ 8 9 import os 10 import waflib.Tools.asm # leave this 11 from waflib.TaskGen import feature 12 13 @feature('asm') 14 def apply_nasm_vars(self): 15 """provided for compatibility""" 16 self.env.append_value('ASFLAGS', self.to_list(getattr(self, 'nasm_flags', []))) 17 18 def configure(conf): 19 """ 20 Detect nasm/yasm and set the variable *AS* 21 """ 22 conf.find_program(['nasm', 'yasm'], var='AS') 23 conf.env.AS_TGT_F = ['-o'] 24 conf.env.ASLNK_TGT_F = ['-o'] 25 conf.load('asm') 26 conf.env.ASMPATH_ST = '-I%s' + os.sep 27 txt = conf.cmd_and_log(conf.env.AS + ['--version']) 28 if 'yasm' in txt.lower(): 29 conf.env.ASM_NAME = 'yasm' 30 else: 31 conf.env.ASM_NAME = 'nasm'