hc
2024-03-26 e0728245c89800c2038c23308f2d88969d5b41c8
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
################################################################################
#
# lua
#
################################################################################
 
ifeq ($(BR2_PACKAGE_LUA_5_4),y)
LUA_VERSION = 5.4.3
else ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUA_VERSION = 5.3.6
else
LUA_VERSION = 5.1.5
endif
LUA_SITE = https://www.lua.org/ftp
LUA_INSTALL_STAGING = YES
LUA_LICENSE = MIT
ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y)
LUA_LICENSE_FILES = doc/readme.html
else
LUA_LICENSE_FILES = COPYRIGHT
endif
LUA_CPE_ID_VENDOR = lua
 
LUA_PROVIDES = luainterpreter
 
LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX
 
ifeq ($(BR2_PACKAGE_LUA_5_4),y)
LUA_CFLAGS += -DLUA_COMPAT_5_3
else ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUA_CFLAGS += -DLUA_COMPAT_5_2
endif
 
ifeq ($(BR2_STATIC_LIBS),y)
LUA_BUILDMODE = static
else
LUA_BUILDMODE = dynamic
LUA_CFLAGS += -DLUA_USE_DLOPEN
LUA_MYLIBS += -ldl
endif
 
ifeq ($(BR2_PACKAGE_LUA_READLINE),y)
LUA_DEPENDENCIES += readline ncurses
LUA_MYLIBS += -lreadline -lhistory -lncurses
LUA_CFLAGS += -DLUA_USE_READLINE
else
ifeq ($(BR2_PACKAGE_LUA_LINENOISE),y)
LUA_DEPENDENCIES += linenoise
LUA_MYLIBS += -llinenoise
LUA_CFLAGS += -DLUA_USE_LINENOISE
endif
endif
 
ifeq ($(BR2_PACKAGE_LUA_32BITS),y)
define LUA_32BITS_LUACONF
   $(SED) 's/\/\* #define LUA_32BITS \*\//#define LUA_32BITS/' $(@D)/src/luaconf.h
endef
 
LUA_POST_PATCH_HOOKS += LUA_32BITS_LUACONF
endif
 
define HOST_LUA_LUACONF
   $(SED) 's|#define LUA_ROOT.*|#define LUA_ROOT "$(HOST_DIR)/usr/"|' $(@D)/src/luaconf.h
endef
HOST_LUA_POST_PATCH_HOOKS += HOST_LUA_LUACONF
 
HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX
ifeq ($(BR2_PACKAGE_LUA_5_3),y)
HOST_LUA_CFLAGS += -DLUA_COMPAT_5_2
endif
HOST_LUA_MYLIBS = -ldl
 
define LUA_BUILD_CMDS
   $(TARGET_MAKE_ENV) $(MAKE) \
   CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
   CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \
   MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
   MYLDFLAGS="$(TARGET_LDFLAGS)" \
   BUILDMODE=$(LUA_BUILDMODE) \
   PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
   sed -e "s/@VERSION@/$(LUA_VERSION)/;s/@ABI@/$(LUAINTERPRETER_ABIVER)/;s/@MYLIBS@/$(LUA_MYLIBS)/" \
       package/lua/lua.pc.in > $(@D)/lua.pc
endef
 
define HOST_LUA_BUILD_CMDS
   $(HOST_MAKE_ENV) $(MAKE) \
   CFLAGS="$(HOST_LUA_CFLAGS)" \
   MYLDFLAGS="$(HOST_LDFLAGS)" \
   MYLIBS="$(HOST_LUA_MYLIBS)" \
   BUILDMODE=dynamic \
   PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
   sed -e "s/@VERSION@/$(LUA_VERSION)/;s/@ABI@/$(LUAINTERPRETER_ABIVER)/;s/@MYLIBS@/$(HOST_LUA_MYLIBS)/" \
       package/lua/lua.pc.in > $(@D)/lua.pc
endef
 
define LUA_INSTALL_STAGING_CMDS
   $(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install
   $(INSTALL) -m 0644 -D $(@D)/lua.pc \
       $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
endef
 
define LUA_INSTALL_TARGET_CMDS
   $(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(TARGET_DIR)/usr" -C $(@D) install
endef
 
define HOST_LUA_INSTALL_CMDS
   $(HOST_MAKE_ENV) $(MAKE) INSTALL_TOP="$(HOST_DIR)" -C $(@D) install
   $(INSTALL) -m 0644 -D $(@D)/lua.pc \
       $(HOST_DIR)/lib/pkgconfig/lua.pc
endef
 
$(eval $(generic-package))
$(eval $(host-generic-package))