#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=rrdtool1
PKG_VERSION:=1.0.50
PKG_RELEASE:=1

PKG_BUILD_DIR:=$(BUILD_DIR)/rrdtool-$(PKG_VERSION)
PKG_SOURCE:=rrdtool-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
	http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.0.x \
	http://www.fastmirrors.org/rrdtool/rrdtool-1.0.x \
	ftp://ftp.sunet.se/pub/network/monitoring/rrdtool/rrdtool-1.0.x
PKG_MD5SUM:=c466e2e7df95fa8e318e46437da87686

include $(INCLUDE_DIR)/package.mk

define Package/librrd1
  SECTION:=libs
  CATEGORY:=Libraries
  DEPENDS:=+zlib
  TITLE:=Round Robin Database (RRD) management library
  URL:=http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
endef

define Package/librrd1/description
Round Robin Database (RRD) management library.
	RRD is the Acronym for Round Robin Database. RRD is a system to store and
	display time-series data (i.e. network bandwidth, machine-room temperature,
	server load average). It stores the data in a very compact way that will
	not expand over time, and it presents useful graphs by processing the data
	to enforce a certain data density. It can be used either via simple wrapper
	scripts (from shell or Perl) or via frontends that poll network devices and
	put friendly user interface on it.

	This is version 1.0.x with cgilib-0.4, gd1.3 and libpng-1.0.9 linked into
	librrd.so. The library is much smaller compared to the 1.2.x version with
	separate dynamic linked libraries.

	This package contains a shared library, used by other programs.
endef

define Package/rrdcgi1
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+librrd1
  TITLE:=Round Robin Database (RRD) CGI graphing tool
  URL:=http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
endef

define Package/rrdcgi1/description
Round Robin Database (RRD) CGI graphing tool.
	RRD is the Acronym for Round Robin Database. RRD is a system to store and
	display time-series data (i.e. network bandwidth, machine-room temperature,
	server load average). It stores the data in a very compact way that will
	not expand over time, and it presents useful graphs by processing the data
	to enforce a certain data density. It can be used either via simple wrapper
	scripts (from shell or Perl) or via frontends that poll network devices and
	put friendly user interface on it.

	This is version 1.0.x with cgilib-0.4, gd1.3 and libpng-1.0.9 linked into
	librrd.so. The library is much smaller compared to the 1.2.x version with
	separate dynamic linked libraries.

	This package contains the rrdcgi tool used to create web pages containing
	RRD graphs based on templates.
endef

define Package/rrdtool1
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+librrd1
  TITLE:=Round Robin Database (RRD) management tools
  URL:=http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
endef

define Package/rrdtool1/description
Round Robin Database (RRD) management tools.
	RRD is the Acronym for Round Robin Database. RRD is a system to store and
	display time-series data (i.e. network bandwidth, machine-room temperature,
	server load average). It stores the data in a very compact way that will
	not expand over time, and it presents useful graphs by processing the data
	to enforce a certain data density. It can be used either via simple wrapper
	scripts (from shell or Perl) or via frontends that poll network devices and
	put friendly user interface on it.

	This is version 1.0.x with cgilib-0.4, gd1.3 and libpng-1.0.9 linked into
	librrd.so. The library is much smaller compared to the 1.2.x version with
	separate dynamic linked libraries.

	This package contains command line tools used to manage RRDs.
endef

TARGET_CFLAGS += $(FPIC) --std=c99

CONFIGURE_ARGS += \
	$(DISABLE_LARGEFILE) \
	$(DISABLE_NLS) \
	--enable-shared=yes \
	--enable-static=yes \
	--disable-rpath \
	--with-gnu-ld \
	--enable-local-zlib

CONFIGURE_VARS += \
	ac_cv_path_PERL=no \
	rd_cv_ieee_works=yes \
	shrext_cmds=".so"

define Build/Compile
	rm -rf $(PKG_INSTALL_DIR)
	mkdir -p $(PKG_INSTALL_DIR)
	$(MAKE) -C $(PKG_BUILD_DIR) \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		shrext_cmds=".so" \
		all install
endef

define Package/rrdtool1/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rrd{tool,update} $(1)/usr/bin/
endef

define Package/rrdcgi1/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rrdcgi $(1)/usr/bin/
endef

define Package/librrd1/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/librrd.so.* $(1)/usr/lib/
endef

define Build/InstallDev
	mkdir -p $(1)/usr/include
	$(CP) $(PKG_INSTALL_DIR)/usr/include/rrd.h $(1)/usr/include/
	mkdir -p $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/librrd.{a,so*} $(1)/usr/lib/
endef

$(eval $(call BuildPackage,librrd1))
$(eval $(call BuildPackage,rrdcgi1))
$(eval $(call BuildPackage,rrdtool1))