2012-07-17 10:18:27 +02:00
|
|
|
Add the compilation of a shared library.
|
|
|
|
Compile the lua binary with the shared library.
|
2014-02-26 11:03:15 +01:00
|
|
|
And install the shared library.
|
2014-02-26 11:03:16 +01:00
|
|
|
The variable BUILDMODE allows to switch between static and dynamic mode.
|
2012-07-17 10:18:27 +02:00
|
|
|
|
|
|
|
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
|
|
|
|
2014-02-26 11:03:15 +01:00
|
|
|
Index: b/Makefile
|
|
|
|
===================================================================
|
|
|
|
--- a/Makefile
|
|
|
|
+++ b/Makefile
|
|
|
|
@@ -44,6 +44,7 @@
|
|
|
|
TO_BIN= lua luac
|
|
|
|
TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
|
|
|
|
TO_LIB= liblua.a
|
|
|
|
+TO_SOLIB = liblua.so.$(R)
|
|
|
|
TO_MAN= lua.1 luac.1
|
|
|
|
|
|
|
|
# Lua version and release.
|
|
|
|
@@ -61,6 +62,8 @@
|
|
|
|
install: dummy
|
|
|
|
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
|
|
|
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
2014-02-26 11:03:16 +01:00
|
|
|
+ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
|
|
|
|
+ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || :
|
2014-02-26 11:03:15 +01:00
|
|
|
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
|
|
|
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
|
|
|
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
2012-07-17 10:18:27 +02:00
|
|
|
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
|
2014-02-26 11:03:16 +01:00
|
|
|
@@ -36,8 +37,13 @@
|
2012-07-17 10:18:27 +02:00
|
|
|
LUAC_O= luac.o print.o
|
|
|
|
|
|
|
|
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
|
2014-02-26 11:03:16 +01:00
|
|
|
+ifneq (dynamic,$(BUILDMODE))
|
|
|
|
ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
|
|
|
+else
|
2012-07-17 10:18:27 +02:00
|
|
|
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
2014-02-26 11:03:16 +01:00
|
|
|
+endif
|
2012-07-17 10:18:27 +02:00
|
|
|
ALL_A= $(LUA_A)
|
|
|
|
+ALL_SO= $(LUA_SO)
|
|
|
|
|
|
|
|
default: $(PLAT)
|
|
|
|
|
2014-02-26 11:03:16 +01:00
|
|
|
@@ -47,12 +53,23 @@
|
2012-07-17 10:18:27 +02:00
|
|
|
|
|
|
|
a: $(ALL_A)
|
|
|
|
|
|
|
|
+so: $(ALL_SO)
|
|
|
|
+
|
|
|
|
$(LUA_A): $(CORE_O) $(LIB_O)
|
|
|
|
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
|
|
|
$(RANLIB) $@
|
|
|
|
|
|
|
|
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
2012-11-17 22:19:26 +01:00
|
|
|
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
2012-07-17 10:18:27 +02:00
|
|
|
+ ln -fs $@.$(PKG_VERSION) $@
|
|
|
|
+
|
2014-02-26 11:03:16 +01:00
|
|
|
+ifneq (dynamic,$(BUILDMODE))
|
|
|
|
$(LUA_T): $(LUA_O) $(LUA_A)
|
|
|
|
$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
|
|
|
+else
|
2012-07-17 10:18:27 +02:00
|
|
|
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
2012-07-20 18:55:23 +02:00
|
|
|
+ $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
|
2014-02-26 11:03:16 +01:00
|
|
|
+endif
|
2012-07-17 10:18:27 +02:00
|
|
|
|
|
|
|
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
|
|
|
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|