da56f2dc4c
Since version 2.1, LuaJIT follows a rolling-release scheme, which means that any commit is as good as any other; LuaJIT uses the comitter's UNIX timestamp as its semver patch level. It uses the git-attribute export-subst for the .relver file that contains the %ct placeholder for git-archive to expand it. Inc9dcd9e459
(package/luajit: bump to version 41fb94defa8f...), we switched to such an upstream version. There was some confusion around the handling of the git-attribute and where/when it is generated, and the first revision of the patch used the git download method, so had to use post-extract hooks to do the replacement, but the second iteration kept retrieving the archive generated by github, which has the replacement already done, but the post-extract hooks were not dropped although now useless... With the current code, it is easy to bump the LuaJit version and forget to update the timestamp stored in the .relver file, which would override the value that was generated on the github side. Since the post-extract hook is useless, drop it. Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Francois Perrad <fperrad@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Arnout Vandecappelle <arnout@mind.be> (cherry picked from commit1bcb51517c
) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
82 lines
2.5 KiB
Makefile
82 lines
2.5 KiB
Makefile
################################################################################
|
|
#
|
|
# luajit
|
|
#
|
|
################################################################################
|
|
|
|
LUAJIT_VERSION = 41fb94defa8f830ce69a8122b03f6ac3216d392a
|
|
LUAJIT_SITE = $(call github,LuaJIT,LuaJIT,$(LUAJIT_VERSION))
|
|
LUAJIT_LICENSE = MIT
|
|
LUAJIT_LICENSE_FILES = COPYRIGHT
|
|
LUAJIT_CPE_ID_VENDOR = luajit
|
|
|
|
LUAJIT_INSTALL_STAGING = YES
|
|
|
|
LUAJIT_PROVIDES = luainterpreter
|
|
|
|
ifeq ($(BR2_PACKAGE_LUAJIT_COMPAT52),y)
|
|
LUAJIT_XCFLAGS += -DLUAJIT_ENABLE_LUA52COMPAT
|
|
endif
|
|
|
|
# The luajit build procedure requires the host compiler to have the
|
|
# same bitness as the target compiler. Therefore, on a x86 build
|
|
# machine, we can't build luajit for x86_64, which is checked in
|
|
# Config.in. When the target is a 32 bits target, we pass -m32 to
|
|
# ensure that even on 64 bits build machines, a compiler of the same
|
|
# bitness is used. Of course, this assumes that the 32 bits multilib
|
|
# libraries are installed.
|
|
ifeq ($(BR2_ARCH_IS_64),y)
|
|
LUAJIT_HOST_CC = $(HOSTCC)
|
|
# There is no LUAJIT_ENABLE_GC64 option.
|
|
else
|
|
LUAJIT_HOST_CC = $(HOSTCC) -m32
|
|
LUAJIT_XCFLAGS += -DLUAJIT_DISABLE_GC64
|
|
endif
|
|
|
|
# We unfortunately can't use TARGET_CONFIGURE_OPTS, because the luajit
|
|
# build system uses non conventional variable names.
|
|
define LUAJIT_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) PREFIX="/usr" \
|
|
STATIC_CC="$(TARGET_CC)" \
|
|
DYNAMIC_CC="$(TARGET_CC) -fPIC" \
|
|
TARGET_LD="$(TARGET_CC)" \
|
|
TARGET_AR="$(TARGET_AR) rcus" \
|
|
TARGET_STRIP=true \
|
|
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
|
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
HOST_CC="$(LUAJIT_HOST_CC)" \
|
|
HOST_CFLAGS="$(HOST_CFLAGS)" \
|
|
HOST_LDFLAGS="$(HOST_LDFLAGS)" \
|
|
BUILDMODE=dynamic \
|
|
XCFLAGS="$(LUAJIT_XCFLAGS)" \
|
|
-C $(@D) amalg
|
|
endef
|
|
|
|
define LUAJIT_INSTALL_STAGING_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" LDCONFIG=true -C $(@D) install
|
|
endef
|
|
|
|
define LUAJIT_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" LDCONFIG=true -C $(@D) install
|
|
endef
|
|
|
|
define LUAJIT_INSTALL_SYMLINK
|
|
ln -fs luajit $(TARGET_DIR)/usr/bin/lua
|
|
endef
|
|
LUAJIT_POST_INSTALL_TARGET_HOOKS += LUAJIT_INSTALL_SYMLINK
|
|
|
|
# host-efl package needs host-luajit to be linked dynamically.
|
|
define HOST_LUAJIT_BUILD_CMDS
|
|
$(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)" BUILDMODE=dynamic \
|
|
TARGET_LDFLAGS="$(HOST_LDFLAGS)" \
|
|
XCFLAGS="$(LUAJIT_XCFLAGS)" \
|
|
-C $(@D) amalg
|
|
endef
|
|
|
|
define HOST_LUAJIT_INSTALL_CMDS
|
|
$(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)" LDCONFIG=true -C $(@D) install
|
|
endef
|
|
|
|
$(eval $(generic-package))
|
|
$(eval $(host-generic-package))
|