Blame view

buildroot/buildroot-2016.08.1/package/lua/5.1.5/0002-shared-libs-for-lua.patch 2.32 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  Add the compilation of a shared library.
  Compile the lua binary with the shared library.
  And install the shared library.
  The variable BUILDMODE allows to switch between static and dynamic mode.
  
  Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
  
  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)
  +	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 || :
   	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
   	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
   	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
  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,13 @@
   LUAC_O=	luac.o print.o
   
   ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
  +ifneq (dynamic,$(BUILDMODE))
   ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
  +else
  +ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
  +endif
   ALL_A= $(LUA_A)
  +ALL_SO= $(LUA_SO)
   
   default: $(PLAT)
   
  @@ -47,12 +53,23 @@
   
   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)
  +	$(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
  +	ln -fs $@.$(PKG_VERSION) $@
  +
  +ifneq (dynamic,$(BUILDMODE))
   $(LUA_T): $(LUA_O) $(LUA_A)
   	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
  +else
  +$(LUA_T): $(LUA_O) $(LUA_SO)
  +	$(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
  +endif
   
   $(LUAC_T): $(LUAC_O) $(LUA_A)
   	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)