From: Bernhard Reutner-Fischer Date: Thu, 28 Jun 2007 15:55:00 +0000 (-0000) Subject: - add quagga suite X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1548b21ce2fdc384b3e0e86676529d3d8b422f9b;p=buildroot.git - add quagga suite --- diff --git a/package/Config.in b/package/Config.in index 50cfc4e863..88a8e10cbc 100644 --- a/package/Config.in +++ b/package/Config.in @@ -163,6 +163,7 @@ source "package/openswan/Config.in" source "package/portmap/Config.in" source "package/pppd/Config.in" source "package/proftpd/Config.in" +source "package/quagga/Config.in" source "package/rsync/Config.in" source "package/samba/Config.in" source "package/socat/Config.in" diff --git a/package/quagga/Config.in b/package/quagga/Config.in new file mode 100644 index 0000000000..880147aa4c --- /dev/null +++ b/package/quagga/Config.in @@ -0,0 +1,113 @@ +config BR2_PACKAGE_QUAGGA + bool + default n + +comment "quagga suite" + +config BR2_PACKAGE_QUAGGA_ZEBRA + bool "quagga zebra" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_BGPD + bool "quagga bgpd" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_RIPD + bool "quagga ripd" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_RIPNGD + bool "quagga ripngd" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_OSPFD + bool "quagga ospfd" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_OSPF6D + bool "quagga ospf6d" + default n + select BR2_PACKAGE_QUAGGA + depends BR2_INET_IPV6 + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_WATCHQUAGGA + bool "quagga watchquagga" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +config BR2_PACKAGE_QUAGGA_ISISD + bool "isisd" + default n + select BR2_PACKAGE_QUAGGA + help + routing software suite, providing implementations of + OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4. + + http://www.quagga.net/ + +if BR2_PACKAGE_QUAGGA +comment "common options for quagga suite" +config BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE + bool "BGP route announcement" + default n + +config BR2_PACKAGE_QUAGGA_NETLINK + bool "quagga: use linux netlink interface" + default y + +config BR2_PACKAGE_QUAGGA_SNMP + bool "quagga: SNMP support" + default n + +config BR2_PACKAGE_QUAGGA_TCP_ZEBRA + bool "quagga: TCP/IP socket connection between zebra and proto daemon" + default n + +config BR2_PACKAGE_QUAGGA_OPAGUE_LSA + bool "quagga: OSPF Opaque-LSA with OSPFAPI support (RFC2370)" + default n + +config BR2_PACKAGE_QUAGGA_CONFIGURE + string "quagga: extra configure options" + default "" +endif diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk new file mode 100644 index 0000000000..3344d1bb2e --- /dev/null +++ b/package/quagga/quagga.mk @@ -0,0 +1,181 @@ +############################################################# +# +# quagga suite +# +############################################################# +QUAGGA_VER:=0.99.7 +QUAGGA_SOURCE:=quagga-$(QUAGGA_VER).tar.gz +QUAGGA_SITE:=http://www.quagga.net/download +QUAGGA_DIR:=$(BUILD_DIR)/quagga-$(QUAGGA_VER) +QUAGGA_CAT:=$(ZCAT) + +QUAGGA_CONFIGURE:= +ifeq ($(BR2_PACKAGE_QUAGGA_ZEBRA),y) +QUAGGA_CONFIGURE+=--enable-zebra +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=zebra +QUAGGA_BINARY=$(QUAGGA_DIR)/zebra/.libs/zebra +endif +else +QUAGGA_CONFIGURE+=--disable-zebra +endif +ifeq ($(BR2_PACKAGE_QUAGGA_BGPD),y) +QUAGGA_CONFIGURE+=--enable-bgpd +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=bgpd +QUAGGA_BINARY=$(QUAGGA_DIR)/bgpd/.libs/bgpd +endif +else +QUAGGA_CONFIGURE+=--disable-bgpd +endif +ifeq ($(BR2_PACKAGE_QUAGGA_RIPD),y) +QUAGGA_CONFIGURE+=--enable-ripd +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=ripd +QUAGGA_BINARY=$(QUAGGA_DIR)/ripd/.libs/ripd +endif +else +QUAGGA_CONFIGURE+=--disable-ripd +endif +ifeq ($(BR2_PACKAGE_QUAGGA_RIPNGD),y) +QUAGGA_CONFIGURE+=--enable-ripngd +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=ripngd +QUAGGA_BINARY=$(QUAGGA_DIR)/ripngd/.libs/ripngd +endif +else +QUAGGA_CONFIGURE+=--disable-ripngd +endif +ifeq ($(BR2_PACKAGE_QUAGGA_OSPFD),y) +QUAGGA_CONFIGURE+=--enable-ospfd +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=ospfd +QUAGGA_BINARY=$(QUAGGA_DIR)/ospfd/.libs/ospfd +endif +else +QUAGGA_CONFIGURE+=--disable-ospfd +endif +ifeq ($(BR2_PACKAGE_QUAGGA_OSPF6D),y) +QUAGGA_CONFIGURE+=--enable-ospf6d +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=ospf6d +QUAGGA_BINARY=$(QUAGGA_DIR)/ospf6d/.libs/ospf6d +endif +else +QUAGGA_CONFIGURE+=--disable-ospf6d +endif +ifeq ($(BR2_PACKAGE_QUAGGA_WATCHQUAGGA),y) +QUAGGA_CONFIGURE+=--enable-watchquagga +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=watchquagga +QUAGGA_BINARY=$(QUAGGA_DIR)/watchquagga/.libs/watchquagga +endif +else +QUAGGA_CONFIGURE+=--disable-watchquagga +endif +ifeq ($(BR2_PACKAGE_QUAGGA_ISISD),y) +QUAGGA_CONFIGURE+=--enable-isisd +ifndef QUAGGA_TARGET_BINARY +QUAGGA_TARGET_BINARY=isisd +QUAGGA_BINARY=$(QUAGGA_DIR)/isisd/.libs/isisd +endif +else +QUAGGA_CONFIGURE+=--disable-isisd +endif + + +ifeq ($(BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE),y) +QUAGGA_CONFIGURE+=--enable-bgp-announce +else +QUAGGA_CONFIGURE+=--disable-bgp-announce +endif +ifeq ($(BR2_PACKAGE_QUAGGA_NETLINK),y) +QUAGGA_CONFIGURE+=--enable-netlink +else +QUAGGA_CONFIGURE+=--disable-netlink +endif +ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y) +QUAGGA_CONFIGURE+=--enable-snmp +else +QUAGGA_CONFIGURE+=--disable-snmp +endif +ifeq ($(BR2_PACKAGE_QUAGGA_TCP_ZEBRA),y) +QUAGGA_CONFIGURE+=--enable-tcp-zebra +else +QUAGGA_CONFIGURE+=--disable-tcp-zebra +endif +ifeq ($(BR2_PACKAGE_QUAGGA_OPAGUE_LSA),y) +QUAGGA_CONFIGURE+=--enable-opaque-lsa +else +QUAGGA_CONFIGURE+=--disable-opaque-lsa +endif + +QUAGGA_CONFIGURE+=$(subst ",,$(BR2_PACKAGE_QUAGGA_CONFIGURE)) +# ") + +$(DL_DIR)/$(QUAGGA_SOURCE): + $(WGET) -P $(DL_DIR) $(QUAGGA_SITE)/$(QUAGGA_SOURCE) + +ifneq ($(QUAGGA_PATCH),) +QUAGGA_PATCH_FILE=$(DL_DIR)/$(QUAGGA_PATCH) +$(DL_DIR)/$(QUAGGA_PATCH): + $(WGET) -P $(DL_DIR) $(QUAGGA_SITE)/$(QUAGGA_PATCH) +endif +quagga-source: $(DL_DIR)/$(QUAGGA_SOURCE) $(QUAGGA_PATCH_FILE) + +$(QUAGGA_DIR)/.unpacked: $(DL_DIR)/$(QUAGGA_SOURCE) $(DL_DIR)/$(QUAGGA_PATCH) + $(QUAGGA_CAT) $(DL_DIR)/$(QUAGGA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + toolchain/patch-kernel.sh $(QUAGGA_DIR) package/quagga/ quagga\*.patch +ifneq ($(QUAGGA_PATCH),) + (cd $(QUAGGA_DIR) && $(QUAGGA_CAT) $(DL_DIR)/$(QUAGGA_PATCH) | patch -p1) + if [ -d $(QUAGGA_DIR)/debian/patches ]; then \ + toolchain/patch-kernel.sh $(QUAGGA_DIR) $(QUAGGA_DIR)/debian/patches \*.patch ; \ + fi +endif + touch $@ + +$(QUAGGA_DIR)/.configured: $(QUAGGA_DIR)/.unpacked + (cd $(QUAGGA_DIR); rm -rf config.cache; \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/usr \ + --sysconfdir=/etc \ + $(DISABLE_LARGEFILE) \ + $(DISABLE_IPV6) \ + $(QUAGGA_CONFIGURE) \ + --program-transform-name='' \ + ); + touch $@ + +$(QUAGGA_BINARY): $(QUAGGA_DIR)/.configured + $(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(QUAGGA_DIR) + +$(TARGET_DIR)/usr/sbin/$(QUAGGA_TARGET_BINARY): $(QUAGGA_BINARY) + $(MAKE) DESTDIR=$(TARGET_DIR) -C $(QUAGGA_DIR) install +ifneq ($(BR2_PACKAGE_QUAGGA_HEADERS),y) + rm -rf $(TARGET_DIR)/usr/include/quagga +endif +ifneq ($(BR2_HAVE_MANPAGES),y) + rm -rf $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/info +endif + +quagga: uclibc $(TARGET_DIR)/usr/sbin/$(QUAGGA_TARGET_BINARY) + +quagga-clean: + -$(MAKE) DESTDIR=$(TARGET_DIR) -C $(QUAGGA_DIR) uninstall + -$(MAKE) -C $(QUAGGA_DIR) clean + +quagga-dirclean: + rm -rf $(QUAGGA_DIR) +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_PACKAGE_QUAGGA)),y) +TARGETS+=quagga +endif