aboutsummaryrefslogtreecommitdiff
path: root/examples/hello_lua_mingw_w64
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-10-05 05:02:49 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-06 07:39:33 +0200
commit5250cb90406693163763a214af95f670e0e3a4e0 (patch)
tree7025c762d4f53aebfdc140d615306f558fa9b69a /examples/hello_lua_mingw_w64
parent3059b1cb8d701cf23f3e04a8a8fdcfcaa6a397fb (diff)
Add cross compilation (mingw-w64 x86_64)
Currently only cross compiling from linux64 to win64 works. Need to test cross compilation more, currently the cross compilation uses same profile as GCC, is that correct?
Diffstat (limited to 'examples/hello_lua_mingw_w64')
-rw-r--r--examples/hello_lua_mingw_w64/.gitignore5
-rw-r--r--examples/hello_lua_mingw_w64/README.md1
-rw-r--r--examples/hello_lua_mingw_w64/hello.lua1
-rw-r--r--examples/hello_lua_mingw_w64/project.conf8
-rwxr-xr-xexamples/hello_lua_mingw_w64/run.sh8
-rw-r--r--examples/hello_lua_mingw_w64/src/main.cpp32
6 files changed, 55 insertions, 0 deletions
diff --git a/examples/hello_lua_mingw_w64/.gitignore b/examples/hello_lua_mingw_w64/.gitignore
new file mode 100644
index 0000000..636c6b9
--- /dev/null
+++ b/examples/hello_lua_mingw_w64/.gitignore
@@ -0,0 +1,5 @@
+# Compiled sibs files
+sibs-build/
+compile_commands.json
+tests/sibs-build/
+tests/compile_commands.json
diff --git a/examples/hello_lua_mingw_w64/README.md b/examples/hello_lua_mingw_w64/README.md
new file mode 100644
index 0000000..524476d
--- /dev/null
+++ b/examples/hello_lua_mingw_w64/README.md
@@ -0,0 +1 @@
+This is an example of using system lua5.1 package (pkg-config).
diff --git a/examples/hello_lua_mingw_w64/hello.lua b/examples/hello_lua_mingw_w64/hello.lua
new file mode 100644
index 0000000..4601856
--- /dev/null
+++ b/examples/hello_lua_mingw_w64/hello.lua
@@ -0,0 +1 @@
+print("inside lua!")
diff --git a/examples/hello_lua_mingw_w64/project.conf b/examples/hello_lua_mingw_w64/project.conf
new file mode 100644
index 0000000..b568575
--- /dev/null
+++ b/examples/hello_lua_mingw_w64/project.conf
@@ -0,0 +1,8 @@
+[package]
+name = "hello_lua"
+type = "executable"
+version = "0.1.0"
+platforms = ["any"]
+
+[dependencies]
+lua5.1 = "5.1.5"
diff --git a/examples/hello_lua_mingw_w64/run.sh b/examples/hello_lua_mingw_w64/run.sh
new file mode 100755
index 0000000..0f23a37
--- /dev/null
+++ b/examples/hello_lua_mingw_w64/run.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+set -e
+
+script_path=`readlink -f $0`
+script_dir=`dirname $script_path`
+cd "$script_dir"
+sibs build --platform win64 && ./sibs-build/debug/hello_lua.exe
diff --git a/examples/hello_lua_mingw_w64/src/main.cpp b/examples/hello_lua_mingw_w64/src/main.cpp
new file mode 100644
index 0000000..1486b98
--- /dev/null
+++ b/examples/hello_lua_mingw_w64/src/main.cpp
@@ -0,0 +1,32 @@
+// Example taken from http://lua-users.org/lists/lua-l/2010-06/msg00153.html
+#include <stdio.h>
+extern "C" {
+#include <lua5.1/lua.h>
+#include <lua5.1/lualib.h>
+#include <lua5.1/lauxlib.h>
+}
+int main(int argc, char *argv[]) {
+ // Open lua
+ lua_State *L = lua_open();
+
+ // Load the libraries
+ luaL_openlibs(L);
+
+ // Execution of a lua string
+ luaL_dostring(L, "print \"Yo dude\"");
+
+ // Load a string and then execute it.
+ luaL_loadstring(L, "io.write(\"I'm here too\\n\")");
+ lua_pcall(L, 0, LUA_MULTRET, 0);
+
+ // Load from a file and then execute
+ if (luaL_loadfile(L, "hello.lua") == 0) {
+ // File loaded call it
+ lua_pcall(L, 0, LUA_MULTRET, 0);
+ }
+
+ // Close lua
+ lua_close (L);
+
+ return 0;
+}