File: lua.py

package info (click to toggle)
talloc 2.4.0-f2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,500 kB
  • sloc: python: 35,311; ansic: 12,768; xml: 812; sh: 211; makefile: 157
file content (38 lines) | stat: -rw-r--r-- 851 bytes parent folder | download | duplicates (43)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python
# encoding: utf-8
# Sebastian Schlingmann, 2008
# Thomas Nagy, 2008-2018 (ita)

"""
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

@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)
	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')