From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [v2] luajit: complete replacement for lua
Date: Thu, 13 Dec 2012 22:21:37 +0100 [thread overview]
Message-ID: <50CA46E1.2090105@mind.be> (raw)
In-Reply-To: <1354783499-20000-1-git-send-email-francois.perrad@gadz.org>
Hi Francois,
On 06/12/12 09:44, Francois Perrad wrote:
> the mutual exclusion is done by a choice
>
> Signed-off-by: Francois Perrad<francois.perrad@gadz.org>
>
> see initial discussion, http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/43499
>
> ---
> Makefile | 6 ++++++
> package/Config.in | 1 -
> package/copas/copas.mk | 2 +-
> package/coxpcall/coxpcall.mk | 1 -
> package/lua-msgpack-native/lua-msgpack-native.mk | 2 +-
> package/lua/Config.in | 25 ++++++++++++++++++++++
> package/luacjson/luacjson.mk | 2 +-
> package/luaexpat/luaexpat.mk | 2 +-
> package/luafilesystem/luafilesystem.mk | 2 +-
> package/luajit/Config.in | 12 -----------
> package/luajit/luajit-05-install-like-lua.patch | 17 +++++++++++++++
> package/luasocket/luasocket.mk | 2 +-
> package/rings/rings.mk | 2 +-
> package/xavante/xavante.mk | 2 +-
> 14 files changed, 56 insertions(+), 22 deletions(-)
> delete mode 100644 package/luajit/Config.in
> create mode 100644 package/luajit/luajit-05-install-like-lua.patch
>
> diff --git a/Makefile b/Makefile
> index 4b09437..b5215e0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -282,6 +282,12 @@ HOSTCC := $(CCACHE) $(HOSTCC)
> HOSTCXX := $(CCACHE) $(HOSTCXX)
> endif
>
> +ifeq ($(BR2_PACKAGE_LUA),y)
> + LUA_INTERPRETER = lua
> +else ifeq ($(BR2_PACKAGE_LUAJIT),y)
> + LUA_INTERPRETER = luajit
> +endif
> +
Minor detail: I think this fits better in package/Makefile.in.
> #############################################################
> #
> # You should probably leave this stuff alone unless you know
> diff --git a/package/Config.in b/package/Config.in
> index 74e439e..e6e294e 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -271,7 +271,6 @@ source "package/erlang/Config.in"
> source "package/haserl/Config.in"
> source "package/jamvm/Config.in"
> source "package/lua/Config.in"
> -source "package/luajit/Config.in"
> if BR2_PACKAGE_LUA || BR2_PACKAGE_LUAJIT
> menu "LUA libraries/modules"
> source "package/cgilua/Config.in"
> diff --git a/package/copas/copas.mk b/package/copas/copas.mk
> index c84a6cc..a258927 100644
> --- a/package/copas/copas.mk
> +++ b/package/copas/copas.mk
> @@ -6,7 +6,7 @@
>
> COPAS_VERSION = 1.1.6
> COPAS_SITE = http://github.com/downloads/keplerproject/copas
> -COPAS_DEPENDENCIES = lua coxpcall luasocket
> +COPAS_DEPENDENCIES = coxpcall luasocket
I guess this is removed because it's a runtime-only dependency?
Then it's better to do this in a separate patch.
[snip]
> diff --git a/package/lua/Config.in b/package/lua/Config.in
> index 4166730..d698a25 100644
> --- a/package/lua/Config.in
> +++ b/package/lua/Config.in
> @@ -1,3 +1,13 @@
> +
> +choice
> + prompt "Lua Interpreter"
> + default BR2_PACKAGE_LUA_NONE
> +
> +config BR2_PACKAGE_LUA_NONE
> + bool "none"
> + help
> + None.
> +
> config BR2_PACKAGE_LUA
> bool "lua"
> help
> @@ -5,6 +15,21 @@ config BR2_PACKAGE_LUA
>
> http://www.lua.org/
>
> +config BR2_PACKAGE_LUAJIT
> + bool "luajit"
> + # Luajit is only available for some target architectures, and
> + # has some complexity wrt 32/64. See luajit.mk for details.
> + depends on BR2_i386 || (BR2_x86_64&& BR2_HOSTARCH='x86_64') || BR2_powerpc || BR2_arm || BR2_armeb
> + help
> + LuaJIT implements the full set of language features defined
> + by Lua 5.1. The virtual machine (VM) is API- and
> + ABI-compatible to the standard Lua interpreter and can be
> + deployed as a drop-in replacement.
> +
> + http://luajit.org/
> +
> +endchoice
It's a good idea to make it a choice, but I have a few problems
with it:
- it doesn't work well with packages that select LUA (e.g.
BR2_PACKAGE_LIGHTTPD_LUA);
- it's not good to split luajit's Config.in from the .mk file.
Maybe there could be a symbol BR2_USE_LUA that can be selected by
other packages? This symbol could be defined package/Config.in.
The choice would default to BR2_PACKAGE_LUA if BR2_USE_LUA, and
BR2_PACKAGE_LUA_NONE would depend on !BR2_USE_LUA.
> +
> if BR2_PACKAGE_LUA
>
> choice
[snip]
> diff --git a/package/xavante/xavante.mk b/package/xavante/xavante.mk
> index 0c1c6f1..7f49f4d 100644
> --- a/package/xavante/xavante.mk
> +++ b/package/xavante/xavante.mk
> @@ -6,7 +6,7 @@
>
> XAVANTE_VERSION = 2.2.1
> XAVANTE_SITE = http://github.com/downloads/keplerproject/xavante
> -XAVANTE_DEPENDENCIES = cgilua copas coxpcall lua luafilesystem luasocket wsapi
> +XAVANTE_DEPENDENCIES = cgilua copas coxpcall luafilesystem luasocket wsapi
Here again I think it should be a separate patch.
Regards,
Arnout
> XAVANTE_LICENSE = MIT
>
> define XAVANTE_INSTALL_TARGET_CMDS
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
next prev parent reply other threads:[~2012-12-13 21:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-06 8:44 [Buildroot] [v2] luajit: complete replacement for lua Francois Perrad
2012-12-13 21:21 ` Arnout Vandecappelle [this message]
2012-12-15 9:32 ` François Perrad
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50CA46E1.2090105@mind.be \
--to=arnout@mind.be \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox