packages/rrdcollect: fix linking against rrdtool by splitting it into 2 packages
[openwrt/svn-archive/archive.git] / utils / rrdcollect / Makefile
index b1867b75b2bd395f495c572c4f5b7a4197b4c082..c79d3883cf0caa5c6902146d71c376b6b16c9cdf 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2009 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,12 +9,14 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rrdcollect
 PKG_VERSION:=0.2.4
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/rrdcollect
 PKG_MD5SUM:=fd7ac95195e3e5cbab0677629505d9be
 
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -33,52 +35,107 @@ define Package/rrdcollect/Default/description
  pattern matches and perl compatible regular expressions.      
 endef
 
-define Package/rrdcollect
+define Package/rrdcollect10
 $(call Package/rrdcollect/Default)
+  TITLE:=Round-Robin Database (RRD) collecting daemon
+  PROVIDES:=rrdcollect
   DEPENDS:=+librrd1
+  VARIANT:=rrdtool10
+endef
+
+define Package/rrdcollect10/description
+$(call Package/rrdcollect/Default/description)
+ .
+ This package contains the RRD collecting daemon, linked against 
+ rrdtool-1.0.x shared library.
+endef
+
+define Package/rrdcollect12
+$(call Package/rrdcollect/Default)
   TITLE:=Round-Robin Database (RRD) collecting daemon
-  MENU:=1
+  PROVIDES:=rrdcollect
+  DEPENDS:=+librrd
+  VARIANT:=rrdtool12
 endef
 
-define Package/rrdcollect/description
+define Package/rrdcollect12/description
 $(call Package/rrdcollect/Default/description)
- This package contains the RRD collecting daemon.
+ .
+ This package contains the RRD collecting daemon, linked against 
+ rrdtool-1.2.x shared library.
 endef
 
-define Package/rrdcollect-example
+
+define Package/rrdcollect10-example
 $(call Package/rrdcollect/Default)
-  DEPENDS:=rrdcollect
   TITLE:=Example setup for RRD collecting daemon above
+  DEPENDS:=rrdcollect +rrdtool1
+  VARIANT:=rrdtool12
 endef
 
-define Package/rrdcollect-example/description
+define Package/rrdcollect10-example/description
 $(call Package/rrdcollect/Default/description)
- This package contains examples for the RRD collecting daemon.
+ .
+ This package contains examples for the RRD collecting daemon, using
+ rrdtool-1.0.x shared library and utilities.
 endef
 
-define Package/rrdcollect-example/conffiles
-/etc/rrd.conf
-/etc/rrdcollect.conf
+define Package/rrdcollect12-example
+$(call Package/rrdcollect/Default)
+  TITLE:=Example setup for RRD collecting daemon above
+  DEPENDS:=rrdcollect +rrdtool
+  VARIANT:=rrdtool12
+endef
+
+define Package/rrdcollect12-example/description
+$(call Package/rrdcollect/Default/description)
+ This package contains examples for the RRD collecting daemon, using
+ rrdtool-1.2.x shared library and utilities.
 endef
 
+
 CONFIGURE_ARGS+= \
        --enable-shared \
        --disable-static \
        --disable-rpath \
        --enable-exec \
        --without-rrdtool \
-       --with-librrd="$(STAGING_DIR)/usr/lib/rrdtool-1.0" \
+       --with-librrd \
        --without-libpcre \
        --without-libpcap \
 
 CONFIGURE_VARS+= \
        CFLAGS="$(TARGET_CFLAGS) -DSOCKET_COMM" \
 
+EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
+
+ifeq ($(BUILD_VARIANT),rrdtool10)
+
+  TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/lib/rrdtool-1.0/include $(TARGET_CPPFLAGS)
+  TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib/rrdtool-1.0/lib $(TARGET_CPPFLAGS)
+
+endif
+
+ifeq ($(BUILD_VARIANT),rrdtool12)
+
+  TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/lib/rrdtool-1.2/include $(TARGET_CPPFLAGS)
+  TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib/rrdtool-1.2/lib $(TARGET_CPPFLAGS)
+
+endif
+
 define Package/rrdcollect/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rrdcollect $(1)/usr/sbin/
 endef
 
+Package/rrdcollect10/install = $(Package/rrdcollect/install)
+Package/rrdcollect12/install = $(Package/rrdcollect/install)
+
+define Package/rrdcollect-example/conffiles
+/etc/rrd.conf
+/etc/rrdcollect.conf
+endef
+
 define Package/rrdcollect-example/install
        $(INSTALL_DIR) $(1)/etc
        $(INSTALL_DATA) ./files/rrd.conf $(1)/etc/
@@ -92,5 +149,10 @@ define Package/rrdcollect-example/install
        ln -sf /var/lib/rrdcollect/img $(1)/www/img
 endef
 
-$(eval $(call BuildPackage,rrdcollect))
-$(eval $(call BuildPackage,rrdcollect-example))
+Package/rrdcollect10-example/install = $(Package/rrdcollect-example/install)
+Package/rrdcollect12-example/install = $(Package/rrdcollect-example/install)
+
+$(eval $(call BuildPackage,rrdcollect10))
+$(eval $(call BuildPackage,rrdcollect10-example))
+$(eval $(call BuildPackage,rrdcollect12))
+$(eval $(call BuildPackage,rrdcollect12-example))