lua5.3: package Lua 5.3 version
[openwrt/staging/blogic.git] / package / utils / lua5.3 / Makefile
1 #
2 # Copyright (C) 2006-2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=lua
11 PKG_VERSION:=5.3.5
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
16 http://www.tecgraf.puc-rio.br/lua/ftp/
17 PKG_HASH:=0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac
18 PKG_BUILD_PARALLEL:=1
19
20 PKG_LICENSE:=MIT
21 PKG_LICENSE_FILES:=COPYRIGHT
22
23 HOST_PATCH_DIR := ./patches-host
24
25 include $(INCLUDE_DIR)/package.mk
26 include $(INCLUDE_DIR)/host-build.mk
27
28 define Package/lua5.3/Default
29 SUBMENU:=Lua
30 SECTION:=lang
31 CATEGORY:=Languages
32 TITLE:=Lua programming language
33 URL:=http://www.lua.org/
34 MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
35 endef
36
37 define Package/lua5.3/Default/description
38 Lua is a powerful, efficient, lightweight, embeddable scripting language. It
39 supports procedural programming, object-oriented programming, functional
40 programming, data-driven programming, and data description.
41 endef
42
43 define Package/lua5.3
44 $(call Package/lua5.3/Default)
45 TITLE+= (interpreter)
46 PROVIDES:=lua
47 endef
48
49 define Package/lua5.3/description
50 $(call Package/lua5.3/Default/description)
51 This package contains the Lua language interpreter.
52 endef
53
54 define Package/luac5.3
55 $(call Package/lua5.3/Default)
56 TITLE+= (compiler)
57 PROVIDES:=luac
58 endef
59
60 define Package/luac5.3/description
61 $(call Package/lua5.3/Default/description)
62 This package contains the Lua language compiler.
63 endef
64
65 TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
66
67 define Build/Compile
68 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
69 CC="$(TARGET_CROSS)gcc" \
70 AR="$(TARGET_CROSS)ar rcu" \
71 RANLIB="$(TARGET_CROSS)ranlib" \
72 INSTALL_ROOT=/usr \
73 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
74 PKG_VERSION=$(PKG_VERSION) \
75 linux
76 rm -rf $(PKG_INSTALL_DIR)
77 mkdir -p $(PKG_INSTALL_DIR)
78 $(MAKE) -C $(PKG_BUILD_DIR) \
79 INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" \
80 install
81 endef
82
83 define Host/Configure
84 $(SED) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR)/src/luaconf.h
85 endef
86
87 ifeq ($(HOST_OS),Darwin)
88 LUA_OS:=macosx
89 else
90 ifeq ($(HOST_OS),FreeBSD)
91 LUA_OS:=freebsd
92 else
93 LUA_OS:=linux
94 endif
95 endif
96
97 define Host/Compile
98 $(MAKE) -C $(HOST_BUILD_DIR) \
99 CC="$(HOSTCC) -std=gnu99" \
100 $(LUA_OS)
101 endef
102
103 define Host/Install
104 $(MAKE) -C $(HOST_BUILD_DIR) \
105 INSTALL_TOP="$(STAGING_DIR_HOSTPKG)" \
106 install
107 endef
108
109 define Build/InstallDev
110 $(INSTALL_DIR) $(1)/usr/include
111 $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lua{,lib,conf}.h $(1)/usr/include/
112 $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lauxlib.h $(1)/usr/include/
113 endef
114
115 define Package/lua5.3/install
116 $(INSTALL_DIR) $(1)/usr/bin
117 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.3 $(1)/usr/bin/
118 endef
119
120 define Package/luac5.3/install
121 $(INSTALL_DIR) $(1)/usr/bin
122 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.3 $(1)/usr/bin/
123 endef
124
125 $(eval $(call BuildPackage,lua5.3))
126 $(eval $(call BuildPackage,luac5.3))
127 $(eval $(call HostBuild))