package/luarocks: rework configuration file for per-package directories
Currently, luarocks.mk generates a configuration file with hardcoded STAGING_DIR, TARGET_DIR, TARGET_CC, LUAROCKS_CFLAGS and TARGET_LDFLAGS values. This is not compatible with per-package directories, where the value of STAGING_DIR, TARGET_DIR, TARGET_CC and possibly TARGET_CFLAGS/TARGET_LDFLAGS may be different from one package to the other. Based on input from François Perrad, this commit: - Changes the Luarocks configuration file to use os_getenv() for the appropriate variables. Since the contents of this file is not fixed, it is no longer generated by luarocks.mk using a series of 'echo' but simply concatenated with the rest of the Luarocks configuration file. - Adjusts LUAROCKS_RUNV_ENV so that the necessary environment variables are now passed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Acked-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
21c6fb2589
commit
819e2b9c34
13
package/luarocks/luarocks-br-config.lua
Normal file
13
package/luarocks/luarocks-br-config.lua
Normal file
@ -0,0 +1,13 @@
|
||||
-- BR cross-compilation
|
||||
local function getenv (name) return os_getenv(name) or '' end
|
||||
variables.LUA_INCDIR = getenv('STAGING_DIR') .. [[/usr/include]]
|
||||
variables.LUA_LIBDIR = getenv('STAGING_DIR') .. [[/usr/lib]]
|
||||
variables.CC = getenv('TARGET_CC')
|
||||
variables.LD = getenv('TARGET_CC')
|
||||
variables.CFLAGS = getenv('TARGET_CFLAGS')
|
||||
variables.LIBFLAG = [[-shared ]] .. getenv('TARGET_LDFLAGS')
|
||||
external_deps_dirs = { getenv('STAGING_DIR') .. [[/usr]] }
|
||||
gcc_rpath = false
|
||||
rocks_trees = { getenv('TARGET_DIR') .. [[/usr]] }
|
||||
wrap_bin_scripts = false
|
||||
deps_mode = [[none]]
|
@ -30,23 +30,16 @@ endef
|
||||
define HOST_LUAROCKS_INSTALL_CMDS
|
||||
rm -f $(LUAROCKS_CONFIG_FILE)
|
||||
$(MAKE1) -C $(@D) install
|
||||
echo "-- BR cross-compilation" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "variables.LUA_INCDIR = [[$(STAGING_DIR)/usr/include]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "variables.LUA_LIBDIR = [[$(STAGING_DIR)/usr/lib]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "variables.CC = [[$(TARGET_CC)]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "variables.LD = [[$(TARGET_CC)]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "variables.CFLAGS = [[$(LUAROCKS_CFLAGS)]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "variables.LIBFLAG = [[-shared $(TARGET_LDFLAGS)]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "external_deps_dirs = { [[$(STAGING_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "gcc_rpath = false" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "rocks_trees = { [[$(TARGET_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "wrap_bin_scripts = false" >> $(LUAROCKS_CONFIG_FILE)
|
||||
echo "deps_mode = [[none]]" >> $(LUAROCKS_CONFIG_FILE)
|
||||
cat $(HOST_LUAROCKS_PKGDIR)/luarocks-br-config.lua >> $(LUAROCKS_CONFIG_FILE)
|
||||
endef
|
||||
|
||||
$(eval $(host-generic-package))
|
||||
|
||||
LUAROCKS_RUN_ENV = LUA_PATH="$(HOST_DIR)/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua"
|
||||
LUAROCKS_RUN_ENV = \
|
||||
LUA_PATH="$(HOST_DIR)/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua" \
|
||||
TARGET_CC="$(TARGET_CC)" \
|
||||
TARGET_CFLAGS="$(LUAROCKS_CFLAGS)" \
|
||||
TARGET_LDFLAGS="$(TARGET_LDFLAGS)"
|
||||
LUAROCKS_RUN_CMD = $(LUA_RUN) $(HOST_DIR)/bin/luarocks
|
||||
|
||||
define LUAROCKS_FINALIZE_TARGET
|
||||
|
Loading…
Reference in New Issue
Block a user