summaryrefslogtreecommitdiffstats
path: root/lang/lua/lua-ffi/Makefile
blob: 3edf4d4e6d3c7803f42c4f14245ab64c168326ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
include $(TOPDIR)/rules.mk

PKG_NAME:=lua-ffi
PKG_VERSION:=1.1.0
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/lua-ffi/releases/download/v$(PKG_VERSION)
PKG_HASH:=85651aa772de5717b85fc6ac9bba61f0dc20155707fad8099245f97ecd301996

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"
endif

ifeq ($(BUILD_VARIANT),lua53)
  CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include/lua5.3"
endif

ifeq ($(BUILD_VARIANT),lua54)
  CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include/lua5.4"
endif

define Package/lua-ffi/install
	$(INSTALL_DIR) $(1)/usr/lib/lua
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)/usr/lib/lua
endef

define Package/lua-ffi-lua5.3/install
	$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)/usr/local/lib/lua/5.3
endef

define Package/lua-ffi-lua5.4/install
	$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)/usr/local/lib/lua/5.4
endef

$(eval $(call BuildPackage,lua-ffi))
$(eval $(call BuildPackage,lua-ffi-lua5.3))
$(eval $(call BuildPackage,lua-ffi-lua5.4))