* [Buildroot] [RFC] lua: always use host-lua for host-luainterpreter
@ 2017-10-21 20:54 Peter Korsgaard
2018-01-08 22:43 ` Thomas Petazzoni
2018-03-31 19:02 ` Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Peter Korsgaard @ 2017-10-21 20:54 UTC (permalink / raw)
To: buildroot
Similar to how we do for openssl.
host-luainterpreter is only used by the luarocks infrastructure, and there
is afaik no specific reason why the host lua variant must match the target one.
Luajit only supports a limited number of architectures, so building it for
the host limits the architectures Buildroot can be used on (E.G. powerpc64
autobuilders).
To fix this, always use host-lua. Slightly rework lua.mk to ensure
host-lua-5.1 is used when luajit is selected, and drop the logic for using
host-luajit.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
package/lua/lua.mk | 6 +++---
package/luainterpreter/Config.in | 4 ++++
package/luainterpreter/luainterpreter.mk | 2 +-
package/luarocks/luarocks.mk | 4 ----
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package/lua/lua.mk b/package/lua/lua.mk
index 0ac2e0e25d..851dc8f734 100644
--- a/package/lua/lua.mk
+++ b/package/lua/lua.mk
@@ -16,10 +16,10 @@ endif
LUA_SITE = http://www.lua.org/ftp
LUA_INSTALL_STAGING = YES
LUA_LICENSE = MIT
-ifeq ($(BR2_PACKAGE_LUA_5_1),y)
-LUA_LICENSE_FILES = COPYRIGHT
-else
+ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
LUA_LICENSE_FILES = doc/readme.html
+else
+LUA_LICENSE_FILES = COPYRIGHT
endif
LUA_PROVIDES = luainterpreter
diff --git a/package/luainterpreter/Config.in b/package/luainterpreter/Config.in
index e89a9b84d2..7bc54d862f 100644
--- a/package/luainterpreter/Config.in
+++ b/package/luainterpreter/Config.in
@@ -7,3 +7,7 @@ config BR2_PACKAGE_PROVIDES_LUAINTERPRETER
config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
string
+
+config BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER
+ string
+ default "host-lua"
diff --git a/package/luainterpreter/luainterpreter.mk b/package/luainterpreter/luainterpreter.mk
index cb1d5dde18..58d421b183 100644
--- a/package/luainterpreter/luainterpreter.mk
+++ b/package/luainterpreter/luainterpreter.mk
@@ -20,4 +20,4 @@ endif
$(eval $(virtual-package))
$(eval $(host-virtual-package))
-LUA_RUN = $(HOST_DIR)/bin/$(call qstrip,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER))
+LUA_RUN = $(HOST_DIR)/bin/lua
diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk
index e050cb553c..ea57530633 100644
--- a/package/luarocks/luarocks.mk
+++ b/package/luarocks/luarocks.mk
@@ -23,10 +23,6 @@ HOST_LUAROCKS_CONF_OPTS = \
--sysconfdir=$(LUAROCKS_CONFIG_DIR) \
--with-lua=$(HOST_DIR)
-ifeq ($(BR2_PACKAGE_LUAJIT),y)
-HOST_LUAROCKS_CONF_OPTS += --lua-suffix=jit
-endif
-
define HOST_LUAROCKS_CONFIGURE_CMDS
cd $(@D) && ./configure $(HOST_LUAROCKS_CONF_OPTS)
endef
--
2.11.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [RFC] lua: always use host-lua for host-luainterpreter
2017-10-21 20:54 [Buildroot] [RFC] lua: always use host-lua for host-luainterpreter Peter Korsgaard
@ 2018-01-08 22:43 ` Thomas Petazzoni
2018-03-31 19:02 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2018-01-08 22:43 UTC (permalink / raw)
To: buildroot
Fran?ois,
Could you comment on this patch that touches Lua packaging in Buildroot?
It's been there for a bit more than 2 months, so unless you reply to
say that you disagree, I'll apply this patch in the next days.
Thanks!
Thomas
On Sat, 21 Oct 2017 22:54:57 +0200, Peter Korsgaard wrote:
> Similar to how we do for openssl.
>
> host-luainterpreter is only used by the luarocks infrastructure, and there
> is afaik no specific reason why the host lua variant must match the target one.
>
> Luajit only supports a limited number of architectures, so building it for
> the host limits the architectures Buildroot can be used on (E.G. powerpc64
> autobuilders).
>
> To fix this, always use host-lua. Slightly rework lua.mk to ensure
> host-lua-5.1 is used when luajit is selected, and drop the logic for using
> host-luajit.
>
> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
> ---
> package/lua/lua.mk | 6 +++---
> package/luainterpreter/Config.in | 4 ++++
> package/luainterpreter/luainterpreter.mk | 2 +-
> package/luarocks/luarocks.mk | 4 ----
> 4 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/package/lua/lua.mk b/package/lua/lua.mk
> index 0ac2e0e25d..851dc8f734 100644
> --- a/package/lua/lua.mk
> +++ b/package/lua/lua.mk
> @@ -16,10 +16,10 @@ endif
> LUA_SITE = http://www.lua.org/ftp
> LUA_INSTALL_STAGING = YES
> LUA_LICENSE = MIT
> -ifeq ($(BR2_PACKAGE_LUA_5_1),y)
> -LUA_LICENSE_FILES = COPYRIGHT
> -else
> +ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
> LUA_LICENSE_FILES = doc/readme.html
> +else
> +LUA_LICENSE_FILES = COPYRIGHT
> endif
>
> LUA_PROVIDES = luainterpreter
> diff --git a/package/luainterpreter/Config.in b/package/luainterpreter/Config.in
> index e89a9b84d2..7bc54d862f 100644
> --- a/package/luainterpreter/Config.in
> +++ b/package/luainterpreter/Config.in
> @@ -7,3 +7,7 @@ config BR2_PACKAGE_PROVIDES_LUAINTERPRETER
>
> config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
> string
> +
> +config BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER
> + string
> + default "host-lua"
> diff --git a/package/luainterpreter/luainterpreter.mk b/package/luainterpreter/luainterpreter.mk
> index cb1d5dde18..58d421b183 100644
> --- a/package/luainterpreter/luainterpreter.mk
> +++ b/package/luainterpreter/luainterpreter.mk
> @@ -20,4 +20,4 @@ endif
> $(eval $(virtual-package))
> $(eval $(host-virtual-package))
>
> -LUA_RUN = $(HOST_DIR)/bin/$(call qstrip,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER))
> +LUA_RUN = $(HOST_DIR)/bin/lua
> diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk
> index e050cb553c..ea57530633 100644
> --- a/package/luarocks/luarocks.mk
> +++ b/package/luarocks/luarocks.mk
> @@ -23,10 +23,6 @@ HOST_LUAROCKS_CONF_OPTS = \
> --sysconfdir=$(LUAROCKS_CONFIG_DIR) \
> --with-lua=$(HOST_DIR)
>
> -ifeq ($(BR2_PACKAGE_LUAJIT),y)
> -HOST_LUAROCKS_CONF_OPTS += --lua-suffix=jit
> -endif
> -
> define HOST_LUAROCKS_CONFIGURE_CMDS
> cd $(@D) && ./configure $(HOST_LUAROCKS_CONF_OPTS)
> endef
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [RFC] lua: always use host-lua for host-luainterpreter
2017-10-21 20:54 [Buildroot] [RFC] lua: always use host-lua for host-luainterpreter Peter Korsgaard
2018-01-08 22:43 ` Thomas Petazzoni
@ 2018-03-31 19:02 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2018-03-31 19:02 UTC (permalink / raw)
To: buildroot
Hello,
On Sat, 21 Oct 2017 22:54:57 +0200, Peter Korsgaard wrote:
> Similar to how we do for openssl.
>
> host-luainterpreter is only used by the luarocks infrastructure, and there
> is afaik no specific reason why the host lua variant must match the target one.
>
> Luajit only supports a limited number of architectures, so building it for
> the host limits the architectures Buildroot can be used on (E.G. powerpc64
> autobuilders).
>
> To fix this, always use host-lua. Slightly rework lua.mk to ensure
> host-lua-5.1 is used when luajit is selected, and drop the logic for using
> host-luajit.
>
> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch was from October 2017, I pinged Fran?ois on January 2018,
and got no feedback. I did a final test with the following defconfig:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_LUAJIT=y
BR2_PACKAGE_COXPCALL=y
BR2_PACKAGE_LUA_DATAFILE=y
BR2_PACKAGE_LUAJSON=y
BR2_PACKAGE_RINGS=y
BR2_PACKAGE_PROSODY=y
# BR2_TARGET_ROOTFS_TAR is not set
Which exercises the two places where host-luainterpreter is used:
- The prosody package
- The luarocks package infrastructure
And the build was successful.
So I've applied this patch.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-03-31 19:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-21 20:54 [Buildroot] [RFC] lua: always use host-lua for host-luainterpreter Peter Korsgaard
2018-01-08 22:43 ` Thomas Petazzoni
2018-03-31 19:02 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.