lua: enable parallel builds
[openwrt/svn-archive/archive.git] / package / lua / Makefile
index e60be8f4b9e7e42784f06df06b5116b73c30d0f8..fca7747cd52ad556e0ab9f210158f8984bca7685 100644 (file)
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2006-2009 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,17 +8,21 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lua
-PKG_VERSION:=5.1.4
-PKG_RELEASE:=3
+PKG_VERSION:=5.1.5
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
        http://ftp.gwdg.de/pub/languages/lua/ \
        http://mirrors.dotsrc.org/lua/ \
        http://www.tecgraf.puc-rio.br/lua/ftp/
-PKG_MD5SUM:=d0870f2de55d59c1c8419f36e8fac150
+PKG_MD5SUM:=2e115fe26e435e33b0d5c022e4490567
+PKG_BUILD_PARALLEL:=1
+
+HOST_PATCH_DIR := ./patches-host
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
 
 define Package/lua/Default
   SUBMENU:=Lua
@@ -26,6 +30,7 @@ define Package/lua/Default
   CATEGORY:=Languages
   TITLE:=Lua programming language
   URL:=http://www.lua.org/
+  MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
 endef
 
 define Package/lua/Default/description
@@ -83,7 +88,7 @@ endef
 define Build/Configure
 endef
 
-TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC)
+TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
 
 ifneq ($(CONFIG_USE_EGLIBC),)
   ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
@@ -92,7 +97,7 @@ ifneq ($(CONFIG_USE_EGLIBC),)
 endif
 
 define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
+       $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CROSS)gcc" \
                AR="$(TARGET_CROSS)ar rcu" \
                RANLIB="$(TARGET_CROSS)ranlib" \
@@ -108,14 +113,42 @@ define Build/Compile
                install
 endef
 
+define Host/Configure
+       $(SED) 's,"/usr/local/","$(STAGING_DIR_HOST)/",' $(HOST_BUILD_DIR)/src/luaconf.h
+endef
+
+ifeq ($(HOST_OS),Darwin)
+       LUA_OS:=macosx
+else
+       ifeq ($(HOST_OS),FreeBSD)
+               LUA_OS:=freebsd
+       else
+               LUA_OS:=linux
+       endif
+endif
+
+define Host/Compile
+       $(MAKE) -C $(HOST_BUILD_DIR) \
+               CC="$(HOSTCC) -std=gnu99" \
+               $(LUA_OS)
+endef
+
+define Host/Install
+       $(MAKE) -C $(HOST_BUILD_DIR) \
+               INSTALL_TOP="$(STAGING_DIR_HOST)" \
+               install
+endef
+
 define Build/InstallDev
-       mkdir -p $(1)/usr/include
+       $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/lua{,lib,conf}.h $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/lauxlib.h $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/lnum_config.h $(1)/usr/include/
-       mkdir -p $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.{a,so*} $(1)/usr/lib/
        ln -sf liblua.so.$(PKG_VERSION) $(1)/usr/lib/liblualib.so
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_BUILD_DIR)/etc/lua.pc $(1)/usr/lib/pkgconfig/
 endef
 
 define Package/liblua/install
@@ -143,3 +176,5 @@ $(eval $(call BuildPackage,liblua))
 $(eval $(call BuildPackage,lua))
 $(eval $(call BuildPackage,luac))
 $(eval $(call BuildPackage,lua-examples))
+$(eval $(call HostBuild))
+