summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-11-05 11:07:21 -0800
committerAnas Nashif <anas.nashif@intel.com>2012-11-05 11:07:21 -0800
commit2fc51473ef4a9e601f7a9df9f537de2e39f9c2d7 (patch)
tree7b1ce5ba6538ff25560dd85beaaa467d7a0be16f
parent365ff576b2dfaba7705d9a816b642715a798838e (diff)
downloadlua-2fc51473ef4a9e601f7a9df9f537de2e39f9c2d7.tar.gz
lua-2fc51473ef4a9e601f7a9df9f537de2e39f9c2d7.tar.bz2
lua-2fc51473ef4a9e601f7a9df9f537de2e39f9c2d7.zip
shared
-rw-r--r--Makefile3
-rw-r--r--etc/lua.pc2
-rw-r--r--src/Makefile12
-rw-r--r--src/luaconf.h2
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