Add libevent package
authorNicolas Thill <nico@openwrt.org>
Mon, 23 May 2005 19:46:08 +0000 (19:46 +0000)
committerNicolas Thill <nico@openwrt.org>
Mon, 23 May 2005 19:46:08 +0000 (19:46 +0000)
SVN-Revision: 1025

openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/libevent/Config.in [new file with mode: 0644]
openwrt/package/libevent/Makefile [new file with mode: 0644]
openwrt/package/libevent/ipkg/libevent.control [new file with mode: 0644]

index d83c2d246023ddcc9d775f68ac4d86bfefcf5758..4ec3664998a75f77007981596479e34933eafc3c 100644 (file)
@@ -79,6 +79,7 @@ source "package/xinetd/Config.in"
 comment "Libraries"
 source "package/glib/Config.in"
 source "package/libelf/Config.in"
+source "package/libevent/Config.in"
 source "package/libgd/Config.in"
 source "package/gmp/Config.in"  # libbgmp
 source "package/libtool/Config.in"  # libltdl
index c2b12f6a8bd4496b7fd60baea92b173e2c042ec0..0d88ed7bde9615289c1973fb953840067825fe26 100644 (file)
@@ -35,6 +35,7 @@ package-$(BR2_PACKAGE_KISMET) += kismet
 package-$(BR2_PACKAGE_L2TPD) += l2tpd
 package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
 package-$(BR2_PACKAGE_LIBELF) += libelf
+package-$(BR2_PACKAGE_LIBEVENT) += libevent
 package-$(BR2_PACKAGE_LIBGD) += libgd
 package-$(BR2_PACKAGE_LIBNET) += libnet
 package-$(BR2_PACKAGE_LIBOSIP2) += libosip2
diff --git a/openwrt/package/libevent/Config.in b/openwrt/package/libevent/Config.in
new file mode 100644 (file)
index 0000000..b0234c3
--- /dev/null
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_LIBEVENT
+       tristate "libevent - Event notification library for event-driven network servers"
+#      default m if CONFIG_DEVEL
+       default n
+       help
+         The libevent API provides a mechanism to execute a callback function 
+         when a specific event occurs on a file descriptor or after a timeout 
+         has been reached. Furthermore, libevent also support callbacks due 
+         to signals or regular timeouts.
+         
+         libevent is meant to replace the event loop found in event driven 
+         network servers. An application just needs to call event_dispatch() 
+         and then add or remove events dynamically without having to change 
+         the event loop.
+         
+         http://www.monkey.org/~provos/libevent/
+         
diff --git a/openwrt/package/libevent/Makefile b/openwrt/package/libevent/Makefile
new file mode 100644 (file)
index 0000000..4b00f1d
--- /dev/null
@@ -0,0 +1,83 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libevent
+PKG_VERSION:=1.1
+PKG_RELEASE:=1
+PKG_MD5SUM:=a5bd281aeb41bdaa48fbbf0495423d20
+
+PKG_SOURCE_URL:=http://www.monkey.org/~provos/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBEVENT,libevent,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+       (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+               ./configure \
+                 --target=$(GNU_TARGET_NAME) \
+                 --host=$(GNU_TARGET_NAME) \
+                 --build=$(GNU_HOST_NAME) \
+                 --program-prefix="" \
+                 --program-suffix="" \
+                 --prefix=/usr \
+                 --exec-prefix=/usr \
+                 --bindir=/usr/bin \
+                 --datadir=/usr/share \
+                 --includedir=/usr/include \
+                 --infodir=/usr/share/info \
+                 --libdir=/usr/lib \
+                 --libexecdir=/usr/lib \
+                 --localstatedir=/var \
+                 --mandir=/usr/share/man \
+                 --sbindir=/usr/sbin \
+                 --sysconfdir=/etc \
+                 $(DISABLE_LARGEFILE) \
+                 $(DISABLE_NLS) \
+                 --enable-shared \
+                 --enable-static \
+       );
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+       touch $@
+
+$(IPKG_LIBEVENT):
+       install -d -m0755 $(IDIR_LIBEVENT)/usr/lib
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libevent-$(PKG_VERSION).so.* $(IDIR_LIBEVENT)/usr/lib/
+       $(RSTRIP) $(IDIR_LIBEVENT)
+       $(IPKG_BUILD) $(IDIR_LIBEVENT) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libevent.so: $(PKG_BUILD_DIR)/.built
+       mkdir -p $(STAGING_DIR)/usr/include
+       cp -fpR $(PKG_INSTALL_DIR)/usr/include/event.h $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libevent.{a,so} $(STAGING_DIR)/usr/lib/
+       cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libevent-$(PKG_VERSION).so* $(STAGING_DIR)/usr/lib/
+       touch $@
+
+install-dev: $(STAGING_DIR)/usr/lib/libevent.so
+
+uninstall-dev:
+       rm -rf \
+         $(STAGING_DIR)/usr/include/event.h \
+         $(STAGING_DIR)/usr/lib/libevent.{a,so} \
+         $(STAGING_DIR)/usr/lib/libevent-$(PKG_VERSION).so* \
+
+compile: install-dev
+clean: uninstall-dev
diff --git a/openwrt/package/libevent/ipkg/libevent.control b/openwrt/package/libevent/ipkg/libevent.control
new file mode 100644 (file)
index 0000000..428f582
--- /dev/null
@@ -0,0 +1,6 @@
+Package: libevent
+Priority: optional
+Section: libs
+Maintainer: Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/libevent/
+Description: Event notification library for event-driven network servers