浏览代码

Add libevent package. I started building all the components needed for NFSv4 support of which libevent is one of them. The rest of the needed components, however, are horrific to get building.

"Steven J. Hill" 18 年之前
父节点
当前提交
491c474a4f
共有 3 个文件被更改,包括 80 次插入0 次删除
  1. 7 0
      package/libevent/Config.in
  2. 11 0
      package/libevent/libevent-time_h.patch
  3. 62 0
      package/libevent/libevent.mk

+ 7 - 0
package/libevent/Config.in

@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBEVENT
+	bool "libevent"
+	default n
+	help
+	  Userspace library for handling asynchronous notifications
+
+	  http://monkey.org/~provos/

+ 11 - 0
package/libevent/libevent-time_h.patch

@@ -0,0 +1,11 @@
+diff -ur libevent-1.2/event.c libevent-1.2-patched/event.c
+--- libevent-1.2/event.c	2006-08-12 12:41:36.000000000 -0500
++++ libevent-1.2-patched/event.c	2007-01-13 23:33:05.340351152 -0600
+@@ -41,6 +41,7 @@
+ #else 
+ #include <sys/_time.h>
+ #endif
++#include <time.h>
+ #include <sys/queue.h>
+ #include <stdio.h>
+ #include <stdlib.h>

+ 62 - 0
package/libevent/libevent.mk

@@ -0,0 +1,62 @@
+#############################################################
+#
+# libevent
+#
+#############################################################
+LIBEVENT_VER:=1.2
+LIBEVENT_SOURCE:=libevent-$(LIBEVENT_VER).tar.gz
+LIBEVENT_SITE:=http://monkey.org/~provos/
+LIBEVENT_DIR:=$(BUILD_DIR)/libevent-$(LIBEVENT_VER)
+LIBEVENT_CAT:=$(ZCAT)
+LIBEVENT_BINARY:=libevent.la
+LIBEVENT_TARGET_BINARY:=usr/lib/libevent.so
+
+$(DL_DIR)/$(LIBEVENT_SOURCE):
+	$(WGET) -P $(DL_DIR) $(LIBEVENT_SITE)/$(LIBEVENT_SOURCE)
+
+libevent-unpacked: $(LIBEVENT_DIR)/.unpacked
+$(LIBEVENT_DIR)/.unpacked: $(DL_DIR)/$(LIBEVENT_SOURCE)
+	$(LIBEVENT_CAT) $(DL_DIR)/$(LIBEVENT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+	toolchain/patch-kernel.sh $(LIBEVENT_DIR) package/libevent/ *.patch
+	touch $(LIBEVENT_DIR)/.unpacked
+
+$(LIBEVENT_DIR)/.configured: $(LIBEVENT_DIR)/.unpacked
+	(cd $(LIBEVENT_DIR); rm -rf config.cache; \
+		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		./configure \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--disable-static \
+		--with-gnu-ld \
+	);
+	touch $(LIBEVENT_DIR)/.configured
+
+$(LIBEVENT_DIR)/$(LIBEVENT_BINARY): $(LIBEVENT_DIR)/.configured
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(LIBEVENT_DIR)
+
+$(STAGING_DIR)/$(LIBEVENT_TARGET_BINARY): $(LIBEVENT_DIR)/$(LIBEVENT_BINARY)
+	make -C $(LIBEVENT_DIR) DESTDIR=$(STAGING_DIR) install
+
+$(TARGET_DIR)/$(LIBEVENT_TARGET_BINARY): $(STAGING_DIR)/$(LIBEVENT_TARGET_BINARY)
+	make -C $(LIBEVENT_DIR) DESTDIR=$(TARGET_DIR) install
+	rm -f $(TARGET_DIR)/usr/lib/libevent*.la $(TARGET_DIR)/usr/include/ev*
+
+libevent: uclibc $(TARGET_DIR)/$(LIBEVENT_TARGET_BINARY)
+
+libevent-clean:
+	rm -f $(TARGET_DIR)/$(LIBEVENT_TARGET_BINARY)
+	-$(MAKE) -C $(LIBEVENT_DIR) clean
+
+libevent-dirclean:
+	rm -rf $(LIBEVENT_DIR)
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_LIBEVENT)),y)
+TARGETS+=libevent
+endif