2
1

lua-02-shared-libs-for-lua.patch 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Add the compilation of a shared library.
  2. Compile the lua binary with the shared library.
  3. Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
  4. Index: b/src/Makefile
  5. ===================================================================
  6. --- a/src/Makefile
  7. +++ b/src/Makefile
  8. @@ -23,6 +23,7 @@
  9. PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
  10. LUA_A= liblua.a
  11. +LUA_SO= liblua.so
  12. CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
  13. lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
  14. lundump.o lvm.o lzio.o
  15. @@ -36,8 +37,9 @@
  16. LUAC_O= luac.o print.o
  17. ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
  18. -ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
  19. +ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
  20. ALL_A= $(LUA_A)
  21. +ALL_SO= $(LUA_SO)
  22. default: $(PLAT)
  23. @@ -47,12 +49,18 @@
  24. a: $(ALL_A)
  25. +so: $(ALL_SO)
  26. +
  27. $(LUA_A): $(CORE_O) $(LIB_O)
  28. $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
  29. $(RANLIB) $@
  30. -$(LUA_T): $(LUA_O) $(LUA_A)
  31. - $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
  32. +$(LUA_SO): $(CORE_O) $(LIB_O)
  33. + $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
  34. + ln -fs $@.$(PKG_VERSION) $@
  35. +
  36. +$(LUA_T): $(LUA_O) $(LUA_SO)
  37. + $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
  38. $(LUAC_T): $(LUAC_O) $(LUA_A)
  39. $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)