mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 06:06:32 +00:00
lua: handles BR2_PREFER_STATIC_LIB
fix compilation with Blackfin FLAT see http://autobuild.buildroot.net/results/b41/b4146bf821d59f694546f6e3a341394cc8fa43ce/ Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
179266d292
commit
5bdc76ee23
@ -362,7 +362,8 @@ source "package/jimtcl/Config.in"
|
|||||||
source "package/lua/Config.in"
|
source "package/lua/Config.in"
|
||||||
source "package/luainterpreter/Config.in"
|
source "package/luainterpreter/Config.in"
|
||||||
source "package/luajit/Config.in"
|
source "package/luajit/Config.in"
|
||||||
if BR2_PACKAGE_HAS_LUA_INTERPRETER
|
if BR2_PACKAGE_HAS_LUA_INTERPRETER && !BR2_PREFER_STATIC_LIB
|
||||||
|
# lua modules are dynamically loaded, so not available on static builds
|
||||||
menu "Lua libraries/modules"
|
menu "Lua libraries/modules"
|
||||||
source "package/cgilua/Config.in"
|
source "package/cgilua/Config.in"
|
||||||
source "package/copas/Config.in"
|
source "package/copas/Config.in"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
Add the compilation of a shared library.
|
Add the compilation of a shared library.
|
||||||
Compile the lua binary with the shared library.
|
Compile the lua binary with the shared library.
|
||||||
And install 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>
|
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
||||||
|
|
||||||
@ -20,8 +21,8 @@ Index: b/Makefile
|
|||||||
install: dummy
|
install: dummy
|
||||||
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
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_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
||||||
+ cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB)
|
+ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
|
||||||
+ ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so
|
+ 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_INC) $(INSTALL_INC)
|
||||||
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||||
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||||
@ -37,18 +38,21 @@ Index: b/src/Makefile
|
|||||||
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
|
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 \
|
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
|
||||||
lundump.o lvm.o lzio.o
|
lundump.o lvm.o lzio.o
|
||||||
@@ -36,8 +37,9 @@
|
@@ -36,8 +37,13 @@
|
||||||
LUAC_O= luac.o print.o
|
LUAC_O= luac.o print.o
|
||||||
|
|
||||||
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
|
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
|
||||||
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
+ifneq (dynamic,$(BUILDMODE))
|
||||||
|
ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
||||||
|
+else
|
||||||
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
||||||
|
+endif
|
||||||
ALL_A= $(LUA_A)
|
ALL_A= $(LUA_A)
|
||||||
+ALL_SO= $(LUA_SO)
|
+ALL_SO= $(LUA_SO)
|
||||||
|
|
||||||
default: $(PLAT)
|
default: $(PLAT)
|
||||||
|
|
||||||
@@ -47,12 +49,18 @@
|
@@ -47,12 +53,23 @@
|
||||||
|
|
||||||
a: $(ALL_A)
|
a: $(ALL_A)
|
||||||
|
|
||||||
@ -58,14 +62,17 @@ Index: b/src/Makefile
|
|||||||
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
||||||
$(RANLIB) $@
|
$(RANLIB) $@
|
||||||
|
|
||||||
-$(LUA_T): $(LUA_O) $(LUA_A)
|
|
||||||
- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
|
||||||
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
||||||
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
||||||
+ ln -fs $@.$(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)
|
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
||||||
+ $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
|
+ $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
|
||||||
|
+endif
|
||||||
|
|
||||||
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
||||||
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
Add the compilation of a shared library.
|
Add the compilation of a shared library.
|
||||||
Compile the lua binary with the shared library.
|
Compile the lua binary with the shared library.
|
||||||
And install 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>
|
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
||||||
|
|
||||||
@ -20,8 +21,8 @@ Index: b/Makefile
|
|||||||
install: dummy
|
install: dummy
|
||||||
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
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_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
||||||
+ cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB)
|
+ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
|
||||||
+ ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so
|
+ 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_INC) $(INSTALL_INC)
|
||||||
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||||
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||||
@ -37,18 +38,21 @@ Index: b/src/Makefile
|
|||||||
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
|
CORE_O= lapi.o lcode.o lctype.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 \
|
lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
|
||||||
ltm.o lundump.o lvm.o lzio.o
|
ltm.o lundump.o lvm.o lzio.o
|
||||||
@@ -43,8 +44,9 @@
|
@@ -43,8 +44,13 @@
|
||||||
LUAC_O= luac.o
|
LUAC_O= luac.o
|
||||||
|
|
||||||
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
|
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
|
||||||
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
+ifneq (dynamic,$(BUILDMODE))
|
||||||
|
ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
||||||
|
+else
|
||||||
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
||||||
|
+endif
|
||||||
ALL_A= $(LUA_A)
|
ALL_A= $(LUA_A)
|
||||||
+ALL_SO= $(LUA_SO)
|
+ALL_SO= $(LUA_SO)
|
||||||
|
|
||||||
# Targets start here.
|
# Targets start here.
|
||||||
default: $(PLAT)
|
default: $(PLAT)
|
||||||
@@ -55,12 +57,18 @@
|
@@ -55,12 +61,23 @@
|
||||||
|
|
||||||
a: $(ALL_A)
|
a: $(ALL_A)
|
||||||
|
|
||||||
@ -58,14 +62,17 @@ Index: b/src/Makefile
|
|||||||
$(AR) $@ $(BASE_O)
|
$(AR) $@ $(BASE_O)
|
||||||
$(RANLIB) $@
|
$(RANLIB) $@
|
||||||
|
|
||||||
-$(LUA_T): $(LUA_O) $(LUA_A)
|
|
||||||
- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
|
||||||
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
||||||
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
||||||
+ ln -fs $@.$(PKG_VERSION) $@
|
+ ln -fs $@.$(PKG_VERSION) $@
|
||||||
+
|
+
|
||||||
|
+ifneq (dynamic,$(BUILDMODE))
|
||||||
|
$(LUA_T): $(LUA_O) $(LUA_A)
|
||||||
|
$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
||||||
|
+else
|
||||||
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
||||||
+ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS)
|
+ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS)
|
||||||
|
+endif
|
||||||
|
|
||||||
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
||||||
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
||||||
|
@ -14,8 +14,7 @@ LUA_INSTALL_STAGING = YES
|
|||||||
LUA_LICENSE = MIT
|
LUA_LICENSE = MIT
|
||||||
LUA_LICENSE_FILES = COPYRIGHT
|
LUA_LICENSE_FILES = COPYRIGHT
|
||||||
|
|
||||||
LUA_CFLAGS = -Wall -fPIC
|
LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX
|
||||||
LUA_MYLIBS += -ldl
|
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_LUA_5_2),y)
|
ifeq ($(BR2_PACKAGE_LUA_5_2),y)
|
||||||
LUA_CFLAGS += -DLUA_COMPAT_ALL
|
LUA_CFLAGS += -DLUA_COMPAT_ALL
|
||||||
@ -24,17 +23,23 @@ LUA_CFLAGS += -D_FILE_OFFSET_BITS=32
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
||||||
|
LUA_BUILDMODE = static
|
||||||
|
else
|
||||||
|
LUA_BUILDMODE = dynamic
|
||||||
|
LUA_CFLAGS += -DLUA_USE_DLOPEN
|
||||||
|
LUA_MYLIBS += -ldl
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
|
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
|
||||||
LUA_DEPENDENCIES = readline ncurses
|
LUA_DEPENDENCIES = readline ncurses
|
||||||
LUA_MYLIBS += -lreadline -lhistory -lncurses
|
LUA_MYLIBS += -lreadline -lhistory -lncurses
|
||||||
LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE
|
LUA_CFLAGS += -DLUA_USE_READLINE
|
||||||
else
|
else
|
||||||
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y)
|
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y)
|
||||||
LUA_DEPENDENCIES = linenoise
|
LUA_DEPENDENCIES = linenoise
|
||||||
LUA_MYLIBS += -llinenoise
|
LUA_MYLIBS += -llinenoise
|
||||||
LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_LINENOISE
|
LUA_CFLAGS += -DLUA_USE_LINENOISE
|
||||||
else
|
|
||||||
LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -53,6 +58,7 @@ define LUA_BUILD_CMDS
|
|||||||
CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
|
CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
|
||||||
CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \
|
CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \
|
||||||
MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
|
MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
|
||||||
|
BUILDMODE=$(LUA_BUILDMODE) \
|
||||||
PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
|
PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -61,6 +67,7 @@ define HOST_LUA_BUILD_CMDS
|
|||||||
CFLAGS="$(HOST_LUA_CFLAGS)" \
|
CFLAGS="$(HOST_LUA_CFLAGS)" \
|
||||||
MYLDFLAGS="$(HOST_LDFLAGS)" \
|
MYLDFLAGS="$(HOST_LDFLAGS)" \
|
||||||
MYLIBS="$(HOST_LUA_MYLIBS)" \
|
MYLIBS="$(HOST_LUA_MYLIBS)" \
|
||||||
|
BUILDMODE=static \
|
||||||
PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
|
PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user