lua.mk 3.0 KB

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