From: Antoine Cellerier Date: Sat, 27 Feb 2010 21:34:22 +0000 (+0100) Subject: Provide luac compilation script. See vlc -I lua --lua-intf luac to get usage. X-Git-Tag: 1.1.0-pre1~625 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=1f01a7c64eb1ecd975595736b261fec074fb7116;p=vlc Provide luac compilation script. See vlc -I lua --lua-intf luac to get usage. --- diff --git a/share/Makefile.am b/share/Makefile.am index 8d989d64bb..b89c58c460 100644 --- a/share/Makefile.am +++ b/share/Makefile.am @@ -202,6 +202,7 @@ luac_verbose_0 = @echo " LUAC $@"; if BUILD_LUA nobase_vlclib_DATA = \ + lua/intf/luac.luac \ lua/intf/rc.luac \ lua/intf/hotkeys.luac \ lua/intf/modules/common.luac \ @@ -279,6 +280,7 @@ EXTRA_DIST += \ lua/intf/README.txt \ lua/intf/http.lua \ lua/intf/rc.lua \ + lua/intf/luac.lua \ lua/intf/hotkeys.lua \ lua/intf/modules/common.lua \ lua/intf/modules/host.lua \ diff --git a/share/lua/intf/luac.lua b/share/lua/intf/luac.lua new file mode 100644 index 0000000000..9cb39cad9b --- /dev/null +++ b/share/lua/intf/luac.lua @@ -0,0 +1,48 @@ +--[==========================================================================[ + luac.lua: lua compilation module for VLC (duplicates luac) +--[==========================================================================[ + Copyright (C) 2010 the VideoLAN team + $Id$ + + Authors: Antoine Cellerier + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. +--]==========================================================================] + +usage = +[[ To compile a lua script to luac run: + vlc -I lua --lua-intf --lua-config 'luac={input="file.lua",output="file.luac"}' +]] + +require "string" +require "io" + +vlc.msg.info("About to compile lua file") +vlc.msg.info(" Input is '"..tostring(config.input).."'") +vlc.msg.info(" Output is '"..tostring(config.output).."'") + +if not config.input or not config.output then + vlc.msg.err("Input and output config options must be set") + for line in string.gmatch(usage,"([^\n]+)\n*") do + vlc.msg.err(line) + end +else + local bytecode = loadfile(config.input) + local output = io.open(config.output, "wb") + output:write(string.dump(bytecode)) +end + +vlc.misc.quit() +