diff --git a/recipes-gamelib/tolua/tolua/AllLuaPath.patch b/recipes-gamelib/tolua/tolua/AllLuaPath.patch new file mode 100644 index 0000000..19d178a --- /dev/null +++ b/recipes-gamelib/tolua/tolua/AllLuaPath.patch @@ -0,0 +1,16 @@ +Look for lua files from under share + +Signed-off-by: Marko Lindqvist + +diff -Nurd tolua-5.2.4/src/bin/tolua.c tolua-5.2.4/src/bin/tolua.c +--- tolua-5.2.4/src/bin/tolua.c 2015-11-03 00:54:03.000000000 +0200 ++++ tolua-5.2.4/src/bin/tolua.c 2018-04-02 10:30:44.572922804 +0300 +@@ -117,7 +117,7 @@ + p = strrchr(path,'/'); + if (p==NULL) p = strrchr(path,'\\'); + p = (p==NULL) ? path : p+1; +- sprintf(p,"%s","../src/bin/lua/"); ++ sprintf(p,"%s","../share/tolua/lua/"); + lua_pushstring(L,path); lua_setglobal(L,"path"); + strcat(path,"all.lua"); + if (luaL_dofile(L,path)) { diff --git a/recipes-gamelib/tolua/tolua/MakefileFix.patch b/recipes-gamelib/tolua/tolua/MakefileFix.patch new file mode 100644 index 0000000..db8a88b --- /dev/null +++ b/recipes-gamelib/tolua/tolua/MakefileFix.patch @@ -0,0 +1,105 @@ +Make tolua to compile on OpenEmbedded + +Signed-off-by: Marko Lindqvist + +diff -Nurd tolua-5.2.4/config tolua-5.2.4/config +--- tolua-5.2.4/config 2015-11-03 00:54:03.000000000 +0200 ++++ tolua-5.2.4/config 2018-04-02 10:31:14.296753597 +0300 +@@ -21,7 +21,7 @@ + AR= ar rcu + + # set lua path +-LUA=/usr/local ++LUA=$(STAGING_DIR_NATIVE)/usr + LUAINC=$(LUA)/include + LUALIB=$(LUA)/lib + +diff -Nurd tolua-5.2.4/src/bin/Makefile tolua-5.2.4/src/bin/Makefile +--- tolua-5.2.4/src/bin/Makefile 2015-11-03 00:54:03.000000000 +0200 ++++ tolua-5.2.4/src/bin/Makefile 2018-04-02 10:33:39.063762447 +0300 +@@ -17,20 +17,23 @@ + all: $(T) + + $(T): $(OBJS) +- $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua -lm ++ $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua -lm -ldl + +-toluabind.c: $(T_D) +- $(T_D) -o toluabind.c tolua.pkg ++#toluabind.c: $(T_D) ++# $(T_D) -o toluabind.c tolua.pkg + + $(T_D): $(OBJS_D) +- $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua -lm ++ $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua -lm -ldl + + tolua_lua.o: tolua.c + $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< + ++%.o: %.c ++ $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< ++ + clean: +- rm -f tolua_lua.o $(OBJS) -$(OBJS_D) $(T) $(T_D) ++ rm -f tolua_lua.o $(OBJS) $(OBJS_D) $(T) $(T_D) + + klean: +- rm -f tolua_lua.o $(OBJS) -$(OBJS_D) $(T_D) ++ rm -f tolua_lua.o $(OBJS) $(OBJS_D) $(T_D) + +diff -Nurd tolua-5.2.4/src/bin/Makefile~ tolua-5.2.4/src/bin/Makefile~ +--- tolua-5.2.4/src/bin/Makefile~ 1970-01-01 02:00:00.000000000 +0200 ++++ tolua-5.2.4/src/bin/Makefile~ 2018-04-02 10:31:14.296753597 +0300 +@@ -0,0 +1,39 @@ ++# makefile for tolua executable ++ ++TOLUA=../.. ++ ++include $(TOLUA)/config ++ ++OBJS= \ ++ tolua.o \ ++ toluabind.o ++ ++OBJS_D= \ ++ tolua_lua.o ++ ++T= $(TOLUA)/bin/tolua ++T_D = $(TOLUA)/bin/tolua_lua ++ ++all: $(T) ++ ++$(T): $(OBJS) ++ $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua -lm -ldl ++ ++toluabind.c: $(T_D) ++ $(T_D) -o toluabind.c tolua.pkg ++ ++$(T_D): $(OBJS_D) ++ $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua -lm -ldl ++ ++tolua_lua.o: tolua.c ++ $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< ++ ++%.o: %.c ++ $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< ++ ++clean: ++ rm -f tolua_lua.o $(OBJS) $(OBJS_D) $(T) $(T_D) ++ ++klean: ++ rm -f tolua_lua.o $(OBJS) $(OBJS_D) $(T_D) ++ +diff -Nurd tolua-5.2.4/src/lib/Makefile tolua-5.2.4/src/lib/Makefile +--- tolua-5.2.4/src/lib/Makefile 2015-11-03 00:54:03.000000000 +0200 ++++ tolua-5.2.4/src/lib/Makefile 2018-04-02 10:31:14.296753597 +0300 +@@ -19,6 +19,9 @@ + $(AR) $@ $(OBJS) + $(RANLIB) $@ + ++%.o: %.c ++ $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< ++ + clean: + rm -f $(OBJS) + diff --git a/recipes-gamelib/tolua/tolua_5.2.4.bb b/recipes-gamelib/tolua/tolua_5.2.4.bb new file mode 100644 index 0000000..be17094 --- /dev/null +++ b/recipes-gamelib/tolua/tolua_5.2.4.bb @@ -0,0 +1,54 @@ +SUMMARY = "Lua binding generator for C/C++" +DESCRIPTION = " tolua is a tool that greatly simplifies the integration of \ +C/C++ code with Lua. Based on a cleaned header file, tolua automatically \ +generates the binding code to access C/C++ features from Lua. Using Lua API \ +and tag method facilities, tolua maps C/C++ constants, external variables, \ +functions, classes, and methods to Lua." +HOMEPAGE = "http://webserver2.tecgraf.puc-rio.br/~celes/tolua/" +SECTION = "console/utils" + +DEPENDS= "lua-native" +BBCLASSEXTEND = "native" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://include/tolua.h;beginline=9;endline=12;md5=4a3fbc0759a4b8318d99f3d71a773105" + +SRC_URI = "\ + http://webserver2.tecgraf.puc-rio.br/~celes/tolua/tolua-${PV}.tar.gz \ + file://MakefileFix.patch \ + file://AllLuaPath.patch \ +" + +B = "${S}" + +SRC_URI[md5sum] = "c8dcf13555df45bdcd792981d7356997" +SRC_URI[sha256sum] = "c5a6b701b3ced9a66e7a9881c9d94430f8612040827650abe1aa3c5c3fc95bf2" + +EXTRA_OEMAKE = "STAGING_DIR_NATIVE=${STAGING_DIR_NATIVE}" + +do_install () { + mkdir -p ${D}${bindir} + mkdir -p ${D}${datadir}/tolua/lua + install -m 0755 ${B}/bin/tolua ${D}${bindir} + install -m 0644 ${B}/src/bin/lua/all.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/compat.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/basic.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/feature.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/verbatim.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/code.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/typedef.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/container.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/package.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/module.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/namespace.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/define.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/enumerate.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/declaration.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/variable.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/array.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/function.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/operator.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/class.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/clean.lua ${D}${datadir}/tolua/lua + install -m 0644 ${B}/src/bin/lua/doit.lua ${D}${datadir}/tolua/lua +}