1#!/usr/bin/env python 2# encoding: utf-8 3# Thomas Nagy, 2008-2018 (ita) 4 5""" 6Nasm tool (asm processing) 7""" 8 9import os 10import waflib.Tools.asm # leave this 11from waflib.TaskGen import feature 12 13@feature('asm') 14def apply_nasm_vars(self): 15 """provided for compatibility""" 16 self.env.append_value('ASFLAGS', self.to_list(getattr(self, 'nasm_flags', []))) 17 18def 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' 32