[vlc-devel] [PATCH 1/3] contribs: lua: Use an import library when linking, fix building with lld

Martin Storsjö martin at martin.st
Thu Dec 21 22:57:42 CET 2017


lld doesn't support providing the DLL instead of an import library
when linking.
---
 contrib/src/lua/implib.patch | 35 +++++++++++++++++++++++++++++++++++
 contrib/src/lua/rules.mak    |  1 +
 2 files changed, 36 insertions(+)
 create mode 100644 contrib/src/lua/implib.patch

diff --git a/contrib/src/lua/implib.patch b/contrib/src/lua/implib.patch
new file mode 100644
index 0000000..db37ffe
--- /dev/null
+++ b/contrib/src/lua/implib.patch
@@ -0,0 +1,35 @@
+diff -urN lua-5.1.4-orig/src/Makefile lua-5.1.4/src/Makefile
+--- lua-5.1.4-orig/src/Makefile	2017-12-14 07:30:51.879954115 +0000
++++ lua-5.1.4/src/Makefile	2017-12-14 08:00:29.765126324 +0000
+@@ -23,6 +23,7 @@
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+ 
+ LUA_A=	liblua.a
++LUA_A_LINK= $(LUA_A)
+ 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
+@@ -52,10 +53,10 @@
+ 	$(RANLIB) $@
+ 
+ $(LUA_T): $(LUA_O) $(LUA_A)
+-	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A_LINK) $(LIBS)
+ 
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+-	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
++	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A_LINK) $(LIBS)
+ 
+ clean:
+ 	$(RM) $(ALL_T) $(ALL_O)
+@@ -107,8 +108,8 @@
+ #	$(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX
+ 
+ mingw:
+-	$(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \
+-	"AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \
++	$(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" "LUA_A_LINK=lua51.lib" \
++	"AR=$(CC) -shared -Wl,--out-implib,lua51.lib -o" "RANLIB=strip --strip-unneeded" \
+ 	"MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe
+ 	$(MAKE) "LUAC_T=luac.exe" luac.exe
+ 
diff --git a/contrib/src/lua/rules.mak b/contrib/src/lua/rules.mak
index b1a27c4..cdd4ce9 100644
--- a/contrib/src/lua/rules.mak
+++ b/contrib/src/lua/rules.mak
@@ -46,6 +46,7 @@ lua: lua-$(LUA_VERSION).tar.gz .sum-lua
 	$(APPLY) $(SRC)/lua/luac-32bits.patch
 	$(APPLY) $(SRC)/lua/no-localeconv.patch
 	$(APPLY) $(SRC)/lua/lua-ios-support.patch
+	$(APPLY) $(SRC)/lua/implib.patch
 ifdef HAVE_WINSTORE
 	$(APPLY) $(SRC)/lua/lua-winrt.patch
 endif
-- 
2.7.4



More information about the vlc-devel mailing list