From 2fc51473ef4a9e601f7a9df9f537de2e39f9c2d7 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Mon, 5 Nov 2012 11:07:21 -0800 Subject: shared --- Makefile | 3 ++- etc/lua.pc | 2 +- src/Makefile | 12 +++++++++--- src/luaconf.h | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 6e78f66..bfc5577 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris # What to install. TO_BIN= lua luac TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp -TO_LIB= liblua.a +TO_LIB= liblua.a liblua.so.$(V) TO_MAN= lua.1 luac.1 # Lua version and release. @@ -62,6 +62,7 @@ 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) cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + ln -s liblua.so.$(V) $(INSTALL_LIB)/liblua.so cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) diff --git a/etc/lua.pc b/etc/lua.pc index f52f55b..60f04af 100644 --- a/etc/lua.pc +++ b/etc/lua.pc @@ -8,7 +8,7 @@ V= 5.1 R= 5.1.4 # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' -prefix= /usr/local +prefix= /usr INSTALL_BIN= ${prefix}/bin INSTALL_INC= ${prefix}/include INSTALL_LIB= ${prefix}/lib diff --git a/src/Makefile b/src/Makefile index e4a3cd6..d6bfbd3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -23,6 +23,7 @@ MYLIBS= 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,7 +37,7 @@ LUAC_T= luac 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_SO) $(LUA_A) $(LUA_T) $(LUAC_T) ALL_A= $(LUA_A) default: $(PLAT) @@ -47,15 +48,20 @@ o: $(ALL_O) a: $(ALL_A) +# shared libraries (for Linux) +$(LUA_SO): $(CORE_O) $(LIB_O) + $(CC) -o $(LUA_SO).$V -shared -Wl,-soname,$(LUA_SO).$V $(CORE_O) $(LIB_O) -lm -ldl + ln -fs $(LUA_SO).$(V) $(LUA_SO) + $(LUA_A): $(CORE_O) $(LIB_O) $(AR) $@ $? $(RANLIB) $@ $(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) -L. -llua $(LIBS) $(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) -L. -llua $(LIBS) clean: $(RM) $(ALL_T) $(ALL_O) diff --git a/src/luaconf.h b/src/luaconf.h index e2cb261..d7078cb 100644 --- a/src/luaconf.h +++ b/src/luaconf.h @@ -184,7 +184,7 @@ #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ defined(__ELF__) -#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#define LUAI_FUNC extern #define LUAI_DATA LUAI_FUNC #else -- cgit v1.2.3