<s> import sys <EOL> import os <EOL> import copy <EOL> from yaku . context import get_bld , get_cfg <EOL> from yaku . scheduler import run_tasks <EOL> from yaku . task_manager import get_extension_hook , set_file_hook , set_extension_hook , wrap_extension_hook <EOL> def configure ( ctx ) : <EOL> ctx . use_tools ( [ "<STR_LIT>" ] ) <EOL> def custom_c_hooker ( c_hook ) : <EOL> def hook ( ctx , node ) : <EOL> print ( "<STR_LIT>" % ( node . name , "<STR_LIT:U+0020>" . join ( ctx . env [ "<STR_LIT>" ] ) ) ) <EOL> return c_hook ( ctx , node ) <EOL> return hook <EOL> def build ( ctx ) : <EOL> program = ctx . builders [ "<STR_LIT>" ] . program <EOL> c_hook = wrap_extension_hook ( "<STR_LIT>" , custom_c_hooker ) <EOL> try : <EOL> program ( "<STR_LIT>" , sources = [ "<STR_LIT>" ] ) <EOL> finally : <EOL> set_extension_hook ( "<STR_LIT>" , c_hook ) <EOL> program ( "<STR_LIT>" , sources = [ "<STR_LIT>" ] ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> ctx = get_cfg ( ) <EOL> configure ( ctx ) <EOL> ctx . store ( ) <EOL> ctx = get_bld ( ) <EOL> build ( ctx ) <EOL> run_tasks ( ctx ) <EOL> ctx . store ( ) </s>
