diff options
| author | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2018-11-30 11:38:29 +0100 |
|---|---|---|
| committer | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2018-12-01 22:54:41 +0100 |
| commit | 819e2b9c3405450561e3d9f18123be5fff88106d (patch) | |
| tree | 49874e5f99537a45e23627413cd42071497acf28 | |
| parent | 21c6fb2589fb36d0d9367efe906c94da67cbf009 (diff) | |
| download | buildroot-819e2b9c3405450561e3d9f18123be5fff88106d.tar.gz buildroot-819e2b9c3405450561e3d9f18123be5fff88106d.zip | |
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>
| -rw-r--r-- | package/luarocks/luarocks-br-config.lua | 13 | ||||
| -rw-r--r-- | package/luarocks/luarocks.mk | 19 |
2 files changed, 19 insertions, 13 deletions
diff --git a/package/luarocks/luarocks-br-config.lua b/package/luarocks/luarocks-br-config.lua new file mode 100644 index 0000000000..32d71e1e21 --- /dev/null +++ b/package/luarocks/luarocks-br-config.lua @@ -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]] diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk index cfef8f19b3..1b29a21406 100644 --- a/package/luarocks/luarocks.mk +++ b/package/luarocks/luarocks.mk @@ -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 |

