1################################################################################ 2# 3# lua 4# 5################################################################################ 6 7ifeq ($(BR2_PACKAGE_LUA_5_4),y) 8LUA_VERSION = 5.4.6 9else ifeq ($(BR2_PACKAGE_LUA_5_3),y) 10LUA_VERSION = 5.3.6 11else 12LUA_VERSION = 5.1.5 13endif 14LUA_SITE = https://www.lua.org/ftp 15LUA_INSTALL_STAGING = YES 16LUA_LICENSE = MIT 17ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y) 18LUA_LICENSE_FILES = doc/readme.html 19else 20LUA_LICENSE_FILES = COPYRIGHT 21endif 22LUA_CPE_ID_VENDOR = lua 23 24LUA_PROVIDES = luainterpreter 25 26LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX 27 28ifeq ($(BR2_PACKAGE_LUA_5_4),y) 29LUA_CFLAGS += -DLUA_COMPAT_5_3 30else ifeq ($(BR2_PACKAGE_LUA_5_3),y) 31LUA_CFLAGS += -DLUA_COMPAT_5_2 32endif 33 34ifeq ($(BR2_PACKAGE_LUA_CVT_N2S),) 35LUA_CFLAGS += -DLUA_NOCVTN2S 36endif 37 38ifeq ($(BR2_PACKAGE_LUA_CVT_S2N),) 39LUA_CFLAGS += -DLUA_NOCVTS2N 40endif 41 42ifeq ($(BR2_STATIC_LIBS),y) 43LUA_BUILDMODE = static 44else 45LUA_BUILDMODE = dynamic 46LUA_CFLAGS += -DLUA_USE_DLOPEN 47LUA_MYLIBS += -ldl 48endif 49 50ifeq ($(BR2_PACKAGE_LUA_READLINE),y) 51LUA_DEPENDENCIES += readline ncurses 52LUA_MYLIBS += -lreadline -lhistory -lncurses 53LUA_CFLAGS += -DLUA_USE_READLINE 54else 55ifeq ($(BR2_PACKAGE_LUA_LINENOISE),y) 56LUA_DEPENDENCIES += linenoise 57LUA_MYLIBS += -llinenoise 58LUA_CFLAGS += -DLUA_USE_LINENOISE 59endif 60endif 61 62ifeq ($(BR2_PACKAGE_LUA_32BITS),y) 63define LUA_32BITS_LUACONF 64 $(SED) 's/\/\* #define LUA_32BITS \*\//#define LUA_32BITS/' $(@D)/src/luaconf.h 65endef 66 67LUA_POST_PATCH_HOOKS += LUA_32BITS_LUACONF 68endif 69 70define HOST_LUA_LUACONF 71 $(SED) 's|#define LUA_ROOT.*|#define LUA_ROOT "$(HOST_DIR)/"|' $(@D)/src/luaconf.h 72endef 73HOST_LUA_POST_PATCH_HOOKS += HOST_LUA_LUACONF 74 75HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX 76ifeq ($(BR2_PACKAGE_LUA_5_3),y) 77HOST_LUA_CFLAGS += -DLUA_COMPAT_5_2 78endif 79HOST_LUA_MYLIBS = -ldl 80 81define LUA_BUILD_CMDS 82 $(TARGET_MAKE_ENV) $(MAKE) \ 83 CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \ 84 CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \ 85 MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \ 86 MYLDFLAGS="$(TARGET_LDFLAGS)" \ 87 BUILDMODE=$(LUA_BUILDMODE) \ 88 PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all 89 sed -e "s/@VERSION@/$(LUA_VERSION)/;s/@ABI@/$(LUAINTERPRETER_ABIVER)/;s/@MYLIBS@/$(LUA_MYLIBS)/" \ 90 package/lua/lua.pc.in > $(@D)/lua.pc 91endef 92 93define HOST_LUA_BUILD_CMDS 94 $(HOST_MAKE_ENV) $(MAKE) \ 95 CFLAGS="$(HOST_LUA_CFLAGS)" \ 96 MYLDFLAGS="$(HOST_LDFLAGS)" \ 97 MYLIBS="$(HOST_LUA_MYLIBS)" \ 98 BUILDMODE=dynamic \ 99 PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all 100 sed -e "s/@VERSION@/$(LUA_VERSION)/;s/@ABI@/$(LUAINTERPRETER_ABIVER)/;s/@MYLIBS@/$(HOST_LUA_MYLIBS)/" \ 101 package/lua/lua.pc.in > $(@D)/lua.pc 102endef 103 104define LUA_INSTALL_STAGING_CMDS 105 $(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install 106 $(INSTALL) -m 0644 -D $(@D)/lua.pc \ 107 $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc 108endef 109 110define LUA_INSTALL_TARGET_CMDS 111 $(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(TARGET_DIR)/usr" -C $(@D) install 112endef 113 114define HOST_LUA_INSTALL_CMDS 115 $(HOST_MAKE_ENV) $(MAKE) INSTALL_TOP="$(HOST_DIR)" -C $(@D) install 116 $(INSTALL) -m 0644 -D $(@D)/lua.pc \ 117 $(HOST_DIR)/lib/pkgconfig/lua.pc 118endef 119 120$(eval $(generic-package)) 121$(eval $(host-generic-package)) 122