684f208ecf
(Possibly) fixes #5354 The lua shared library patch was creating the shared library with -nostdlib -lgcc for some unknown reason, which most likely is the reason for the link issue reported in #5354. Fix it by dropping these arguments, so gcc gets to figure out itself what dependencies are needed. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
50 lines
1.3 KiB
Diff
50 lines
1.3 KiB
Diff
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)" $?
|
|
+ ln -fs $@.$(PKG_VERSION) $@
|
|
+
|
|
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
|
+ $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
|
|
|
|
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
|
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|