2
1

lua.mk 3.0 KB

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