waf/waflib/Tools/lua.py

39 lines
851 B
Python
Raw Normal View History

2011-09-10 11:13:51 +02:00
#!/usr/bin/env python
# encoding: utf-8
# Sebastian Schlingmann, 2008
2018-01-01 20:53:49 +01:00
# Thomas Nagy, 2008-2018 (ita)
2011-09-10 11:13:51 +02:00
"""
Lua support.
Compile *.lua* files into *.luac*::
def configure(conf):
conf.load('lua')
conf.env.LUADIR = '/usr/local/share/myapp/scripts/'
def build(bld):
bld(source='foo.lua')
"""
from waflib.TaskGen import extension
from waflib import Task
2011-09-10 11:13:51 +02:00
@extension('.lua')
def add_lua(self, node):
tsk = self.create_task('luac', node, node.change_ext('.luac'))
inst_to = getattr(self, 'install_path', self.env.LUADIR and '${LUADIR}' or None)
if inst_to:
self.add_install_files(install_to=inst_to, install_from=tsk.outputs)
2011-09-10 11:13:51 +02:00
return tsk
class luac(Task.Task):
run_str = '${LUAC} -s -o ${TGT} ${SRC}'
color = 'PINK'
def configure(conf):
"""
Detect the luac compiler and set *conf.env.LUAC*
"""
conf.find_program('luac', var='LUAC')