libipfix: fix build
[packages.git] / libs / xmlrpc-c / Makefile
index 0b22b7d..08e4a1b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2010 OpenWrt.org
+# Copyright (C) 2007-2012 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:=xmlrpc-c
-PKG_REV:=2042
-PKG_VERSION:=1.24.4_r$(PKG_REV)
+PKG_REV:=2233
+PKG_VERSION:=advanced_r$(PKG_REV)
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced
+PKG_SOURCE_URL:=http://svn.code.sf.net/p/xmlrpc-c/code/advanced
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_SOURCE_PROTO:=svn
 
-PKG_FIXUP:=libtool
+PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=0
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/xmlrpc-c_common
+define Package/xmlrpc-c/Default
   SECTION:=libs
   CATEGORY:=Libraries
-  TITLE:=XML-RPC library for C/C++ (Xmlrpc-c) - common
+  TITLE:=XML-RPC library
   URL:=http://xmlrpc-c.sourceforge.net/
 endef
 
+define Package/xmlrpc-c-common
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - common
+endef
+
+define Package/xmlrpc-c-internal
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - (uses internal expat variant)
+  DEPENDS:=+xmlrpc-c-common
+#  PROVIDES:=xmlrpc-c
+  VARIANT:=internal
+endef
+
 define Package/xmlrpc-c
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=XML-RPC library for C/C++ (Xmlrpc-c)
-  URL:=http://xmlrpc-c.sourceforge.net/
-  DEPENDS:=+libxml2 +xmlrpc-c_common
+  $(call Package/xmlrpc-c/Default)
+  DEPENDS:=+xmlrpc-c-internal
 endef
 
-define Package/xmlrpc-c_client
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=XML-RPC library for C/C++ (Xmlrpc-c) - client
-  URL:=http://xmlrpc-c.sourceforge.net/
+define Package/xmlrpc-c-libxml2
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - (uses libxml2)
+  DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
+#  PROVIDES:=xmlrpc-c
+  VARIANT:=libxml2
+endef
+
+define Package/xmlrpc-c-client
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - client
   DEPENDS:=+xmlrpc-c +libcurl
 endef
 
-define Package/xmlrpc-c_server
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=XML-RPC library for C/C++ (Xmlrpc-c) - server
-  URL:=http://xmlrpc-c.sourceforge.net/
+define Package/xmlrpc-c-server
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - server
   DEPENDS:=+xmlrpc-c
 endef
 
-define Package/xmlrpc-c_server-abyss
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=XML-RPC library for C/C++ (Xmlrpc-c) - abyss server
-  URL:=http://xmlrpc-c.sourceforge.net/
-  DEPENDS:=+xmlrpc-c_server
+define Package/xmlrpc-c-abyss
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - abyss
+  DEPENDS:=+xmlrpc-c-common
+endef
+
+define Package/xmlrpc-c-server-abyss
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - abyss server
+  DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
 endef
 
-define Package/xmlrpc-c/description
+define Package/xmlrpc-c/description/Default
     Programming library for writing an XML-RPC server or client in C or C++.
     XML-RPC is a standard network protocol to allow a client program to make
     a simple remote procedure call (RPC) type request of a server.
 endef
 
+Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
+Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
+Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
+
+Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
+Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
+
 CONFIGURE_ARGS+= \
-       --enable-libxml2-backend \
        --disable-wininet-client \
        --disable-libwww-client \
        --enable-abyss-server \
        --disable-cplusplus \
-       --disable-static \
        --disable-abyss-threads \
        --disable-cgi-server
 
-# define Build/Compile
-#      ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab  gennmtab.o )
-#      $(call Build/Compile/Default)
-# endef
+ifeq ($(BUILD_VARIANT),libxml2)
+       CONFIGURE_ARGS += \
+               --enable-libxml2-backend
+endif
+
+ifeq ($(BUILD_VARIANT),internal)
+       CONFIGURE_ARGS += \
+               --disable-libxml2-backend
+endif
+
+define Build/Compile
+       ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab  gennmtab.o )
+       $(call Build/Compile/Default)
+endef
 
 define Build/InstallDev
        $(INSTALL_DIR) \
@@ -89,77 +125,94 @@ define Build/InstallDev
                $(1)/usr/lib \
                $(1)/usr/bin \
                $(2)/bin
-
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/* \
                $(1)/usr/include/
-
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
                $(1)/usr/lib/
-
        $(INSTALL_BIN) \
                $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
                $(2)/bin/
-
        $(SED) \
                's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
                $(2)/bin/xmlrpc-c-config
-
        $(SED) \
                's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
                $(2)/bin/xmlrpc-c-config
 endef
 
-define Package/xmlrpc-c/install
+define Package/xmlrpc-c-libxml2/install
        $(INSTALL_DIR) \
                $(1)/usr/lib
-
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
                $(1)/usr/lib/
 endef
 
-
-define Package/xmlrpc-c_server/install
+define Package/xmlrpc-c-internal/install
        $(INSTALL_DIR) \
                $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
+               $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
+               $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
+               $(1)/usr/lib/
+endef
 
+define Package/xmlrpc-c-server/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
                $(1)/usr/lib/
 endef
 
-define Package/xmlrpc-c_server-abyss/install
+define Package/xmlrpc-c-abyss/install
        $(INSTALL_DIR) \
                $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
+               $(1)/usr/lib/
+endef
 
+define Package/xmlrpc-c-server-abyss/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
                $(1)/usr/lib/
 endef
 
-define Package/xmlrpc-c_client/install
+define Package/xmlrpc-c-client/install
        $(INSTALL_DIR) \
                $(1)/usr/lib
-
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
                $(1)/usr/lib/
 endef
 
-define Package/xmlrpc-c_common/install
+define Package/xmlrpc-c-common/install
        $(INSTALL_DIR) \
                $(1)/usr/lib
-
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
                $(1)/usr/lib/
 endef
 
+define Package/xmlrpc-c/install
+       true
+endef
 
 $(eval $(call BuildPackage,xmlrpc-c))
-$(eval $(call BuildPackage,xmlrpc-c_server))
-$(eval $(call BuildPackage,xmlrpc-c_server-abyss))
-$(eval $(call BuildPackage,xmlrpc-c_client))
-$(eval $(call BuildPackage,xmlrpc-c_common))
+$(eval $(call BuildPackage,xmlrpc-c-common))
+$(eval $(call BuildPackage,xmlrpc-c-libxml2))
+$(eval $(call BuildPackage,xmlrpc-c-internal))
+$(eval $(call BuildPackage,xmlrpc-c-server))
+$(eval $(call BuildPackage,xmlrpc-c-abyss))
+$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
+$(eval $(call BuildPackage,xmlrpc-c-client))