lua: switch to double precision for floats
[openwrt/openwrt.git] / package / lua / Makefile
index 0c2e8e24e907c28b8fd08acf3d7c6d62f89acab0..fdbbddc4015502ce169350804fa437f8609d4d03 100644 (file)
@@ -1,16 +1,15 @@
 # 
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lua
 PKG_VERSION:=5.1.4
-PKG_RELEASE:=3
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
@@ -19,14 +18,16 @@ PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
        http://www.tecgraf.puc-rio.br/lua/ftp/
 PKG_MD5SUM:=d0870f2de55d59c1c8419f36e8fac150
 
-include $(INCLUDE_DIR)/host-build.mk
+HOST_PATCH_DIR := ./patches-host
+
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
 
 define Package/lua/Default
-  SUBMENU:=LUA
+  SUBMENU:=Lua
   SECTION:=lang
   CATEGORY:=Languages
-  TITLE:=LUA programming language
+  TITLE:=Lua programming language
   URL:=http://www.lua.org/
 endef
 
@@ -46,7 +47,7 @@ endef
 
 define Package/liblua/description
 $(call Package/lua/Default/description)
- This package contains the LUA shared libraries, needed by other programs.
+ This package contains the Lua shared libraries, needed by other programs.
 endef
 
 define Package/lua
@@ -57,7 +58,7 @@ endef
 
 define Package/lua/description
 $(call Package/lua/Default/description)
- This package contains the LUA language interpreter.
+ This package contains the Lua language interpreter.
 endef
 
 define Package/luac
@@ -68,7 +69,7 @@ endef
 
 define Package/luac/description
 $(call Package/lua/Default/description)
- This package contains the LUA language compiler.
+ This package contains the Lua language compiler.
 endef
 
 define Package/lua-examples
@@ -79,25 +80,13 @@ endef
 
 define Package/lua-examples/description
 $(call Package/lua/Default/description)
- This package contains LUA language examples.
+ This package contains Lua language examples.
 endef
 
-# Host build
-define Host/Configure
-
+define Build/Configure
 endef
 
-define Host/Compile
-       $(MAKE) -C $(HOST_BUILD_DIR)/src luac-host
-endef
-
-define Host/Install
-       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/luac-host $(STAGING_DIR_HOST)/bin/luac
-endef
-
-# Target build
-
-TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC)
+TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
 
 ifneq ($(CONFIG_USE_EGLIBC),)
   ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
@@ -105,8 +94,6 @@ ifneq ($(CONFIG_USE_EGLIBC),)
   endif
 endif
 
-Build/Configure=$(Host/Configure)
-
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CROSS)gcc" \
@@ -124,14 +111,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
@@ -155,8 +170,9 @@ define Package/lua-examples/install
                $(1)/usr/share/lua/examples/
 endef
 
-$(eval $(call HostBuild))
 $(eval $(call BuildPackage,liblua))
 $(eval $(call BuildPackage,lua))
 $(eval $(call BuildPackage,luac))
 $(eval $(call BuildPackage,lua-examples))
+$(eval $(call HostBuild))
+