]> git.sesse.net Git - vlc/commitdiff
Provide luac compilation script. See vlc -I lua --lua-intf luac to get usage.
authorAntoine Cellerier <dionoea@videolan.org>
Sat, 27 Feb 2010 21:34:22 +0000 (22:34 +0100)
committerAntoine Cellerier <dionoea@videolan.org>
Sat, 27 Feb 2010 21:34:22 +0000 (22:34 +0100)
share/Makefile.am
share/lua/intf/luac.lua [new file with mode: 0644]

index 8d989d64bbb1fc46a2ced95e76a6b0c861f500ca..b89c58c460548e2eecb32f62040cc3b799485317 100644 (file)
@@ -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 (file)
index 0000000..9cb39ca
--- /dev/null
@@ -0,0 +1,48 @@
+--[==========================================================================[
+ luac.lua: lua compilation module for VLC (duplicates luac)
+--[==========================================================================[
+ Copyright (C) 2010 the VideoLAN team
+ $Id$
+
+ Authors: Antoine Cellerier <dionoea at videolan dot org>
+
+ 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()
+