2 # Copyright (C) 2006-2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
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
:=2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333
21 PKG_LICENSE_FILES
:=COPYRIGHT
23 HOST_PATCH_DIR
:= .
/patches-host
25 include $(INCLUDE_DIR
)/package.mk
26 include $(INCLUDE_DIR
)/host-build.mk
28 define Package
/lua
/Default
32 TITLE
:=Lua programming language
33 URL
:=http
://www.lua.org
/
34 MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>
37 define Package
/lua
/Default
/description
38 Lua is a powerful light-weight programming language designed for extending
39 applications. Lua is also frequently used
as a general-purpose
, stand-alone
40 language. Lua is free software.
44 $(call Package
/lua
/Default
)
52 define Package
/liblua
/description
53 $(call Package
/lua
/Default
/description
)
54 This package contains the Lua shared libraries
, needed by other programs.
58 $(call Package
/lua
/Default
)
63 define Package
/lua
/description
64 $(call Package
/lua
/Default
/description
)
65 This package contains the Lua language interpreter.
69 $(call Package
/lua
/Default
)
74 define Package
/luac
/description
75 $(call Package
/lua
/Default
/description
)
76 This package contains the Lua language compiler.
79 define Package
/lua-examples
80 $(call Package
/lua
/Default
)
85 define Package
/lua-examples
/description
86 $(call Package
/lua
/Default
/description
)
87 This package contains Lua language examples.
90 define Build
/Configure
93 TARGET_CFLAGS
+= -DLUA_USE_LINUX
$(FPIC
) -std
=gnu99
96 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
) \
97 CC
="$(TARGET_CROSS)gcc" \
98 AR
="$(TARGET_CROSS)ar rcu" \
99 RANLIB
="$(TARGET_CROSS)ranlib" \
101 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
102 MYLDFLAGS
="$(TARGET_LDFLAGS) $(if $(CONFIG_USE_GLIBC),-lm -ldl)" \
103 PKG_VERSION
=$(PKG_VERSION
) \
105 rm -rf
$(PKG_INSTALL_DIR
)
106 mkdir
-p
$(PKG_INSTALL_DIR
)
107 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
108 INSTALL_TOP
="$(PKG_INSTALL_DIR)/usr" \
112 define Host
/Configure
113 $(SED
) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR
)/src
/luaconf.h
116 ifeq ($(HOST_OS
),Darwin
)
119 ifeq ($(HOST_OS
),FreeBSD
)
127 $(MAKE
) -C
$(HOST_BUILD_DIR
) \
128 CC
="$(HOSTCC) -std=gnu99" \
133 $(MAKE
) -C
$(HOST_BUILD_DIR
) \
134 INSTALL_TOP
="$(STAGING_DIR_HOSTPKG)" \
137 $(LN
) $(STAGING_DIR_HOSTPKG
)/bin
/lua5.1
$(STAGING_DIR_HOSTPKG
)/bin
/lua
138 $(LN
) $(STAGING_DIR_HOSTPKG
)/bin
/luac5.1
$(STAGING_DIR_HOSTPKG
)/bin
/luac
141 define Build
/InstallDev
142 $(INSTALL_DIR
) $(1)/usr
/include
143 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lua
{,lib
,conf
}.h
$(1)/usr
/include/
144 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lua.hpp
$(1)/usr
/include/
145 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lauxlib.h
$(1)/usr
/include/
146 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lnum_config.h
$(1)/usr
/include/
147 $(INSTALL_DIR
) $(1)/usr
/lib
148 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/liblua.
{a
,so
*} $(1)/usr
/lib
/
149 $(LN
) liblua.so.
$(PKG_VERSION
) $(1)/usr
/lib
/liblualib.so
150 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
151 $(CP
) $(PKG_BUILD_DIR
)/etc
/lua.
pc $(1)/usr
/lib
/pkgconfig
/
154 define Package
/liblua
/install
155 $(INSTALL_DIR
) $(1)/usr
/lib
156 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/liblua.so.
* $(1)/usr
/lib
/
159 define Package
/lua
/install
160 $(INSTALL_DIR
) $(1)/usr
/bin
161 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/lua5.1
$(1)/usr
/bin
/
162 $(LN
) lua5.1
$(1)/usr
/bin
/lua
165 define Package
/luac
/install
166 $(INSTALL_DIR
) $(1)/usr
/bin
167 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/luac5.1
$(1)/usr
/bin
/
168 $(LN
) luac5.1
$(1)/usr
/bin
/luac
171 define Package
/lua-examples
/install
172 $(INSTALL_DIR
) $(1)/usr
/share
/lua
/examples
173 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/test/*.lua \
174 $(1)/usr
/share
/lua
/examples
/
177 $(eval
$(call BuildPackage
,liblua
))
178 $(eval
$(call BuildPackage
,lua
))
179 $(eval
$(call BuildPackage
,luac
))
180 $(eval
$(call BuildPackage
,lua-examples
))
181 $(eval
$(call HostBuild
))