Files
packages/lang/lua/lua-ffi/Makefile
T
Alexandru Ardelean 6c5a3c4d78 lua: use LUA_INSTALL_DIR in cqueues, lua-ffi and luaossl
The three Lua variants of each package install the same files, differing
only in the destination directory, so define LUA_INSTALL_DIR next to the
other per-variant settings and share a single install recipe. Same idiom
as luafilesystem, luasec and luaexpat. No packaged path changes.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-10-06 10:40:22 +03:00

80 lines
2.2 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=lua-ffi
PKG_VERSION:=1.3.0
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/lua-ffi/releases/download/v$(PKG_VERSION)
PKG_HASH:=718eaa7688ee85af6f8a5a7ac9cdf523e81c5a95a99ae81d8ae262b6622f1983
PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/lua-ffi/default
TITLE:=A portable lightweight C FFI for $(1), based on libffi
CATEGORY:=Languages
SECTION:=lang
SUBMENU:=Lua
DEPENDS:=+libffi
URL:=https://github.com/zhaojh329/lua-ffi
endef
define Package/lua-ffi/default/description
Lua-ffi is a portable lightweight C FFI for Lua, based on libffi
and aiming to be mostly compatible with LuaJIT FFI, but written
from scratch in C language.
endef
define Package/lua-ffi
$(call Package/lua-ffi/default,lua5.1)
DEPENDS+=+liblua
VARIANT:=lua51
endef
define Package/lua-ffi-lua5.3
$(call Package/lua-ffi/default,lua5.3)
DEPENDS+=+liblua5.3
VARIANT:=lua53
endef
define Package/lua-ffi-lua5.4
$(call Package/lua-ffi/default,lua5.4)
DEPENDS+=+liblua5.4
VARIANT:=lua54
endef
Package/lua-ffi/description = $(Package/lua-ffi/default/description)
Package/lua-ffi-lua5.3/description = $(Package/lua-ffi/default/description)
Package/lua-ffi-lua5.4/description = $(Package/lua-ffi/default/description)
ifeq ($(BUILD_VARIANT),lua51)
CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include"
LUA_INSTALL_DIR:=/usr/lib/lua
endif
ifeq ($(BUILD_VARIANT),lua53)
CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include/lua5.3"
LUA_INSTALL_DIR:=/usr/local/lib/lua/5.3
endif
ifeq ($(BUILD_VARIANT),lua54)
CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include/lua5.4"
LUA_INSTALL_DIR:=/usr/lib/lua/5.4
endif
define Package/lua-ffi/install
$(INSTALL_DIR) $(1)$(LUA_INSTALL_DIR)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)$(LUA_INSTALL_DIR)
endef
Package/lua-ffi-lua5.3/install = $(Package/lua-ffi/install)
Package/lua-ffi-lua5.4/install = $(Package/lua-ffi/install)
$(eval $(call BuildPackage,lua-ffi))
$(eval $(call BuildPackage,lua-ffi-lua5.3))
$(eval $(call BuildPackage,lua-ffi-lua5.4))