x86: make crashdump works
[openwrt/staging/wigyori.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:=4
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/liblua5.3
44 $(call Package/lua53/Default)
45 SUBMENU:=
46 SECTION:=libs
47 CATEGORY:=Libraries
48 TITLE+= (libraries)
49 ABI_VERSION:=5.3
50 endef
51
52 define Package/liblua5.3/description
53 $(call Package/lua53/Default/description)
54 This package contains the Lua shared libraries, needed by other programs.
55 endef
56
57 define Package/lua5.3
58 $(call Package/lua5.3/Default)
59 DEPENDS:=+liblua5.3
60 TITLE+= (interpreter)
61 endef
62
63 define Package/lua5.3/description
64 $(call Package/lua5.3/Default/description)
65 This package contains the Lua language interpreter.
66 endef
67
68 define Package/luac5.3
69 $(call Package/lua5.3/Default)
70 DEPENDS:=+liblua5.3
71 TITLE+= (compiler)
72 endef
73
74 define Package/luac5.3/description
75 $(call Package/lua5.3/Default/description)
76 This package contains the Lua language compiler.
77 endef
78
79 TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
80
81 define Build/Compile
82 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
83 CC="$(TARGET_CROSS)gcc" \
84 AR="$(TARGET_CROSS)ar rcu" \
85 RANLIB="$(TARGET_CROSS)ranlib" \
86 INSTALL_ROOT=/usr \
87 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
88 PKG_VERSION=$(PKG_VERSION) \
89 linux
90 rm -rf $(PKG_INSTALL_DIR)
91 mkdir -p $(PKG_INSTALL_DIR)
92 $(MAKE) -C $(PKG_BUILD_DIR) \
93 INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" \
94 install
95 endef
96
97 define Host/Configure
98 $(SED) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR)/src/luaconf.h
99 endef
100
101 ifeq ($(HOST_OS),Darwin)
102 LUA_OS:=macosx
103 else
104 ifeq ($(HOST_OS),FreeBSD)
105 LUA_OS:=freebsd
106 else
107 LUA_OS:=linux
108 endif
109 endif
110
111 define Host/Compile
112 $(MAKE) -C $(HOST_BUILD_DIR) \
113 CC="$(HOSTCC) -std=gnu99" \
114 $(LUA_OS)
115 endef
116
117 define Host/Install
118 $(MAKE) -C $(HOST_BUILD_DIR) \
119 INSTALL_TOP="$(STAGING_DIR_HOSTPKG)" \
120 install
121 endef
122
123 define Build/InstallDev
124 $(INSTALL_DIR) $(1)/usr/include/lua5.3 $(1)/usr/lib
125 $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lua{,lib,conf}.h $(1)/usr/include/lua5.3/
126 $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lua.hpp $(1)/usr/include/lua5.3/
127 $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lauxlib.h $(1)/usr/include/lua5.3/
128 $(INSTALL_DIR) $(1)/usr/lib
129 $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua5.3.{a,so*} $(1)/usr/lib/
130 $(LN) liblua5.3.so.0.0.0 $(1)/usr/lib/liblualib5.3.so
131 endef
132
133 define Package/liblua5.3/install
134 $(INSTALL_DIR) $(1)/usr/lib
135 $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua5.3.so* $(1)/usr/lib/
136 endef
137
138 define Package/lua5.3/install
139 $(INSTALL_DIR) $(1)/usr/bin
140 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.3 $(1)/usr/bin/
141 endef
142
143 define Package/luac5.3/install
144 $(INSTALL_DIR) $(1)/usr/bin
145 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.3 $(1)/usr/bin/
146 endef
147
148 $(eval $(call BuildPackage,liblua5.3))
149 $(eval $(call BuildPackage,lua5.3))
150 $(eval $(call BuildPackage,luac5.3))
151 $(eval $(call HostBuild))