aboutsummaryrefslogtreecommitdiff
path: root/package/lua/lua-02-shared-libs-for-lua.patch
diff options
context:
space:
mode:
authorGravatar Francois Perrad <fperrad@gmail.com>2012-07-17 10:18:27 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-07-17 21:19:02 +0200
commit2c7e9c50e9bef1c494ef90411a466ad320846b96 (patch)
tree43d41cd919ea720772ba11c71f4cc23df3a527ee /package/lua/lua-02-shared-libs-for-lua.patch
parente4cbe2c33bd8442c7bd814add1a694e194c4d298 (diff)
downloadbuildroot-2c7e9c50e9bef1c494ef90411a466ad320846b96.tar.gz
buildroot-2c7e9c50e9bef1c494ef90411a466ad320846b96.tar.bz2
lua: split and rename patches
Signed-off-by: Francois Perrad <fperrad@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/lua/lua-02-shared-libs-for-lua.patch')
-rw-r--r--package/lua/lua-02-shared-libs-for-lua.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/package/lua/lua-02-shared-libs-for-lua.patch b/package/lua/lua-02-shared-libs-for-lua.patch
new file mode 100644
index 0000000000..afe2ac8941
--- /dev/null
+++ b/package/lua/lua-02-shared-libs-for-lua.patch
@@ -0,0 +1,49 @@
+Add the compilation of a shared library.
+Compile the lua binary with the shared library.
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -23,6 +23,7 @@
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.so
+ CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
+ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
+ lundump.o lvm.o lzio.o
+@@ -36,8 +37,9 @@
+ LUAC_O= luac.o print.o
+
+ ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
+ ALL_A= $(LUA_A)
++ALL_SO= $(LUA_SO)
+
+ default: $(PLAT)
+
+@@ -47,12 +49,18 @@
+
+ a: $(ALL_A)
+
++so: $(ALL_SO)
++
+ $(LUA_A): $(CORE_O) $(LIB_O)
+ $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
+ $(RANLIB) $@
+
+-$(LUA_T): $(LUA_O) $(LUA_A)
+- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? -nostdlib -lgcc
++ ln -fs $@.$(PKG_VERSION) $@
++
++$(LUA_T): $(LUA_O) $(LUA_SO)
++ $(CC) -o $@ -L. -llua $(MYLDFLAGS) $(LUA_O) $(LIBS)
+
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)