Transform native Genode port of lua library into an application for Genode's Noux runtime

Rolf Sommerhalder rolf.sommerhalder at ...278...
Sun Jul 26 14:27:59 CEST 2015


Hello list,

Before attempting to do a port of LuaJIT as an additional application
for Genode's Noux runtime, in a first step, I try to transform the
existing port of Lua from a native Genode library to a "Noux package"
(noux-pkg).

The native Genode application moon(-tool) uses the existing port of
the Lua library as a Lua extension of "C", whereas I would like to use
the  Lua and LuaJIT interpreters interactively from a bash shell with
terminal.

Thus, I have created lua0.port, lua0.hash (see below) and got its
source tree into contrib/
 ./prepare_port lua0 CHECK_HASH=no

Note that I chose to name the noux-pkg "lua0" in order to clearly
differentiate it from the existing library "lua".

Currently, I struggle with the Noux build tool which insists on
calling configure, whereas the library port tool seems not to call
configure, but simply makes repos/libports/lib/mk/lua.mk .

What would be the recommended way forward, e.g. is there a way to
disable the Autotools/configure step in my lua0/target.mk, or to
create an "empty" configure script using a patch for example?

Thanks,
Rolf

---

cat repos/ports/src/noux-pkg/lua0/target.mk
# ported from repos/portslibs/lib/mk/lua.inc | lua.mk
TARGET = lua0

LUA_DIR := $(call select_from_ports,lua0)/src/noux-pkg/lua0/src

LIBS    += libc libm
#LIBS    += libc libm libreadline libdl
INC_DIR += $(LUA_DIR)
CC_DEF   = -DLUA_ANSI -DLUA_USE_MKSTEMP
#NOUX_CFLAGS += -DLUA_ANSI -DLUA_USE_MKSTEMP

# core objects
LUA_CORE_C = lapi.c lcode.c ldebug.c ldo.c ldump.c lfunc.c lgc.c
llex.c lmem.c \
             lobject.c lopcodes.c lparser.c lstate.c lstring.c
ltable.c ltm.c  \
             lundump.c lvm.c lzio.c

# library objects, e.g. string handling
LUA_LIB_C = lauxlib.c lbaselib.c ldblib.c liolib.c lmathlib.c loslib.c
ltablib.c \
            lstrlib.c loadlib.c linit.c

vpath %.c $(LUA_DIR)

SRC_C = $(LUA_CORE_C) $(LUA_LIB_C)

noux_built.tag: Makefile

---

build/linux_x86$ make VERBOSE= noux-pkg/lua0
checking library dependencies...
  Library platform
  Library libc-locale
  Library libc-stdlib
  Library libc-string
  Library libc-stdio
  Library libc-inet
  Library libc-gdtoa
  Library libc-stdtime
  Library libc-regex
  Library libc-compat
  Library cxx
  Library syscall
  Library config
  Library libc-setjmp
  Library alarm
  Library ldso-startup
  Library startup
  Library timed_semaphore
  Library libc-gen
  Library base-common
  Library base
  Library ld
  Library vfs
  Library libc
  Library libc_noux
  Library libm
/home/rs/nizwa2/genode/master/repos/base/mk/prg.mk:208: warning:
overriding commands for target `lua0'
/home/rs/nizwa2/genode/master/repos/ports/mk/noux.mk:171: warning:
ignoring old commands for target `lua0'
  Program noux-pkg/lua0/lua0
    CONFIG   lua0
source noux_env.sh &&
/home/rs/nizwa2/genode/master/contrib/lua0-dummy/src/noux-pkg/lua0/configure
 --host x86_64-pc-elf
--srcdir=/home/rs/nizwa2/genode/master/contrib/lua0-dummy/src/noux-pkg/lua0
--prefix / --build x86-linux
    BUILD    lua0
source noux_env.sh && make  V=1 MAN=
make[3]: *** No targets specified and no makefile found.  Stop.
make[2]: *** [noux_built.tag] Error 2
make[1]: *** [lua0.prg] Error 2
make: *** [gen_deps_and_build_targets] Error 2

---

cat repos/ports/ports/lua0.port
LICENSE   := MIT
#VERSION   := 5.1.5
VERSION   := 5.3.1
DOWNLOADS := lua0.archive

URL(lua0) := http://www.lua.org/ftp/lua-$(VERSION).tar.gz
#SHA(lua0) := b3882111ad02ecc6b972f8c1241647905cb2e3fc
SHA(lua0) := 1676c6a041d90b6982db8cef1e5fb26000ab6dee
SIG(lua0) := ${URL(lua0)}.sig
KEY(lua0) := GNU
DIR(lua0) := src/noux-pkg/lua0

---

cat repos/ports/ports$ cat lua0.hash
dummy




More information about the users mailing list