lua.mk 2.7 KB

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