2ca0accc21
This fork is based on LuaJIT 2.1.0-beta3 which supports ARM64. The license file is changed with the copyright from the Moonjit developers, and an additional copy of the MIT license. Therefore the license terms are still the same: MIT. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> [Thomas: add details about why the hash of the license file changes] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
85 lines
2.5 KiB
Makefile
85 lines
2.5 KiB
Makefile
################################################################################
|
|
#
|
|
# luajit
|
|
#
|
|
################################################################################
|
|
|
|
LUAJIT_VERSION = 2.1.2
|
|
LUAJIT_SITE = $(call github,moonjit,moonjit,$(LUAJIT_VERSION))
|
|
LUAJIT_LICENSE = MIT
|
|
LUAJIT_LICENSE_FILES = COPYRIGHT
|
|
|
|
LUAJIT_INSTALL_STAGING = YES
|
|
|
|
LUAJIT_PROVIDES = luainterpreter
|
|
|
|
ifeq ($(BR2_PACKAGE_LUAJIT_COMPAT52),y)
|
|
LUAJIT_XCFLAGS += -DLUAJIT_ENABLE_LUA52COMPAT
|
|
endif
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
LUAJIT_BUILDMODE = static
|
|
else
|
|
LUAJIT_BUILDMODE = dynamic
|
|
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)
|
|
else
|
|
LUAJIT_HOST_CC = $(HOSTCC) -m32
|
|
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=$(LUAJIT_BUILDMODE) \
|
|
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))
|