aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/u-boot
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-10-06 19:09:16 +0200
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-10-06 19:09:16 +0200
commita266b5263d6fa6a86172f2ccd7c6f4b4d23fd1d6 (patch)
tree7732d2b5abbc867299fa2927531ddbb4a81035a2 /recipes/u-boot
parent9aedaeda167e1adf065974bf078ce5615a60b38e (diff)
downloadopenembedded-a266b5263d6fa6a86172f2ccd7c6f4b4d23fd1d6.tar.gz
u-boot : moved unused files to obsolete dir
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/u-boot')
-rw-r--r--recipes/u-boot/files/boot-menu-gfx-fix-openmoko-bug-1140.patch29
-rw-r--r--recipes/u-boot/files/dfu-second-patch.patch53
-rw-r--r--recipes/u-boot/files/fix-data-abort-from-sd-ombug799.patch11
-rw-r--r--recipes/u-boot/files/omap-usb-dev-dfu.patch14478
-rw-r--r--recipes/u-boot/files/rootfs.patch62
-rw-r--r--recipes/u-boot/files/sffsdr-u-boot.patch830
-rw-r--r--recipes/u-boot/files/u-boot-20061030-ext2load_hex.patch14
-rw-r--r--recipes/u-boot/files/uboot-20070311-tools_makefile_ln_sf.patch26
-rw-r--r--recipes/u-boot/files/uboot-eabi-fix-HACK.patch197
-rw-r--r--recipes/u-boot/u-boot-1.2.0/uboot-qnap.diff1100
-rw-r--r--recipes/u-boot/u-boot-1.3.2/boc01/006-081205-EEPROM_INTERSIL.patch16
-rw-r--r--recipes/u-boot/u-boot-1.3.2/mpc8313e-rdb-watchdog.patch15
-rw-r--r--recipes/u-boot/u-boot-2009.01/u-boot-2009.01-exp-001-config.patch266
-rw-r--r--recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff45
-rw-r--r--recipes/u-boot/u-boot-git/beagleboard/0040-BeagleBoard-Check-for-ramdisk-on-boot.patch97
15 files changed, 0 insertions, 17239 deletions
diff --git a/recipes/u-boot/files/boot-menu-gfx-fix-openmoko-bug-1140.patch b/recipes/u-boot/files/boot-menu-gfx-fix-openmoko-bug-1140.patch
deleted file mode 100644
index c97880a01c..0000000000
--- a/recipes/u-boot/files/boot-menu-gfx-fix-openmoko-bug-1140.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- git.orig/drivers/video/cfb_console.c 2007-12-27 00:59:35.000000000 -0800
-+++ git/drivers/video/cfb_console.c 2007-12-27 08:23:42.000000000 -0800
-@@ -141,6 +141,14 @@
- #endif
-
- /*****************************************************************************/
-+/* Defines for the S3C2410 driver */
-+/*****************************************************************************/
-+#ifdef CONFIG_VIDEO_S3C2410
-+/* it actually is little-endian, but the host CPU, too ! */
-+//#define VIDEO_FB_LITTLE_ENDIAN
-+#endif
-+
-+/*****************************************************************************/
- /* Include video_fb.h after definitions of VIDEO_HW_RECTFILL etc */
- /*****************************************************************************/
- #include <video_fb.h>
-@@ -309,6 +317,11 @@
- #define SHORTSWAP32(x) (x)
- #endif
-
-+#ifdef CONFIG_VIDEO_S3C2410
-+#undef SHORTSWAP32
-+#define SHORTSWAP32(x) ((((x) & 0xffff) << 16) | (((x) >> 16) & 0xffff))
-+#endif
-+
- #if defined(DEBUG) || defined(DEBUG_CFB_CONSOLE)
- #define PRINTD(x) printf(x)
- #else
diff --git a/recipes/u-boot/files/dfu-second-patch.patch b/recipes/u-boot/files/dfu-second-patch.patch
deleted file mode 100644
index be56e88110..0000000000
--- a/recipes/u-boot/files/dfu-second-patch.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-commit 123a795c1f7a3f427672dfba6dfc4d0e5056488b
-Author: Diego Dompe <ddompe@Aleph.(none)>
-Date: Wed May 6 14:00:21 2009 -0600
-
- Fix mappings issues
-
-diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
-index 2699e0f..bada5e2 100644
---- a/drivers/serial/usbtty.c
-+++ b/drivers/serial/usbtty.c
-@@ -50,7 +50,7 @@
- * Defines
- */
- #define NUM_CONFIGS 1
--#define MAX_INTERFACES 2
-+#define MAX_INTERFACES 3
- #define NUM_ENDPOINTS 3
- #define ACM_TX_ENDPOINT 3
- #define ACM_RX_ENDPOINT 2
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 0086618..a97d232 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -58,7 +58,7 @@
- */
- #define CONFIG_ENV_SIZE SZ_128K /* Total Size Environment */
- /* Sector */
--#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_128K)
-+#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_128K + 0x10000)
- #define CONFIG_SYS_GBL_DATA_SIZE 128 /* bytes reserved for */
- /* initial data */
-
-@@ -170,7 +170,8 @@
-
- #define CONFIG_JFFS2_NAND
- #define CONFIG_JFFS2_CMDLINE
--#define MTDPARTS_DEFAULT "mtdparts=nand0:32k(x-loader),2400k(u-boot),128k(u-boot_env),4096(kernel),-(fs)"
-+#define MTDIDS_DEFAULT "nand0=omapnand"
-+#define MTDPARTS_DEFAULT "mtdparts=omapnand:512k(x-loader),1920k(u-boot),128k(u-boot_env),4096k(kernel),-(fs)"
-
- /* Environment information */
- #define CONFIG_BOOTDELAY 10
-@@ -199,6 +200,7 @@
- "run nandargs; " \
- "nboot kernel; " \
- "bootm ${loadaddr}\0" \
-+ "mtdparts=omapnand:512k(x-loader),1920k(u-boot),128k(u-boot_env),4096k(kernel),-(fs)\0" \
- "usbtty=cdc_acm\0"\
- "stdout=serial,usbtty\0" \
- "stdin=serial,usbtty\0" \
-diff --git a/tools/dfu-util/configure b/tools/dfu-util/configure
-old mode 100644
-new mode 100755
diff --git a/recipes/u-boot/files/fix-data-abort-from-sd-ombug799.patch b/recipes/u-boot/files/fix-data-abort-from-sd-ombug799.patch
deleted file mode 100644
index 98b84430ad..0000000000
--- a/recipes/u-boot/files/fix-data-abort-from-sd-ombug799.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- git.orig/fs/ext2/ext2fs.c 2007-12-13 23:16:13.000000000 -0800
-+++ git/fs/ext2/ext2fs.c 2007-12-13 23:16:41.000000000 -0800
-@@ -472,7 +472,7 @@
- return (0);
- }
- if (dirent.namelen != 0) {
-- char filename[dirent.namelen + 1];
-+ char filename[256];
- ext2fs_node_t fdiro;
- int type = FILETYPE_UNKNOWN;
-
diff --git a/recipes/u-boot/files/omap-usb-dev-dfu.patch b/recipes/u-boot/files/omap-usb-dev-dfu.patch
deleted file mode 100644
index f4a8d08d9f..0000000000
--- a/recipes/u-boot/files/omap-usb-dev-dfu.patch
+++ /dev/null
@@ -1,14478 +0,0 @@
-commit 988a83b84142fccb850b82a6cd14b2b4979f1720
-Author: Diego Dompe <ddompe@Aleph.(none)>
-Date: Fri May 1 16:51:21 2009 -0600
-
- First pass of porting the DFU patches
-
-diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
-index 2624e6f..2699e0f 100644
---- a/drivers/serial/usbtty.c
-+++ b/drivers/serial/usbtty.c
-@@ -28,6 +28,8 @@
- #include "usbtty.h"
- #include "usb_cdc_acm.h"
- #include "usbdescriptors.h"
-+#include <usb_dfu_descriptors.h>
-+#include <usb_dfu.h>
-
- #ifdef DEBUG
- #define TTYDBG(fmt,args...)\
-@@ -101,7 +103,7 @@ extern struct usb_string_descriptor **usb_strings;
- static unsigned short rx_endpoint = 0;
- static unsigned short tx_endpoint = 0;
- static unsigned short interface_count = 0;
--static struct usb_string_descriptor *usbtty_string_table[STR_COUNT];
-+static struct usb_string_descriptor *usbtty_string_table[NUM_STRINGS];
-
- /* USB Descriptor Strings */
- static u8 wstrLang[4] = {4,USB_DT_STRING,0x9,0x4};
-@@ -151,6 +153,10 @@ struct acm_config_desc {
- /* Slave Interface */
- struct usb_interface_descriptor data_class_interface;
- struct usb_endpoint_descriptor data_endpoints[NUM_ENDPOINTS-1];
-+#ifdef CONFIG_USBD_DFU
-+ struct usb_interface_descriptor uif_dfu;
-+ struct usb_dfu_func_descriptor func_dfu;
-+#endif
- } __attribute__((packed));
-
- static struct acm_config_desc acm_configuration_descriptors[NUM_CONFIGS] = {
-@@ -161,7 +167,11 @@ static struct acm_config_desc acm_configuration_descriptors[NUM_CONFIGS] = {
- .bDescriptorType = USB_DT_CONFIG,
- .wTotalLength =
- cpu_to_le16(sizeof(struct acm_config_desc)),
-- .bNumInterfaces = NUM_ACM_INTERFACES,
-+#ifdef CONFIG_USBD_DFU
-+ .bNumInterfaces = NUM_ACM_INTERFACES +1,
-+#else
-+ .bNumInterfaces = NUM_ACM_INTERFACES,
-+#endif
- .bConfigurationValue = 1,
- .iConfiguration = STR_CONFIG,
- .bmAttributes =
-@@ -260,6 +270,11 @@ static struct acm_config_desc acm_configuration_descriptors[NUM_CONFIGS] = {
- .bInterval = 0xFF,
- },
- },
-+#ifdef CONFIG_USBD_DFU
-+ /* Interface 3 */
-+ .uif_dfu = DFU_RT_IF_DESC,
-+ .func_dfu = DFU_FUNC_DESC,
-+#endif
- },
- };
-
-@@ -370,7 +385,7 @@ static int fill_buffer (circbuf_t * buf);
- void usbtty_poll (void);
-
- /* utility function for converting char* to wide string used by USB */
--static void str2wide (char *str, u16 * wide)
-+void str2wide (char *str, u16 * wide)
- {
- int i;
- for (i = 0; i < strlen (str) && str[i]; i++){
-@@ -639,6 +654,9 @@ static void usbtty_init_instances (void)
- device_instance->bus = bus_instance;
- device_instance->configurations = NUM_CONFIGS;
- device_instance->configuration_instance_array = config_instance;
-+#ifdef CONFIG_USBD_DFU
-+ dfu_init_instance(device_instance);
-+#endif
-
- /* initialize bus instance */
- memset (bus_instance, 0, sizeof (struct usb_bus_instance));
-@@ -759,7 +777,11 @@ static void usbtty_init_terminal_type(short type)
- &acm_configuration_descriptors;
-
- /* Interface count */
-+#ifdef CONFIG_USBD_DFU
-+ interface_count = NUM_ACM_INTERFACES + 1;
-+#else
- interface_count = NUM_ACM_INTERFACES;
-+#endif
- break;
-
- /* BULK IN/OUT & Default */
-diff --git a/drivers/serial/usbtty.h b/drivers/serial/usbtty.h
-index 35a5e9e..dc502df 100644
---- a/drivers/serial/usbtty.h
-+++ b/drivers/serial/usbtty.h
-@@ -80,4 +80,10 @@
- #define STR_CTRL_INTERFACE 0x06
- #define STR_COUNT 0x07
-
-+#ifdef CONFIG_USBD_DFU
-+#define NUM_STRINGS DFU_STR_COUNT
-+#else
-+#define NUM_STRINGS STR_COUNT
-+#endif
-+
- #endif
-diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
-index ab98ac7..16ce383 100644
---- a/drivers/usb/Makefile
-+++ b/drivers/usb/Makefile
-@@ -50,6 +50,7 @@ COBJS-$(CONFIG_OMAP1610) += usbdcore_omap1510.o
- COBJS-$(CONFIG_MPC885_FAMILY) += usbdcore_mpc8xx.o
- COBJS-$(CONFIG_MUSB) += usbdcore_musb.o
- COBJS-$(CONFIG_TWL4030_USB) += twl4030_usb.o
-+COBJS-$(CONFIG_USBD_DFU) += usbdfu.o
- endif
-
- COBJS := $(COBJS-y)
-diff --git a/drivers/usb/usbdcore.c b/drivers/usb/usbdcore.c
-index 53ed669..f2ac755 100644
---- a/drivers/usb/usbdcore.c
-+++ b/drivers/usb/usbdcore.c
-@@ -31,6 +31,7 @@
-
- #include <malloc.h>
- #include "usbdcore.h"
-+#include <usb_dfu.h>
-
- #define MAX_INTERFACES 2
-
-@@ -209,6 +210,10 @@ struct usb_alternate_instance *usbd_device_alternate_instance (struct usb_device
- */
- struct usb_device_descriptor *usbd_device_device_descriptor (struct usb_device_instance *device, int port)
- {
-+#ifdef CONFIG_USBD_DFU
-+ if (device->dfu_state != DFU_STATE_appIDLE)
-+ return device->dfu_dev_desc;
-+#endif
- return (device->device_descriptor);
- }
-
-@@ -229,6 +234,10 @@ struct usb_configuration_descriptor *usbd_device_configuration_descriptor (struc
- if (!(configuration_instance = usbd_device_configuration_instance (device, port, configuration))) {
- return NULL;
- }
-+#ifdef CONFIG_USBD_DFU
-+ if (device->dfu_state != DFU_STATE_appIDLE)
-+ return (&device->dfu_cfg_desc->ucfg);
-+#endif
- return (configuration_instance->configuration_descriptor);
- }
-
-@@ -250,6 +259,13 @@ struct usb_interface_descriptor *usbd_device_interface_descriptor (struct usb_de
- if (!(interface_instance = usbd_device_interface_instance (device, port, configuration, interface))) {
- return NULL;
- }
-+#ifdef CONFIG_USBD_DFU
-+ if (device->dfu_state != DFU_STATE_appIDLE) {
-+ if (alternate < 0 || alternate >= DFU_NUM_ALTERNATES)
-+ return NULL;
-+ return &device->dfu_cfg_desc->uif[alternate];
-+ }
-+#endif
- if ((alternate < 0) || (alternate >= interface_instance->alternates)) {
- return NULL;
- }
-@@ -622,6 +638,12 @@ void usbd_device_event_irq (struct usb_device_instance *device, usb_device_event
- case DEVICE_RESET:
- device->device_state = STATE_DEFAULT;
- device->address = 0;
-+#ifdef CONFIG_USBD_DFU
-+ if (device->dfu_state == DFU_STATE_appDETACH) {
-+ debug("DFU SWITCH\n");
-+ device->dfu_state = DFU_STATE_dfuIDLE;
-+ }
-+#endif
- break;
-
- case DEVICE_ADDRESS_ASSIGNED:
-@@ -680,4 +702,7 @@ void usbd_device_event_irq (struct usb_device_instance *device, usb_device_event
- /* usbdbg("calling device->event"); */
- device->event(device, event, data);
- }
-+#ifdef CONFIG_USBD_DFU
-+ dfu_event(device, event, data);
-+#endif
- }
-diff --git a/drivers/usb/usbdcore_ep0.c b/drivers/usb/usbdcore_ep0.c
-index f6e017d..a916bee 100644
---- a/drivers/usb/usbdcore_ep0.c
-+++ b/drivers/usb/usbdcore_ep0.c
-@@ -52,6 +52,9 @@
-
- #include <common.h>
- #include "usbdcore.h"
-+#ifdef CONFIG_USBD_DFU
-+#include <usb_dfu.h>
-+#endif
-
- #if 0
- #define dbg_ep0(lvl,fmt,args...) serial_printf("[%s] %s:%d: "fmt"\n",__FILE__,__FUNCTION__,__LINE__,##args)
-@@ -224,6 +227,7 @@ static int ep0_get_descriptor (struct usb_device_instance *device,
-
- case USB_DESCRIPTOR_TYPE_CONFIGURATION:
- {
-+ int bNumInterface;
- struct usb_configuration_descriptor
- *configuration_descriptor;
- struct usb_device_descriptor *device_descriptor;
-@@ -276,7 +280,24 @@ static int ep0_get_descriptor (struct usb_device_instance *device,
- case USB_DESCRIPTOR_TYPE_ENDPOINT:
- serial_printf("USB_DESCRIPTOR_TYPE_ENDPOINT - error not implemented\n");
- return -1;
-+ /* This really means "Class Specific Descriptor #1 == USB_DT_DFU */
- case USB_DESCRIPTOR_TYPE_HID:
-+#ifdef CONFIG_USBD_DFU
-+ {
-+ int bNumInterface =
-+ le16_to_cpu(urb->device_request.wIndex);
-+
-+ /* In runtime mode, we only respond to the DFU INTERFACE,
-+ * whereas in DFU mode, we respond for all intrfaces */
-+ if (device->dfu_state != DFU_STATE_appIDLE &&
-+ device->dfu_state != DFU_STATE_appDETACH ||
-+ bNumInterface == CONFIG_USBD_DFU_INTERFACE) {
-+ memcpy(urb->buffer,&device->dfu_cfg_desc->func_dfu,sizeof(struct usb_dfu_func_descriptor));
-+ urb->actual_length = sizeof(struct usb_dfu_func_descriptor);
-+ } else
-+ return -1;
-+ }
-+#else /* CONFIG_USBD_DFU */
- {
- serial_printf("USB_DESCRIPTOR_TYPE_HID - error not implemented\n");
- return -1; /* unsupported at this time */
-@@ -304,6 +325,7 @@ static int ep0_get_descriptor (struct usb_device_instance *device,
- max);
- #endif
- }
-+#endif /* CONFIG_USBD_DFU */
- break;
- case USB_DESCRIPTOR_TYPE_REPORT:
- {
-@@ -405,6 +427,24 @@ int ep0_recv_setup (struct urb *urb)
- le16_to_cpu (request->wLength),
- USBD_DEVICE_REQUESTS (request->bRequest));
-
-+#ifdef CONFIG_USBD_DFU
-+ if ((request->bmRequestType & 0x3f) == USB_TYPE_DFU &&
-+ (device->dfu_state != DFU_STATE_appIDLE ||
-+ le16_to_cpu(request->wIndex) == CONFIG_USBD_DFU_INTERFACE)) {
-+ int rc = dfu_ep0_handler(urb);
-+ switch (rc) {
-+ case DFU_EP0_NONE:
-+ case DFU_EP0_UNHANDLED:
-+ break;
-+ case DFU_EP0_ZLP:
-+ case DFU_EP0_DATA:
-+ return 0;
-+ case DFU_EP0_STALL:
-+ return -1;
-+ }
-+ }
-+#endif /* CONFIG_USB_DFU */
-+
- /* handle USB Standard Request (c.f. USB Spec table 9-2) */
- if ((request->bmRequestType & USB_REQ_TYPE_MASK) != 0) {
- if(device->device_state <= STATE_CONFIGURED){
-diff --git a/drivers/usb/usbdfu.c b/drivers/usb/usbdfu.c
-new file mode 100644
-index 0000000..9adf951
---- /dev/null
-+++ b/drivers/usb/usbdfu.c
-@@ -0,0 +1,1024 @@
-+/*
-+ * (C) 2007 by OpenMoko, Inc.
-+ * Author: Harald Welte <laforge@openmoko.org>
-+ *
-+ * based on existing SAM7DFU code from OpenPCD:
-+ * (C) Copyright 2006 by Harald Welte <hwelte@hmw-consulting.de>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ *
-+ * TODO:
-+ * - make NAND support reasonably self-contained and put in apropriate
-+ * ifdefs
-+ * - add some means of synchronization, i.e. block commandline access
-+ * while DFU transfer is in progress, and return to commandline once
-+ * we're finished
-+ * - add VERIFY support after writing to flash
-+ * - sanely free() resources allocated during first uppload/download
-+ * request when aborting
-+ * - sanely free resources when another alternate interface is selected
-+ *
-+ * Maybe:
-+ * - add something like uImage or some other header that provides CRC
-+ * checking?
-+ * - make 'dnstate' attached to 'struct usb_device_instance'
-+ */
-+
-+#include <config.h>
-+#if defined(CONFIG_USBD_DFU)
-+
-+#include <common.h>
-+
-+#include <malloc.h>
-+#include <linux/types.h>
-+#include <linux/list.h>
-+#include <asm/errno.h>
-+#include <usbdcore.h>
-+#include <usb_dfu.h>
-+#include <usb_dfu_descriptors.h>
-+#include <usb_dfu_trailer.h>
-+
-+#include <nand.h>
-+#include <jffs2/load_kernel.h>
-+int mtdparts_init(void);
-+extern struct list_head devices;
-+
-+#include "../serial/usbtty.h" /* for STR_* defs */
-+
-+#define RET_NOTHING 0
-+#define RET_ZLP 1
-+#define RET_STALL 2
-+
-+volatile enum dfu_state *system_dfu_state; /* for 3rd parties */
-+
-+
-+struct dnload_state {
-+ nand_info_t *nand;
-+ struct part_info *part;
-+ unsigned int part_net_size; /* net sizee (excl. bad blocks) of part */
-+
-+ nand_erase_options_t erase_opts;
-+
-+ unsigned char *ptr; /* pointer to next empty byte in buffer */
-+ unsigned int off; /* offset of current erase page in flash chip */
-+ unsigned char *buf; /* pointer to allocated erase page buffer */
-+
-+ /* unless doing an atomic transfer, we use the static buffer below.
-+ * This saves us from having to clean up dynamic allications in the
-+ * various error paths of the code. Also, it will always work, no
-+ * matter what the memory situation is. */
-+ unsigned char _buf[0x20000]; /* FIXME: depends flash page size */
-+};
-+
-+static struct dnload_state _dnstate;
-+
-+static int dfu_trailer_matching(const struct uboot_dfu_trailer *trailer)
-+{
-+ if (trailer->magic != UBOOT_DFU_TRAILER_MAGIC ||
-+ trailer->version != UBOOT_DFU_TRAILER_V1 ||
-+ trailer->vendor != CONFIG_USBD_VENDORID ||
-+ (trailer->product != CONFIG_USBD_PRODUCTID_CDCACM &&
-+ trailer->product != CONFIG_USBD_PRODUCTID_GSERIAL))
-+ return 0;
-+#ifdef CONFIG_REVISION_TAG
-+ if (trailer->revision != get_board_rev())
-+ return 0;
-+#endif
-+
-+ return 1;
-+}
-+
-+static struct part_info *get_partition_nand(int idx)
-+{
-+ struct mtd_device *dev;
-+ struct part_info *part;
-+ struct list_head *pentry;
-+ int i;
-+
-+ if (mtdparts_init())
-+ return NULL;
-+ if (list_empty(&devices))
-+ return NULL;
-+
-+ dev = list_entry(devices.next, struct mtd_device, link);
-+ i = 0;
-+ list_for_each(pentry, &dev->parts) {
-+ if (i == idx) {
-+ part = list_entry(pentry, struct part_info, link);
-+ return part;
-+ }
-+ i++;
-+ }
-+
-+ return NULL;
-+}
-+
-+#define LOAD_ADDR ((unsigned char *)CONFIG_USBD_DFU_LOAD_ADDR)
-+
-+static int initialize_ds_nand(struct usb_device_instance *dev, struct dnload_state *ds)
-+{
-+ ds->part = get_partition_nand(dev->alternate - 1);
-+ if (!ds->part) {
-+ printf("DFU: unable to find partition %u\b", dev->alternate-1);
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errADDRESS;
-+ return RET_STALL;
-+ }
-+ ds->nand = &nand_info[ds->part->dev->id->num];
-+ ds->off = ds->part->offset;
-+ ds->part_net_size = ds->part->size;
-+
-+ if (ds->nand->erasesize > sizeof(ds->_buf)) {
-+ printf("*** Warning - NAND ERASESIZE bigger than static buffer\n");
-+ ds->buf = malloc(ds->nand->erasesize);
-+ if (!ds->buf) {
-+ printf("DFU: can't allocate %u bytes\n", ds->nand->erasesize);
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errADDRESS;
-+ return RET_STALL;
-+ }
-+ } else
-+ ds->buf = ds->_buf;
-+
-+ ds->ptr = ds->buf;
-+
-+ memset(&ds->erase_opts, 0, sizeof(ds->erase_opts));
-+ ds->erase_opts.quiet = 1;
-+ /* FIXME: do this more dynamic */
-+ if (!strcmp(ds->part->name, "rootfs"))
-+ ds->erase_opts.jffs2 = 1;
-+
-+ debug("initialize_ds_nand(dev=%p, ds=%p): ", dev, ds);
-+ debug("nand=%p, ptr=%p, buf=%p, off=0x%x\n", ds->nand, ds->ptr, ds->buf, ds->off);
-+
-+ return RET_NOTHING;
-+}
-+
-+static int erase_flash_verify_nand(struct urb *urb, struct dnload_state *ds,
-+ unsigned long erasesize, unsigned long size)
-+{
-+ struct usb_device_instance *dev = urb->device;
-+ int rc;
-+
-+ debug("erase_flash_verify_nand(urb=%p, ds=%p, erase=0x%x size=0x%x)\n",
-+ urb, ds, erasesize, size);
-+
-+ if (erasesize == ds->nand->erasesize) {
-+ /* we're only writing a single block and need to
-+ * do bad block skipping / offset adjustments our own */
-+ while (ds->nand->block_isbad(ds->nand, ds->off)) {
-+ debug("SKIP_ONE_BLOCK(0x%08x)!!\n", ds->off);
-+ ds->off += ds->nand->erasesize;
-+ }
-+ }
-+
-+ /* we have finished one eraseblock, flash it */
-+ ds->erase_opts.offset = ds->off;
-+ ds->erase_opts.length = erasesize;
-+ debug("Erasing 0x%x bytes @ offset 0x%x (jffs=%u)\n",
-+ ds->erase_opts.length, ds->erase_opts.offset,
-+ ds->erase_opts.jffs2);
-+ rc = nand_erase_opts(ds->nand, &ds->erase_opts);
-+ if (rc) {
-+ debug("Error erasing\n");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errERASE;
-+ return RET_STALL;
-+ }
-+
-+ debug("Writing 0x%x bytes @ offset 0x%x\n", size, ds->off);
-+ rc = nand_write_skip_bad(ds->nand, ds->off,size,ds->buf);
-+ if (rc) {
-+ debug("Error writing\n");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errWRITE;
-+ return RET_STALL;
-+ }
-+
-+ ds->off += size;
-+ ds->ptr = ds->buf;
-+
-+ /* FIXME: implement verify! */
-+ return RET_NOTHING;
-+}
-+
-+static int erase_tail_clean_nand(struct urb *urb, struct dnload_state *ds)
-+{
-+ struct usb_device_instance *dev = urb->device;
-+ int rc;
-+
-+ ds->erase_opts.offset = ds->off;
-+ ds->erase_opts.length = ds->part->size - (ds->off - ds->part->offset);
-+ debug("Erasing tail of 0x%x bytes @ offset 0x%x (jffs=%u)\n",
-+ ds->erase_opts.length, ds->erase_opts.offset,
-+ ds->erase_opts.jffs2);
-+ rc = nand_erase_opts(ds->nand, &ds->erase_opts);
-+ if (rc) {
-+ printf("Error erasing tail\n");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errERASE;
-+ return RET_STALL;
-+ }
-+
-+ ds->off += ds->erase_opts.length; /* for consistency */
-+
-+ return RET_NOTHING;
-+}
-+
-+/* Read the next erase blcok from NAND into buffer */
-+static int read_next_nand(struct urb *urb, struct dnload_state *ds)
-+{
-+ struct usb_device_instance *dev = urb->device;
-+ int rc;
-+
-+ debug("Reading 0x%x@0x%x to 0x%08p\n", ds->nand->erasesize,
-+ ds->off, ds->buf);
-+ rc = nand_read_skip_bad(ds->nand, ds->off, ds->nand->erasesize, ds->buf);
-+ if (rc) {
-+ debug("Error reading\n");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errWRITE;
-+ return RET_STALL;
-+ }
-+ ds->off += ds->nand->erasesize;
-+ ds->ptr = ds->buf;
-+
-+ return RET_NOTHING;
-+}
-+
-+
-+static int handle_dnload(struct urb *urb, u_int16_t val, u_int16_t len, int first)
-+{
-+ struct usb_device_instance *dev = urb->device;
-+ struct dnload_state *ds = &_dnstate;
-+ unsigned int actual_len = len;
-+ unsigned int remain_len;
-+ unsigned long size;
-+ int rc;
-+
-+ debug("download(len=%u, first=%u) ", len, first);
-+
-+ if (len > CONFIG_USBD_DFU_XFER_SIZE) {
-+ /* Too big. Not that we'd really care, but it's a
-+ * DFU protocol violation */
-+ debug("length exceeds flash page size ");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errADDRESS;
-+ return RET_STALL;
-+ }
-+
-+ if (first) {
-+ /* Make sure that we have a valid mtd partition table */
-+ char *mtdp = getenv("mtdparts");
-+ if (!mtdp)
-+ run_command("mtdparts default",0);
-+ }
-+
-+ if (len == 0) {
-+ debug("zero-size write -> MANIFEST_SYNC ");
-+ dev->dfu_state = DFU_STATE_dfuMANIFEST_SYNC;
-+
-+ /* cleanup */
-+ switch (dev->alternate) {
-+ char buf[12];
-+ case 0:
-+ sprintf(buf, "%lx", ds->ptr - ds->buf);
-+ setenv("filesize", buf);
-+ ds->ptr = ds->buf;
-+ break;
-+ case 1:
-+ if (ds->ptr >
-+ ds->buf + sizeof(struct uboot_dfu_trailer)) {
-+ struct uboot_dfu_trailer trailer;
-+ dfu_trailer_mirror(&trailer, ds->ptr);
-+ if (!dfu_trailer_matching(&trailer)) {
-+ printf("DFU TRAILER NOT OK\n");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errTARGET;
-+ return RET_STALL;
-+ }
-+
-+ rc = erase_flash_verify_nand(urb, ds,
-+ ds->part->size,
-+ ds->part_net_size);
-+/// /* re-write dynenv marker in OOB */
-+/// run_command("dynenv set u-boot_env", 0);
-+ }
-+ ds->nand = NULL;
-+ free(ds->buf);
-+ ds->ptr = ds->buf = ds->_buf;
-+ break;
-+ default:
-+ rc = 0;
-+ if (ds->ptr > ds->buf)
-+ rc = erase_flash_verify_nand(urb, ds,
-+ ds->nand->erasesize,
-+ ds->nand->erasesize);
-+ /* rootfs partition */
-+ if (!rc && !strcmp(ds->part->name, "rootfs"))
-+ rc = erase_tail_clean_nand(urb, ds);
-+
-+ ds->nand = NULL;
-+ break;
-+ }
-+
-+ return RET_ZLP;
-+ }
-+
-+ if (urb->actual_length != len) {
-+ debug("urb->actual_length(%u) != len(%u) ?!? ",
-+ urb->actual_length, len);
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errADDRESS;
-+ return RET_STALL;
-+ }
-+
-+ if (first && ds->buf && ds->buf != ds->_buf && ds->buf != LOAD_ADDR) {
-+ free(ds->buf);
-+ ds->buf = ds->_buf;
-+ }
-+
-+ switch (dev->alternate) {
-+ case 0:
-+ if (first) {
-+ printf("Starting DFU DOWNLOAD to RAM (0x%08p)\n",
-+ LOAD_ADDR);
-+ ds->buf = LOAD_ADDR;
-+ ds->ptr = ds->buf;
-+ }
-+
-+ memcpy(ds->ptr, urb->buffer, len);
-+ ds->ptr += len;
-+ break;
-+ default:
-+ if (first) {
-+ rc = initialize_ds_nand(dev, ds);
-+ if (rc)
-+ return rc;
-+ printf("Starting DFU DOWNLOAD to partition '%s'\n",
-+ ds->part->name);
-+ }
-+
-+ size = ds->nand->erasesize;
-+ remain_len = ds->buf + size - ds->ptr;
-+ if (remain_len < len)
-+ actual_len = remain_len;
-+
-+ memcpy(ds->ptr, urb->buffer, actual_len);
-+ ds->ptr += actual_len;
-+
-+ /* check partition end */
-+ if (ds->off + (ds->ptr - ds->buf) > ds->part->offset + ds->part->size) {
-+ printf("End of write exceeds partition end\n");
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errADDRESS;
-+ return RET_STALL;
-+ }
-+
-+ if (ds->ptr >= ds->buf + size) {
-+ rc = erase_flash_verify_nand(urb, ds,
-+ ds->nand->erasesize,
-+ ds->nand->erasesize);
-+ if (rc)
-+ return rc;
-+ /* copy remainder of data into buffer */
-+ memcpy(ds->ptr, urb->buffer + actual_len, len - actual_len);
-+ ds->ptr += (len - actual_len);
-+ }
-+ break;
-+ }
-+
-+ return RET_ZLP;
-+}
-+
-+static int handle_upload(struct urb *urb, u_int16_t val, u_int16_t len, int first)
-+{
-+ struct usb_device_instance *dev = urb->device;
-+ struct dnload_state *ds = &_dnstate;
-+ unsigned int remain;
-+ int rc;
-+
-+ debug("upload(val=0x%02x, len=%u, first=%u) ", val, len, first);
-+
-+ if (len > CONFIG_USBD_DFU_XFER_SIZE) {
-+ /* Too big */
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ dev->dfu_status = DFU_STATUS_errADDRESS;
-+ //udc_ep0_send_stall();
-+ debug("Error: Transfer size > CONFIG_USBD_DFU_XFER_SIZE ");
-+ return -EINVAL;
-+ }
-+
-+ switch (dev->alternate) {
-+ case 0:
-+ if (first) {
-+ printf("Starting DFU Upload of RAM (0x%08p)\n",
-+ LOAD_ADDR);
-+ ds->ptr = ds->buf;
-+ }
-+
-+ /* FIXME: end at some more dynamic point */
-+ if (ds->ptr + len > LOAD_ADDR + 0x200000)
-+ len = (LOAD_ADDR + 0x200000) - ds->ptr;
-+
-+ urb->buffer = ds->ptr;
-+ urb->actual_length = len;
-+ ds->ptr += len;
-+ break;
-+ default:
-+ if (first) {
-+ rc = initialize_ds_nand(dev, ds);
-+ if (rc)
-+ return -EINVAL;
-+ printf("Starting DFU Upload of partition '%s'\n",
-+ ds->part->name);
-+ rc = read_next_nand(urb, ds);
-+ if (rc)
-+ return -EINVAL;
-+ }
-+
-+ if (len > ds->nand->erasesize) {
-+ printf("We don't support transfers bigger than %u\n",
-+ ds->nand->erasesize);
-+ len = ds->nand->erasesize;
-+ }
-+
-+ remain = ds->nand->erasesize - (ds->ptr - ds->buf);
-+ if (len < remain)
-+ remain = len;
-+
-+ debug("copying %u bytes ", remain);
-+ urb->buffer = ds->ptr;
-+ ds->ptr += remain;
-+ urb->actual_length = remain;
-+
-+ if (ds->ptr >= ds->buf + ds->nand->erasesize &&
-+ ds->off < ds->part->offset + ds->part->size) {
-+ rc = read_next_nand(urb, ds);
-+ if (rc)
-+ return -EINVAL;
-+ if (len > remain) {
-+ debug("copying another %u bytes ", len - remain);
-+ memcpy(urb->buffer + remain, ds->ptr, len - remain);
-+ ds->ptr += (len - remain);
-+ urb->actual_length += (len - remain);
-+ }
-+ }
-+ break;
-+ }
-+
-+ debug("returning len=%u\n", len);
-+ return len;
-+}
-+
-+static void handle_getstatus(struct urb *urb, int max)
-+{
-+ struct usb_device_instance *dev = urb->device;
-+ struct dfu_status *dstat = (struct dfu_status *) urb->buffer;
-+
-+ debug("getstatus ");
-+
-+ if (!urb->buffer || urb->buffer_length < sizeof(*dstat)) {
-+ debug("invalid urb! ");
-+ return;
-+ }
-+
-+ switch (dev->dfu_state) {
-+ case DFU_STATE_dfuDNLOAD_SYNC:
-+ case DFU_STATE_dfuDNBUSY:
-+#if 0
-+ if (fsr & AT91C_MC_PROGE) {
-+ debug("errPROG ");
-+ dev->dfu_status = DFU_STATUS_errPROG;
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ } else if (fsr & AT91C_MC_LOCKE) {
-+ debug("errWRITE ");
-+ dev->dfu_status = DFU_STATUS_errWRITE;
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ } else if (fsr & AT91C_MC_FRDY) {
-+#endif
-+ debug("DNLOAD_IDLE ");
-+ dev->dfu_state = DFU_STATE_dfuDNLOAD_IDLE;
-+#if 0
-+ } else {
-+ debug("DNBUSY ");
-+ dev->dfu_state = DFU_STATE_dfuDNBUSY;
-+ }
-+#endif
-+ break;
-+ case DFU_STATE_dfuMANIFEST_SYNC:
-+ break;
-+ default:
-+ //return;
-+ break;
-+ }
-+
-+ /* send status response */
-+ dstat->bStatus = dev->dfu_status;
-+ dstat->bState = dev->dfu_state;
-+ dstat->iString = 0;
-+ /* FIXME: set dstat->bwPollTimeout */
-+ urb->actual_length = MIN(sizeof(*dstat), max);
-+
-+ /* we don't need to explicitly send data here, will
-+ * be done by the original caller! */
-+}
-+
-+static void handle_getstate(struct urb *urb, int max)
-+{
-+ debug("getstate ");
-+
-+ if (!urb->buffer || urb->buffer_length < sizeof(u_int8_t)) {
-+ debug("invalid urb! ");
-+ return;
-+ }
-+
-+ urb->buffer[0] = urb->device->dfu_state & 0xff;
-+ urb->actual_length = sizeof(u_int8_t);
-+}
-+
-+#ifndef CONFIG_USBD_PRODUCTID_DFU
-+#define CONFIG_USBD_PRODUCTID_DFU CONFIG_USBD_PRODUCTID_CDCACM
-+#endif
-+
-+static const struct usb_device_descriptor dfu_dev_descriptor = {
-+ .bLength = USB_DT_DEVICE_SIZE,
-+ .bDescriptorType = USB_DT_DEVICE,
-+ .bcdUSB = 0x0100,
-+ .bDeviceClass = 0x00,
-+ .bDeviceSubClass = 0x00,
-+ .bDeviceProtocol = 0x00,
-+ .bMaxPacketSize0 = EP0_MAX_PACKET_SIZE,
-+ .idVendor = CONFIG_USBD_VENDORID,
-+ .idProduct = CONFIG_USBD_PRODUCTID_DFU,
-+ .bcdDevice = 0x0000,
-+ .iManufacturer = DFU_STR_MANUFACTURER,
-+ .iProduct = DFU_STR_PRODUCT,
-+ .iSerialNumber = DFU_STR_SERIAL,
-+ .bNumConfigurations = 0x01,
-+};
-+
-+static const struct _dfu_desc dfu_cfg_descriptor = {
-+ .ucfg = {
-+ .bLength = USB_DT_CONFIG_SIZE,
-+ .bDescriptorType = USB_DT_CONFIG,
-+ .wTotalLength = USB_DT_CONFIG_SIZE +
-+ DFU_NUM_ALTERNATES * USB_DT_INTERFACE_SIZE +
-+ USB_DT_DFU_SIZE,
-+ .bNumInterfaces = 5,
-+ .bConfigurationValue = 1,
-+ .iConfiguration = DFU_STR_CONFIG,
-+ .bmAttributes = BMATTRIBUTE_RESERVED,
-+ .bMaxPower = 50,
-+ },
-+ .uif[0] = {
-+ .bLength = USB_DT_INTERFACE_SIZE,
-+ .bDescriptorType = USB_DT_INTERFACE,
-+ .bInterfaceNumber = 0x00,
-+ .bAlternateSetting = 0x00,
-+ .bNumEndpoints = 0x00,
-+ .bInterfaceClass = 0xfe,
-+ .bInterfaceSubClass = 0x01,
-+ .bInterfaceProtocol = 0x02,
-+ .iInterface = DFU_STR_ALT0,
-+ },
-+ .uif[1] = {
-+ .bLength = USB_DT_INTERFACE_SIZE,
-+ .bDescriptorType = USB_DT_INTERFACE,
-+ .bInterfaceNumber = 0x00,
-+ .bAlternateSetting = 0x01,
-+ .bNumEndpoints = 0x00,
-+ .bInterfaceClass = 0xfe,
-+ .bInterfaceSubClass = 0x01,
-+ .bInterfaceProtocol = 0x02,
-+ .iInterface = DFU_STR_ALT1,
-+ },
-+ .uif[2] = {
-+ .bLength = USB_DT_INTERFACE_SIZE,
-+ .bDescriptorType = USB_DT_INTERFACE,
-+ .bInterfaceNumber = 0x00,
-+ .bAlternateSetting = 0x02,
-+ .bNumEndpoints = 0x00,
-+ .bInterfaceClass = 0xfe,
-+ .bInterfaceSubClass = 0x01,
-+ .bInterfaceProtocol = 0x02,
-+ .iInterface = DFU_STR_ALT2,
-+ },
-+ .uif[3] = {
-+ .bLength = USB_DT_INTERFACE_SIZE,
-+ .bDescriptorType = USB_DT_INTERFACE,
-+ .bInterfaceNumber = 0x00,
-+ .bAlternateSetting = 0x03,
-+ .bNumEndpoints = 0x00,
-+ .bInterfaceClass = 0xfe,
-+ .bInterfaceSubClass = 0x01,
-+ .bInterfaceProtocol = 0x02,
-+ .iInterface = DFU_STR_ALT3,
-+ },
-+ .uif[4] = {
-+ .bLength = USB_DT_INTERFACE_SIZE,
-+ .bDescriptorType = USB_DT_INTERFACE,
-+ .bInterfaceNumber = 0x00,
-+ .bAlternateSetting = 0x04,
-+ .bNumEndpoints = 0x00,
-+ .bInterfaceClass = 0xfe,
-+ .bInterfaceSubClass = 0x01,
-+ .bInterfaceProtocol = 0x02,
-+ .iInterface = DFU_STR_ALT4,
-+ },
-+ .uif[5] = {
-+ .bLength = USB_DT_INTERFACE_SIZE,
-+ .bDescriptorType = USB_DT_INTERFACE,
-+ .bInterfaceNumber = 0x00,
-+ .bAlternateSetting = 0x05,
-+ .bNumEndpoints = 0x00,
-+ .bInterfaceClass = 0xfe,
-+ .bInterfaceSubClass = 0x01,
-+ .bInterfaceProtocol = 0x02,
-+ .iInterface = DFU_STR_ALT5,
-+ },
-+ .func_dfu = DFU_FUNC_DESC,
-+};
-+
-+int dfu_ep0_handler(struct urb *urb)
-+{
-+ int rc, ret = RET_NOTHING;
-+ u_int8_t req = urb->device_request.bRequest;
-+ u_int16_t val = urb->device_request.wValue;
-+ u_int16_t len = urb->device_request.wLength;
-+ struct usb_device_instance *dev = urb->device;
-+
-+ debug("dfu_ep0(req=0x%x, val=0x%x, len=%u) old_state = %u ",
-+ req, val, len, dev->dfu_state);
-+
-+ switch (dev->dfu_state) {
-+ case DFU_STATE_appIDLE:
-+ switch (req) {
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ case USB_REQ_DFU_DETACH:
-+ dev->dfu_state = DFU_STATE_appDETACH;
-+ ret = RET_ZLP;
-+ goto out;
-+ break;
-+ default:
-+ ret = RET_STALL;
-+ }
-+ break;
-+ case DFU_STATE_appDETACH:
-+ switch (req) {
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_appIDLE;
-+ ret = RET_STALL;
-+ goto out;
-+ break;
-+ }
-+ /* FIXME: implement timer to return to appIDLE */
-+ break;
-+ case DFU_STATE_dfuIDLE:
-+ switch (req) {
-+ case USB_REQ_DFU_DNLOAD:
-+ if (len == 0) {
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ goto out;
-+ }
-+ dev->dfu_state = DFU_STATE_dfuDNLOAD_SYNC;
-+ ret = handle_dnload(urb, val, len, 1);
-+ break;
-+ case USB_REQ_DFU_UPLOAD:
-+ dev->dfu_state = DFU_STATE_dfuUPLOAD_IDLE;
-+ handle_upload(urb, val, len, 1);
-+ break;
-+ case USB_REQ_DFU_ABORT:
-+ /* no zlp? */
-+ ret = RET_ZLP;
-+ break;
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ case USB_REQ_DFU_DETACH:
-+ /* Proprietary extension: 'detach' from idle mode and
-+ * get back to runtime mode in case of USB Reset. As
-+ * much as I dislike this, we just can't use every USB
-+ * bus reset to switch back to runtime mode, since at
-+ * least the Linux USB stack likes to send a number of resets
-+ * in a row :( */
-+ dev->dfu_state = DFU_STATE_dfuMANIFEST_WAIT_RST;
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ goto out;
-+ break;
-+ }
-+ break;
-+ case DFU_STATE_dfuDNLOAD_SYNC:
-+ switch (req) {
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ /* FIXME: state transition depending on block completeness */
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ goto out;
-+ }
-+ break;
-+ case DFU_STATE_dfuDNBUSY:
-+ switch (req) {
-+ case USB_REQ_DFU_GETSTATUS:
-+ /* FIXME: only accept getstatus if bwPollTimeout
-+ * has elapsed */
-+ handle_getstatus(urb, len);
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ goto out;
-+ }
-+ break;
-+ case DFU_STATE_dfuDNLOAD_IDLE:
-+ switch (req) {
-+ case USB_REQ_DFU_DNLOAD:
-+ dev->dfu_state = DFU_STATE_dfuDNLOAD_SYNC;
-+ ret = handle_dnload(urb, val, len, 0);
-+ break;
-+ case USB_REQ_DFU_ABORT:
-+ dev->dfu_state = DFU_STATE_dfuIDLE;
-+ ret = RET_ZLP;
-+ break;
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ break;
-+ }
-+ break;
-+ case DFU_STATE_dfuMANIFEST_SYNC:
-+ switch (req) {
-+ case USB_REQ_DFU_GETSTATUS:
-+ /* We're MainfestationTolerant */
-+ dev->dfu_state = DFU_STATE_dfuIDLE;
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ break;
-+ }
-+ break;
-+ case DFU_STATE_dfuMANIFEST:
-+ /* we should never go here */
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ break;
-+ case DFU_STATE_dfuMANIFEST_WAIT_RST:
-+ /* we should never go here */
-+ break;
-+ case DFU_STATE_dfuUPLOAD_IDLE:
-+ switch (req) {
-+ case USB_REQ_DFU_UPLOAD:
-+ /* state transition if less data then requested */
-+ rc = handle_upload(urb, val, len, 0);
-+ if (rc >= 0 && rc < len)
-+ dev->dfu_state = DFU_STATE_dfuIDLE;
-+ break;
-+ case USB_REQ_DFU_ABORT:
-+ dev->dfu_state = DFU_STATE_dfuIDLE;
-+ /* no zlp? */
-+ ret = RET_ZLP;
-+ break;
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ break;
-+ }
-+ break;
-+ case DFU_STATE_dfuERROR:
-+ switch (req) {
-+ case USB_REQ_DFU_GETSTATUS:
-+ handle_getstatus(urb, len);
-+ break;
-+ case USB_REQ_DFU_GETSTATE:
-+ handle_getstate(urb, len);
-+ break;
-+ case USB_REQ_DFU_CLRSTATUS:
-+ dev->dfu_state = DFU_STATE_dfuIDLE;
-+ dev->dfu_status = DFU_STATUS_OK;
-+ /* no zlp? */
-+ ret = RET_ZLP;
-+ break;
-+ default:
-+ dev->dfu_state = DFU_STATE_dfuERROR;
-+ ret = RET_STALL;
-+ break;
-+ }
-+ break;
-+ default:
-+ return DFU_EP0_UNHANDLED;
-+ break;
-+ }
-+
-+out:
-+ debug("new_state = %u, ret = %u\n", dev->dfu_state, ret);
-+
-+ switch (ret) {
-+ case RET_ZLP:
-+ //udc_ep0_send_zlp();
-+ urb->actual_length = 0;
-+ return DFU_EP0_ZLP;
-+ break;
-+ case RET_STALL:
-+ //udc_ep0_send_stall();
-+ return DFU_EP0_STALL;
-+ break;
-+ case RET_NOTHING:
-+ break;
-+ }
-+
-+ return DFU_EP0_DATA;
-+}
-+
-+void str2wide (char *str, u16 * wide);
-+static struct usb_string_descriptor *create_usbstring(char *string)
-+{
-+ struct usb_string_descriptor *strdesc;
-+ int size = sizeof(*strdesc) + strlen(string)*2;
-+
-+ if (size > 255)
-+ return NULL;
-+
-+ strdesc = malloc(size);
-+ if (!strdesc)
-+ return NULL;
-+
-+ strdesc->bLength = size;
-+ strdesc->bDescriptorType = USB_DT_STRING;
-+ str2wide(string, strdesc->wData);
-+
-+ return strdesc;
-+}
-+
-+
-+static void dfu_init_strings(struct usb_device_instance *dev)
-+{
-+ int i;
-+ struct usb_string_descriptor *strdesc;
-+
-+ strdesc = create_usbstring(CONFIG_DFU_CFG_STR);
-+ usb_strings[DFU_STR_CONFIG] = strdesc;
-+
-+ for (i = 0; i < DFU_NUM_ALTERNATES; i++) {
-+ if (i == 0) {
-+ strdesc = create_usbstring(CONFIG_DFU_ALT0_STR);
-+ } else {
-+ struct part_info *part = get_partition_nand(i-1);
-+
-+ if (part)
-+ strdesc = create_usbstring(part->name);
-+ else
-+ strdesc =
-+ create_usbstring("undefined partition");
-+ }
-+ if (!strdesc)
-+ continue;
-+ usb_strings[STR_COUNT+i+1] = strdesc;
-+ }
-+}
-+
-+int dfu_init_instance(struct usb_device_instance *dev)
-+{
-+ dev->dfu_dev_desc = &dfu_dev_descriptor;
-+ dev->dfu_cfg_desc = &dfu_cfg_descriptor;
-+ dev->dfu_state = DFU_STATE_appIDLE;
-+ dev->dfu_status = DFU_STATUS_OK;
-+
-+ if (system_dfu_state)
-+ printf("SURPRISE: system_dfu_state is already set\n");
-+ system_dfu_state = &dev->dfu_state;
-+
-+ dfu_init_strings(dev);
-+
-+ return 0;
-+}
-+
-+static int stdout_switched;
-+
-+/* event handler for usb device state events */
-+void dfu_event(struct usb_device_instance *device,
-+ usb_device_event_t event, int data)
-+{
-+ char *out;
-+
-+ switch (event) {
-+ case DEVICE_RESET:
-+ switch (device->dfu_state) {
-+ case DFU_STATE_appDETACH:
-+ device->dfu_state = DFU_STATE_dfuIDLE;
-+ out = getenv("stdout");
-+ if (out && !strcmp(out, "usbtty")) {
-+ setenv("stdin", "serial");
-+ setenv("stdout", "serial");
-+ setenv("stderr", "serial");
-+ stdout_switched = 1;
-+ }
-+ printf("DFU: Switching to DFU Mode\n");
-+ break;
-+ case DFU_STATE_dfuMANIFEST_WAIT_RST:
-+ device->dfu_state = DFU_STATE_appIDLE;
-+ printf("DFU: Switching back to Runtime mode\n");
-+ if (stdout_switched) {
-+ setenv("stdin", "usbtty");
-+ setenv("stdout", "usbtty");
-+ setenv("stderr", "usbtty");
-+ stdout_switched = 0;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+ break;
-+ case DEVICE_CONFIGURED:
-+ case DEVICE_DE_CONFIGURED:
-+ debug("SET_CONFIGURATION(%u) ", device->configuration);
-+ /* fallthrough */
-+ case DEVICE_SET_INTERFACE:
-+ debug("SET_INTERFACE(%u,%u) old_state = %u ",
-+ device->interface, device->alternate,
-+ device->dfu_state);
-+ switch (device->dfu_state) {
-+ case DFU_STATE_appIDLE:
-+ case DFU_STATE_appDETACH:
-+ case DFU_STATE_dfuIDLE:
-+ case DFU_STATE_dfuMANIFEST_WAIT_RST:
-+ /* do nothing, we're fine */
-+ break;
-+ case DFU_STATE_dfuDNLOAD_SYNC:
-+ case DFU_STATE_dfuDNBUSY:
-+ case DFU_STATE_dfuDNLOAD_IDLE:
-+ case DFU_STATE_dfuMANIFEST:
-+ device->dfu_state = DFU_STATE_dfuERROR;
-+ device->dfu_status = DFU_STATUS_errNOTDONE;
-+ /* FIXME: free malloc()ed buffer! */
-+ break;
-+ case DFU_STATE_dfuMANIFEST_SYNC:
-+ case DFU_STATE_dfuUPLOAD_IDLE:
-+ case DFU_STATE_dfuERROR:
-+ device->dfu_state = DFU_STATE_dfuERROR;
-+ device->dfu_status = DFU_STATUS_errUNKNOWN;
-+ break;
-+ }
-+ debug("new_state = %u\n", device->dfu_state);
-+ break;
-+ default:
-+ break;
-+ }
-+}
-+#endif /* CONFIG_USBD_DFU */
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index 5641ddb..0086618 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -108,6 +108,11 @@
- #define CONFIG_MUSB 1 /* Enable USB driver*/
- #define CONFIG_TWL4030_USB 1 /* Enable TWL4030 USB */
-
-+#define CONFIG_USBD_DFU 1 /* Enable DFU support */
-+#define CONFIG_USBD_DFU_XFER_SIZE 0x4000
-+#define CONFIG_USBD_DFU_INTERFACE 2
-+#define CONFIG_USBD_DFU_LOAD_ADDR 0x82000000
-+
- /* Allow console in serial and USB at the same time */
- #define CONFIG_CONSOLE_MUX 1
- #define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
-@@ -164,12 +169,8 @@
- #define CONFIG_SYS_NAND_WP
-
- #define CONFIG_JFFS2_NAND
--/* nand device jffs2 lives on */
--#define CONFIG_JFFS2_DEV "nand0"
--/* start of jffs2 partition */
--#define CONFIG_JFFS2_PART_OFFSET 0x680000
--#define CONFIG_JFFS2_PART_SIZE 0xf980000 /* size of jffs2 */
-- /* partition */
-+#define CONFIG_JFFS2_CMDLINE
-+#define MTDPARTS_DEFAULT "mtdparts=nand0:32k(x-loader),2400k(u-boot),128k(u-boot_env),4096(kernel),-(fs)"
-
- /* Environment information */
- #define CONFIG_BOOTDELAY 10
-@@ -196,7 +197,7 @@
- "bootm ${loadaddr}\0" \
- "nandboot=echo Booting from nand ...; " \
- "run nandargs; " \
-- "nand read ${loadaddr} 280000 400000; " \
-+ "nboot kernel; " \
- "bootm ${loadaddr}\0" \
- "usbtty=cdc_acm\0"\
- "stdout=serial,usbtty\0" \
-diff --git a/include/usb_dfu.h b/include/usb_dfu.h
-new file mode 100644
-index 0000000..4904196
---- /dev/null
-+++ b/include/usb_dfu.h
-@@ -0,0 +1,113 @@
-+#ifndef _DFU_H
-+#define _DFU_H
-+
-+/* USB Device Firmware Update Implementation for u-boot
-+ * (C) 2007 by OpenMoko, Inc.
-+ * Author: Harald Welte <laforge@openmoko.org>
-+ *
-+ * based on: USB Device Firmware Update Implementation for OpenPCD
-+ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de>
-+ *
-+ * This ought to be compliant to the USB DFU Spec 1.0 as available from
-+ * http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#include <asm/types.h>
-+#include <usbdescriptors.h>
-+#include <usb_dfu_descriptors.h>
-+#include <config.h>
-+
-+/* USB DFU functional descriptor */
-+#define DFU_FUNC_DESC { \
-+ .bLength = USB_DT_DFU_SIZE, \
-+ .bDescriptorType = USB_DT_DFU, \
-+ .bmAttributes = USB_DFU_CAN_UPLOAD | USB_DFU_CAN_DOWNLOAD, \
-+ .wDetachTimeOut = 0xff00, \
-+ .wTransferSize = CONFIG_USBD_DFU_XFER_SIZE, \
-+ .bcdDFUVersion = 0x0100, \
-+}
-+
-+/* USB Interface descriptor in Runtime mode */
-+#ifdef CONFIG_USB_STRING
-+#define DFU_RT_IF_DESC { \
-+ .bLength = USB_DT_INTERFACE_SIZE, \
-+ .bDescriptorType = USB_DT_INTERFACE, \
-+ .bInterfaceNumber = CONFIG_USBD_DFU_INTERFACE, \
-+ .bAlternateSetting = 0x00, \
-+ .bNumEndpoints = 0x00, \
-+ .bInterfaceClass = 0xfe, \
-+ .bInterfaceSubClass = 0x01, \
-+ .bInterfaceProtocol = 0x01, \
-+ .iInterface = 1, \
-+}
-+#else
-+#define DFU_RT_IF_DESC { \
-+ .bLength = USB_DT_INTERFACE_SIZE, \
-+ .bDescriptorType = USB_DT_INTERFACE, \
-+ .bInterfaceNumber = CONFIG_USBD_DFU_INTERFACE, \
-+ .bAlternateSetting = 0x00, \
-+ .bNumEndpoints = 0x00, \
-+ .bInterfaceClass = 0xfe, \
-+ .bInterfaceSubClass = 0x01, \
-+ .bInterfaceProtocol = 0x01, \
-+ .iInterface = 0, \
-+}
-+#endif
-+
-+#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-+
-+#define DFU_NUM_ALTERNATES 6
-+
-+#define DFU_STR_MANUFACTURER STR_MANUFACTURER
-+#define DFU_STR_PRODUCT STR_PRODUCT
-+#define DFU_STR_SERIAL STR_SERIAL
-+#define DFU_STR_CONFIG (STR_COUNT)
-+#define DFU_STR_ALT0 (STR_COUNT+1)
-+#define DFU_STR_ALT1 (STR_COUNT+2)
-+#define DFU_STR_ALT2 (STR_COUNT+3)
-+#define DFU_STR_ALT3 (STR_COUNT+4)
-+#define DFU_STR_ALT4 (STR_COUNT+5)
-+#define DFU_STR_ALT5 (STR_COUNT+6)
-+#define DFU_STR_COUNT (STR_COUNT+7)
-+
-+#define DFU_NUM_STRINGS (STR_COUNT+8)
-+
-+#define CONFIG_DFU_CFG_STR "USB Device Firmware Upgrade"
-+#define CONFIG_DFU_ALT0_STR "RAM CONFIG_USBD_DFU_LOAD_ADDR"
-+
-+struct _dfu_desc {
-+ struct usb_configuration_descriptor ucfg;
-+ struct usb_interface_descriptor uif[DFU_NUM_ALTERNATES];
-+ struct usb_dfu_func_descriptor func_dfu;
-+};
-+
-+int dfu_init_instance(struct usb_device_instance *dev);
-+
-+#define DFU_EP0_NONE 0
-+#define DFU_EP0_UNHANDLED 1
-+#define DFU_EP0_STALL 2
-+#define DFU_EP0_ZLP 3
-+#define DFU_EP0_DATA 4
-+
-+extern volatile enum dfu_state *system_dfu_state; /* for 3rd parties */
-+
-+int dfu_ep0_handler(struct urb *urb);
-+
-+void dfu_event(struct usb_device_instance *device,
-+ usb_device_event_t event, int data);
-+
-+#endif /* _DFU_H */
-diff --git a/include/usb_dfu_descriptors.h b/include/usb_dfu_descriptors.h
-new file mode 100644
-index 0000000..d4d6a4d
---- /dev/null
-+++ b/include/usb_dfu_descriptors.h
-@@ -0,0 +1,94 @@
-+#ifndef _USB_DFU_H
-+#define _USB_DFU_H
-+/* USB Device Firmware Update Implementation for OpenPCD
-+ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de>
-+ *
-+ * Protocol definitions for USB DFU
-+ *
-+ * This ought to be compliant to the USB DFU Spec 1.0 as available from
-+ * http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#include <linux/types.h>
-+
-+#define USB_DT_DFU 0x21
-+
-+struct usb_dfu_func_descriptor {
-+ u_int8_t bLength;
-+ u_int8_t bDescriptorType;
-+ u_int8_t bmAttributes;
-+#define USB_DFU_CAN_DOWNLOAD (1 << 0)
-+#define USB_DFU_CAN_UPLOAD (1 << 1)
-+#define USB_DFU_MANIFEST_TOL (1 << 2)
-+#define USB_DFU_WILL_DETACH (1 << 3)
-+ u_int16_t wDetachTimeOut;
-+ u_int16_t wTransferSize;
-+ u_int16_t bcdDFUVersion;
-+} __attribute__ ((packed));
-+
-+#define USB_DT_DFU_SIZE 9
-+
-+#define USB_TYPE_DFU (USB_TYPE_CLASS|USB_RECIP_INTERFACE)
-+
-+/* DFU class-specific requests (Section 3, DFU Rev 1.1) */
-+#define USB_REQ_DFU_DETACH 0x00
-+#define USB_REQ_DFU_DNLOAD 0x01
-+#define USB_REQ_DFU_UPLOAD 0x02
-+#define USB_REQ_DFU_GETSTATUS 0x03
-+#define USB_REQ_DFU_CLRSTATUS 0x04
-+#define USB_REQ_DFU_GETSTATE 0x05
-+#define USB_REQ_DFU_ABORT 0x06
-+
-+struct dfu_status {
-+ u_int8_t bStatus;
-+ u_int8_t bwPollTimeout[3];
-+ u_int8_t bState;
-+ u_int8_t iString;
-+} __attribute__((packed));
-+
-+#define DFU_STATUS_OK 0x00
-+#define DFU_STATUS_errTARGET 0x01
-+#define DFU_STATUS_errFILE 0x02
-+#define DFU_STATUS_errWRITE 0x03
-+#define DFU_STATUS_errERASE 0x04
-+#define DFU_STATUS_errCHECK_ERASED 0x05
-+#define DFU_STATUS_errPROG 0x06
-+#define DFU_STATUS_errVERIFY 0x07
-+#define DFU_STATUS_errADDRESS 0x08
-+#define DFU_STATUS_errNOTDONE 0x09
-+#define DFU_STATUS_errFIRMWARE 0x0a
-+#define DFU_STATUS_errVENDOR 0x0b
-+#define DFU_STATUS_errUSBR 0x0c
-+#define DFU_STATUS_errPOR 0x0d
-+#define DFU_STATUS_errUNKNOWN 0x0e
-+#define DFU_STATUS_errSTALLEDPKT 0x0f
-+
-+enum dfu_state {
-+ DFU_STATE_appIDLE = 0,
-+ DFU_STATE_appDETACH = 1,
-+ DFU_STATE_dfuIDLE = 2,
-+ DFU_STATE_dfuDNLOAD_SYNC = 3,
-+ DFU_STATE_dfuDNBUSY = 4,
-+ DFU_STATE_dfuDNLOAD_IDLE = 5,
-+ DFU_STATE_dfuMANIFEST_SYNC = 6,
-+ DFU_STATE_dfuMANIFEST = 7,
-+ DFU_STATE_dfuMANIFEST_WAIT_RST = 8,
-+ DFU_STATE_dfuUPLOAD_IDLE = 9,
-+ DFU_STATE_dfuERROR = 10,
-+};
-+
-+#endif /* _USB_DFU_H */
-diff --git a/include/usb_dfu_trailer.h b/include/usb_dfu_trailer.h
-new file mode 100644
-index 0000000..3903b85
---- /dev/null
-+++ b/include/usb_dfu_trailer.h
-@@ -0,0 +1,31 @@
-+#ifndef _USB_DFU_TRAILER_H
-+#define _USB_DFU_TRAILER_H
-+
-+/* trailer handling for DFU files */
-+
-+#define UBOOT_DFU_TRAILER_V1 1
-+#define UBOOT_DFU_TRAILER_MAGIC 0x19731978
-+struct uboot_dfu_trailer {
-+ u_int32_t magic;
-+ u_int16_t version;
-+ u_int16_t length;
-+ u_int16_t vendor;
-+ u_int16_t product;
-+ u_int32_t revision;
-+} __attribute__((packed));
-+
-+/* we mirror the trailer because we want it to be longer in later versions
-+ * while keeping backwards compatibility */
-+static inline void dfu_trailer_mirror(struct uboot_dfu_trailer *trailer,
-+ unsigned char *eof)
-+{
-+ int i;
-+ int len = sizeof(struct uboot_dfu_trailer);
-+ unsigned char *src = eof - len;
-+ unsigned char *dst = (unsigned char *) trailer;
-+
-+ for (i = 0; i < len; i++)
-+ dst[len-1-i] = src[i];
-+}
-+
-+#endif /* _USB_DFU_TRAILER_H */
-diff --git a/include/usbdcore.h b/include/usbdcore.h
-index 206dbbc..e966f34 100644
---- a/include/usbdcore.h
-+++ b/include/usbdcore.h
-@@ -33,6 +33,7 @@
-
- #include <common.h>
- #include "usbdescriptors.h"
-+#include <usb_dfu_descriptors.h>
-
-
- #define MAX_URBS_QUEUED 5
-@@ -467,7 +468,11 @@ typedef struct urb_link {
- * function driver to inform it that data has arrived.
- */
-
-+#ifdef CONFIG_USBD_DFU
-+#define URB_BUF_SIZE (128+CONFIG_USBD_DFU_XFER_SIZE)
-+#else
- #define URB_BUF_SIZE 128 /* in linux we'd malloc this, but in u-boot we prefer static data */
-+#endif
- struct urb {
-
- struct usb_endpoint_instance *endpoint;
-@@ -595,6 +600,12 @@ struct usb_device_instance {
- unsigned long usbd_rxtx_timestamp;
- unsigned long usbd_last_rxtx_timestamp;
-
-+#ifdef CONFIG_USBD_DFU
-+ struct usb_device_descriptor *dfu_dev_desc;
-+ struct _dfu_desc *dfu_cfg_desc;
-+ enum dfu_state dfu_state;
-+ u_int8_t dfu_status;
-+#endif
- };
-
- /* Bus Interface configuration structure
-@@ -624,6 +635,8 @@ extern char *usbd_device_status[];
- extern char *usbd_device_requests[];
- extern char *usbd_device_descriptors[];
-
-+extern struct usb_string_descriptor **usb_strings;
-+
- void urb_link_init (urb_link * ul);
- void urb_detach (struct urb *urb);
- urb_link *first_urb_link (urb_link * hd);
-diff --git a/tools/dfu-util/COPYING b/tools/dfu-util/COPYING
-new file mode 100644
-index 0000000..d60c31a
---- /dev/null
-+++ b/tools/dfu-util/COPYING
-@@ -0,0 +1,340 @@
-+ GNU GENERAL PUBLIC LICENSE
-+ Version 2, June 1991
-+
-+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+ Preamble
-+
-+ The licenses for most software are designed to take away your
-+freedom to share and change it. By contrast, the GNU General Public
-+License is intended to guarantee your freedom to share and change free
-+software--to make sure the software is free for all its users. This
-+General Public License applies to most of the Free Software
-+Foundation's software and to any other program whose authors commit to
-+using it. (Some other Free Software Foundation software is covered by
-+the GNU Library General Public License instead.) You can apply it to
-+your programs, too.
-+
-+ When we speak of free software, we are referring to freedom, not
-+price. Our General Public Licenses are designed to make sure that you
-+have the freedom to distribute copies of free software (and charge for
-+this service if you wish), that you receive source code or can get it
-+if you want it, that you can change the software or use pieces of it
-+in new free programs; and that you know you can do these things.
-+
-+ To protect your rights, we need to make restrictions that forbid
-+anyone to deny you these rights or to ask you to surrender the rights.
-+These restrictions translate to certain responsibilities for you if you
-+distribute copies of the software, or if you modify it.
-+
-+ For example, if you distribute copies of such a program, whether
-+gratis or for a fee, you must give the recipients all the rights that
-+you have. You must make sure that they, too, receive or can get the
-+source code. And you must show them these terms so they know their
-+rights.
-+
-+ We protect your rights with two steps: (1) copyright the software, and
-+(2) offer you this license which gives you legal permission to copy,
-+distribute and/or modify the software.
-+
-+ Also, for each author's protection and ours, we want to make certain
-+that everyone understands that there is no warranty for this free
-+software. If the software is modified by someone else and passed on, we
-+want its recipients to know that what they have is not the original, so
-+that any problems introduced by others will not reflect on the original
-+authors' reputations.
-+
-+ Finally, any free program is threatened constantly by software
-+patents. We wish to avoid the danger that redistributors of a free
-+program will individually obtain patent licenses, in effect making the
-+program proprietary. To prevent this, we have made it clear that any
-+patent must be licensed for everyone's free use or not licensed at all.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow.
-+
-+ GNU GENERAL PUBLIC LICENSE
-+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+ 0. This License applies to any program or other work which contains
-+a notice placed by the copyright holder saying it may be distributed
-+under the terms of this General Public License. The "Program", below,
-+refers to any such program or work, and a "work based on the Program"
-+means either the Program or any derivative work under copyright law:
-+that is to say, a work containing the Program or a portion of it,
-+either verbatim or with modifications and/or translated into another
-+language. (Hereinafter, translation is included without limitation in
-+the term "modification".) Each licensee is addressed as "you".
-+
-+Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope. The act of
-+running the Program is not restricted, and the output from the Program
-+is covered only if its contents constitute a work based on the
-+Program (independent of having been made by running the Program).
-+Whether that is true depends on what the Program does.
-+
-+ 1. You may copy and distribute verbatim copies of the Program's
-+source code as you receive it, in any medium, provided that you
-+conspicuously and appropriately publish on each copy an appropriate
-+copyright notice and disclaimer of warranty; keep intact all the
-+notices that refer to this License and to the absence of any warranty;
-+and give any other recipients of the Program a copy of this License
-+along with the Program.
-+
-+You may charge a fee for the physical act of transferring a copy, and
-+you may at your option offer warranty protection in exchange for a fee.
-+
-+ 2. You may modify your copy or copies of the Program or any portion
-+of it, thus forming a work based on the Program, and copy and
-+distribute such modifications or work under the terms of Section 1
-+above, provided that you also meet all of these conditions:
-+
-+ a) You must cause the modified files to carry prominent notices
-+ stating that you changed the files and the date of any change.
-+
-+ b) You must cause any work that you distribute or publish, that in
-+ whole or in part contains or is derived from the Program or any
-+ part thereof, to be licensed as a whole at no charge to all third
-+ parties under the terms of this License.
-+
-+ c) If the modified program normally reads commands interactively
-+ when run, you must cause it, when started running for such
-+ interactive use in the most ordinary way, to print or display an
-+ announcement including an appropriate copyright notice and a
-+ notice that there is no warranty (or else, saying that you provide
-+ a warranty) and that users may redistribute the program under
-+ these conditions, and telling the user how to view a copy of this
-+ License. (Exception: if the Program itself is interactive but
-+ does not normally print such an announcement, your work based on
-+ the Program is not required to print an announcement.)
-+
-+These requirements apply to the modified work as a whole. If
-+identifiable sections of that work are not derived from the Program,
-+and can be reasonably considered independent and separate works in
-+themselves, then this License, and its terms, do not apply to those
-+sections when you distribute them as separate works. But when you
-+distribute the same sections as part of a whole which is a work based
-+on the Program, the distribution of the whole must be on the terms of
-+this License, whose permissions for other licensees extend to the
-+entire whole, and thus to each and every part regardless of who wrote it.
-+
-+Thus, it is not the intent of this section to claim rights or contest
-+your rights to work written entirely by you; rather, the intent is to
-+exercise the right to control the distribution of derivative or
-+collective works based on the Program.
-+
-+In addition, mere aggregation of another work not based on the Program
-+with the Program (or with a work based on the Program) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+ 3. You may copy and distribute the Program (or a work based on it,
-+under Section 2) in object code or executable form under the terms of
-+Sections 1 and 2 above provided that you also do one of the following:
-+
-+ a) Accompany it with the complete corresponding machine-readable
-+ source code, which must be distributed under the terms of Sections
-+ 1 and 2 above on a medium customarily used for software interchange; or,
-+
-+ b) Accompany it with a written offer, valid for at least three
-+ years, to give any third party, for a charge no more than your
-+ cost of physically performing source distribution, a complete
-+ machine-readable copy of the corresponding source code, to be
-+ distributed under the terms of Sections 1 and 2 above on a medium
-+ customarily used for software interchange; or,
-+
-+ c) Accompany it with the information you received as to the offer
-+ to distribute corresponding source code. (This alternative is
-+ allowed only for noncommercial distribution and only if you
-+ received the program in object code or executable form with such
-+ an offer, in accord with Subsection b above.)
-+
-+The source code for a work means the preferred form of the work for
-+making modifications to it. For an executable work, complete source
-+code means all the source code for all modules it contains, plus any
-+associated interface definition files, plus the scripts used to
-+control compilation and installation of the executable. However, as a
-+special exception, the source code distributed need not include
-+anything that is normally distributed (in either source or binary
-+form) with the major components (compiler, kernel, and so on) of the
-+operating system on which the executable runs, unless that component
-+itself accompanies the executable.
-+
-+If distribution of executable or object code is made by offering
-+access to copy from a designated place, then offering equivalent
-+access to copy the source code from the same place counts as
-+distribution of the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+ 4. You may not copy, modify, sublicense, or distribute the Program
-+except as expressly provided under this License. Any attempt
-+otherwise to copy, modify, sublicense or distribute the Program is
-+void, and will automatically terminate your rights under this License.
-+However, parties who have received copies, or rights, from you under
-+this License will not have their licenses terminated so long as such
-+parties remain in full compliance.
-+
-+ 5. You are not required to accept this License, since you have not
-+signed it. However, nothing else grants you permission to modify or
-+distribute the Program or its derivative works. These actions are
-+prohibited by law if you do not accept this License. Therefore, by
-+modifying or distributing the Program (or any work based on the
-+Program), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Program or works based on it.
-+
-+ 6. Each time you redistribute the Program (or any work based on the
-+Program), the recipient automatically receives a license from the
-+original licensor to copy, distribute or modify the Program subject to
-+these terms and conditions. You may not impose any further
-+restrictions on the recipients' exercise of the rights granted herein.
-+You are not responsible for enforcing compliance by third parties to
-+this License.
-+
-+ 7. If, as a consequence of a court judgment or allegation of patent
-+infringement or for any other reason (not limited to patent issues),
-+conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License. If you cannot
-+distribute so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you
-+may not distribute the Program at all. For example, if a patent
-+license would not permit royalty-free redistribution of the Program by
-+all those who receive copies directly or indirectly through you, then
-+the only way you could satisfy both it and this License would be to
-+refrain entirely from distribution of the Program.
-+
-+If any portion of this section is held invalid or unenforceable under
-+any particular circumstance, the balance of the section is intended to
-+apply and the section as a whole is intended to apply in other
-+circumstances.
-+
-+It is not the purpose of this section to induce you to infringe any
-+patents or other property right claims or to contest validity of any
-+such claims; this section has the sole purpose of protecting the
-+integrity of the free software distribution system, which is
-+implemented by public license practices. Many people have made
-+generous contributions to the wide range of software distributed
-+through that system in reliance on consistent application of that
-+system; it is up to the author/donor to decide if he or she is willing
-+to distribute software through any other system and a licensee cannot
-+impose that choice.
-+
-+This section is intended to make thoroughly clear what is believed to
-+be a consequence of the rest of this License.
-+
-+ 8. If the distribution and/or use of the Program is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Program under this License
-+may add an explicit geographical distribution limitation excluding
-+those countries, so that distribution is permitted only in or among
-+countries not thus excluded. In such case, this License incorporates
-+the limitation as if written in the body of this License.
-+
-+ 9. The Free Software Foundation may publish revised and/or new versions
-+of the General Public License from time to time. Such new versions will
-+be similar in spirit to the present version, but may differ in detail to
-+address new problems or concerns.
-+
-+Each version is given a distinguishing version number. If the Program
-+specifies a version number of this License which applies to it and "any
-+later version", you have the option of following the terms and conditions
-+either of that version or of any later version published by the Free
-+Software Foundation. If the Program does not specify a version number of
-+this License, you may choose any version ever published by the Free Software
-+Foundation.
-+
-+ 10. If you wish to incorporate parts of the Program into other free
-+programs whose distribution conditions are different, write to the author
-+to ask for permission. For software which is copyrighted by the Free
-+Software Foundation, write to the Free Software Foundation; we sometimes
-+make exceptions for this. Our decision will be guided by the two goals
-+of preserving the free status of all derivatives of our free software and
-+of promoting the sharing and reuse of software generally.
-+
-+ NO WARRANTY
-+
-+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-+REPAIR OR CORRECTION.
-+
-+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-+POSSIBILITY OF SUCH DAMAGES.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Programs
-+
-+ If you develop a new program, and you want it to be of the greatest
-+possible use to the public, the best way to achieve this is to make it
-+free software which everyone can redistribute and change under these terms.
-+
-+ To do so, attach the following notices to the program. It is safest
-+to attach them to the start of each source file to most effectively
-+convey the exclusion of warranty; and each file should have at least
-+the "copyright" line and a pointer to where the full notice is found.
-+
-+ <one line to give the program's name and a brief idea of what it does.>
-+ Copyright (C) <year> <name of author>
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+If the program is interactive, make it output a short notice like this
-+when it starts in an interactive mode:
-+
-+ Gnomovision version 69, Copyright (C) year name of author
-+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-+ This is free software, and you are welcome to redistribute it
-+ under certain conditions; type `show c' for details.
-+
-+The hypothetical commands `show w' and `show c' should show the appropriate
-+parts of the General Public License. Of course, the commands you use may
-+be called something other than `show w' and `show c'; they could even be
-+mouse-clicks or menu items--whatever suits your program.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a "copyright disclaimer" for the program, if
-+necessary. Here is a sample; alter the names:
-+
-+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
-+
-+ <signature of Ty Coon>, 1 April 1989
-+ Ty Coon, President of Vice
-+
-+This General Public License does not permit incorporating your program into
-+proprietary programs. If your program is a subroutine library, you may
-+consider it more useful to permit linking proprietary applications with the
-+library. If this is what you want to do, use the GNU Library General
-+Public License instead of this License.
-diff --git a/tools/dfu-util/Makefile.am b/tools/dfu-util/Makefile.am
-new file mode 100644
-index 0000000..5ff2f58
---- /dev/null
-+++ b/tools/dfu-util/Makefile.am
-@@ -0,0 +1,3 @@
-+SUBDIRS = src
-+
-+EXTRA_DIST = autogen.sh
-diff --git a/tools/dfu-util/Makefile.in b/tools/dfu-util/Makefile.in
-new file mode 100644
-index 0000000..29322f5
---- /dev/null
-+++ b/tools/dfu-util/Makefile.in
-@@ -0,0 +1,585 @@
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-+# 2003, 2004, 2005 Free Software Foundation, Inc.
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+top_builddir = .
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+INSTALL = @INSTALL@
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+subdir = .
-+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
-+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-+ $(top_srcdir)/configure COPYING m4/depcomp m4/install-sh \
-+ m4/missing
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+ $(ACLOCAL_M4)
-+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
-+ configure.lineno configure.status.lineno
-+mkinstalldirs = $(install_sh) -d
-+CONFIG_HEADER = config.h
-+CONFIG_CLEAN_FILES =
-+SOURCES =
-+DIST_SOURCES =
-+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-+ html-recursive info-recursive install-data-recursive \
-+ install-exec-recursive install-info-recursive \
-+ install-recursive installcheck-recursive installdirs-recursive \
-+ pdf-recursive ps-recursive uninstall-info-recursive \
-+ uninstall-recursive
-+ETAGS = etags
-+CTAGS = ctags
-+DIST_SUBDIRS = $(SUBDIRS)
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+distdir = $(PACKAGE)-$(VERSION)
-+top_distdir = $(distdir)
-+am__remove_distdir = \
-+ { test ! -d $(distdir) \
-+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-+ && rm -fr $(distdir); }; }
-+DIST_ARCHIVES = $(distdir).tar.gz
-+GZIP_ENV = --best
-+distuninstallcheck_listfiles = find . -type f -print
-+distcleancheck_listfiles = find . -type f -print
-+ACLOCAL = @ACLOCAL@
-+AMDEP_FALSE = @AMDEP_FALSE@
-+AMDEP_TRUE = @AMDEP_TRUE@
-+AMTAR = @AMTAR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+GREP = @GREP@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LDFLAGS = @LDFLAGS@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-+MAKEINFO = @MAKEINFO@
-+OBJEXT = @OBJEXT@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+PKG_CONFIG = @PKG_CONFIG@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+USB_CFLAGS = @USB_CFLAGS@
-+USB_LIBS = @USB_LIBS@
-+VERSION = @VERSION@
-+ac_ct_CC = @ac_ct_CC@
-+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build_alias = @build_alias@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host_alias = @host_alias@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+SUBDIRS = src
-+EXTRA_DIST = autogen.sh
-+all: config.h
-+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
-+
-+.SUFFIXES:
-+am--refresh:
-+ @:
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
-+ @for dep in $?; do \
-+ case '$(am__configure_deps)' in \
-+ *$$dep*) \
-+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
-+ cd $(srcdir) && $(AUTOMAKE) --foreign \
-+ && exit 0; \
-+ exit 1;; \
-+ esac; \
-+ done; \
-+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-+ cd $(top_srcdir) && \
-+ $(AUTOMAKE) --foreign Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+ @case '$?' in \
-+ *config.status*) \
-+ echo ' $(SHELL) ./config.status'; \
-+ $(SHELL) ./config.status;; \
-+ *) \
-+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-+ esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+ $(SHELL) ./config.status --recheck
-+
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+ cd $(srcdir) && $(AUTOCONF)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-+
-+config.h: stamp-h1
-+ @if test ! -f $@; then \
-+ rm -f stamp-h1; \
-+ $(MAKE) stamp-h1; \
-+ else :; fi
-+
-+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-+ @rm -f stamp-h1
-+ cd $(top_builddir) && $(SHELL) ./config.status config.h
-+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+ cd $(top_srcdir) && $(AUTOHEADER)
-+ rm -f stamp-h1
-+ touch $@
-+
-+distclean-hdr:
-+ -rm -f config.h stamp-h1
-+uninstall-info-am:
-+
-+# This directory's subdirectories are mostly independent; you can cd
-+# into them and run `make' without going through this Makefile.
-+# To change the values of `make' variables: instead of editing Makefiles,
-+# (1) if the variable is set in `config.status', edit `config.status'
-+# (which will cause the Makefiles to be regenerated when you run `make');
-+# (2) otherwise, pass the desired values on the `make' command line.
-+$(RECURSIVE_TARGETS):
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
-+ dot_seen=no; \
-+ target=`echo $@ | sed s/-recursive//`; \
-+ list='$(SUBDIRS)'; for subdir in $$list; do \
-+ echo "Making $$target in $$subdir"; \
-+ if test "$$subdir" = "."; then \
-+ dot_seen=yes; \
-+ local_target="$$target-am"; \
-+ else \
-+ local_target="$$target"; \
-+ fi; \
-+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-+ || eval $$failcom; \
-+ done; \
-+ if test "$$dot_seen" = "no"; then \
-+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-+ fi; test -z "$$fail"
-+
-+mostlyclean-recursive clean-recursive distclean-recursive \
-+maintainer-clean-recursive:
-+ @failcom='exit 1'; \
-+ for f in x $$MAKEFLAGS; do \
-+ case $$f in \
-+ *=* | --[!k]*);; \
-+ *k*) failcom='fail=yes';; \
-+ esac; \
-+ done; \
-+ dot_seen=no; \
-+ case "$@" in \
-+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-+ *) list='$(SUBDIRS)' ;; \
-+ esac; \
-+ rev=''; for subdir in $$list; do \
-+ if test "$$subdir" = "."; then :; else \
-+ rev="$$subdir $$rev"; \
-+ fi; \
-+ done; \
-+ rev="$$rev ."; \
-+ target=`echo $@ | sed s/-recursive//`; \
-+ for subdir in $$rev; do \
-+ echo "Making $$target in $$subdir"; \
-+ if test "$$subdir" = "."; then \
-+ local_target="$$target-am"; \
-+ else \
-+ local_target="$$target"; \
-+ fi; \
-+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-+ || eval $$failcom; \
-+ done && test -z "$$fail"
-+tags-recursive:
-+ list='$(SUBDIRS)'; for subdir in $$list; do \
-+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-+ done
-+ctags-recursive:
-+ list='$(SUBDIRS)'; for subdir in $$list; do \
-+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-+ done
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ mkid -fID $$unique
-+tags: TAGS
-+
-+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-+ include_option=--etags-include; \
-+ empty_fix=.; \
-+ else \
-+ include_option=--include; \
-+ empty_fix=; \
-+ fi; \
-+ list='$(SUBDIRS)'; for subdir in $$list; do \
-+ if test "$$subdir" = .; then :; else \
-+ test ! -f $$subdir/TAGS || \
-+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
-+ fi; \
-+ done; \
-+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-+ test -n "$$unique" || unique=$$empty_fix; \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ $$tags $$unique; \
-+ fi
-+ctags: CTAGS
-+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
-+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+ $$tags $$unique
-+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && cd $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) $$here
-+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+ $(am__remove_distdir)
-+ mkdir $(distdir)
-+ $(mkdir_p) $(distdir)/m4
-+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-+ list='$(DISTFILES)'; for file in $$list; do \
-+ case $$file in \
-+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-+ esac; \
-+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-+ dir="/$$dir"; \
-+ $(mkdir_p) "$(distdir)$$dir"; \
-+ else \
-+ dir=''; \
-+ fi; \
-+ if test -d $$d/$$file; then \
-+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-+ fi; \
-+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-+ else \
-+ test -f $(distdir)/$$file \
-+ || cp -p $$d/$$file $(distdir)/$$file \
-+ || exit 1; \
-+ fi; \
-+ done
-+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-+ if test "$$subdir" = .; then :; else \
-+ test -d "$(distdir)/$$subdir" \
-+ || $(mkdir_p) "$(distdir)/$$subdir" \
-+ || exit 1; \
-+ distdir=`$(am__cd) $(distdir) && pwd`; \
-+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-+ (cd $$subdir && \
-+ $(MAKE) $(AM_MAKEFLAGS) \
-+ top_distdir="$$top_distdir" \
-+ distdir="$$distdir/$$subdir" \
-+ distdir) \
-+ || exit 1; \
-+ fi; \
-+ done
-+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
-+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
-+ || chmod -R a+r $(distdir)
-+dist-gzip: distdir
-+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-+ $(am__remove_distdir)
-+
-+dist-bzip2: distdir
-+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-+ $(am__remove_distdir)
-+
-+dist-tarZ: distdir
-+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-+ $(am__remove_distdir)
-+
-+dist-shar: distdir
-+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-+ $(am__remove_distdir)
-+
-+dist-zip: distdir
-+ -rm -f $(distdir).zip
-+ zip -rq $(distdir).zip $(distdir)
-+ $(am__remove_distdir)
-+
-+dist dist-all: distdir
-+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-+ $(am__remove_distdir)
-+
-+# This target untars the dist file and tries a VPATH configuration. Then
-+# it guarantees that the distribution is self-contained by making another
-+# tarfile.
-+distcheck: dist
-+ case '$(DIST_ARCHIVES)' in \
-+ *.tar.gz*) \
-+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
-+ *.tar.bz2*) \
-+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
-+ *.tar.Z*) \
-+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-+ *.shar.gz*) \
-+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
-+ *.zip*) \
-+ unzip $(distdir).zip ;;\
-+ esac
-+ chmod -R a-w $(distdir); chmod a+w $(distdir)
-+ mkdir $(distdir)/_build
-+ mkdir $(distdir)/_inst
-+ chmod a-w $(distdir)
-+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-+ && cd $(distdir)/_build \
-+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-+ $(DISTCHECK_CONFIGURE_FLAGS) \
-+ && $(MAKE) $(AM_MAKEFLAGS) \
-+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
-+ && $(MAKE) $(AM_MAKEFLAGS) check \
-+ && $(MAKE) $(AM_MAKEFLAGS) install \
-+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-+ distuninstallcheck \
-+ && chmod -R a-w "$$dc_install_base" \
-+ && ({ \
-+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
-+ && rm -rf "$$dc_destdir" \
-+ && $(MAKE) $(AM_MAKEFLAGS) dist \
-+ && rm -rf $(DIST_ARCHIVES) \
-+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
-+ $(am__remove_distdir)
-+ @(echo "$(distdir) archives ready for distribution: "; \
-+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-+ sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-+distuninstallcheck:
-+ @cd $(distuninstallcheck_dir) \
-+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-+ || { echo "ERROR: files left after uninstall:" ; \
-+ if test -n "$(DESTDIR)"; then \
-+ echo " (check DESTDIR support)"; \
-+ fi ; \
-+ $(distuninstallcheck_listfiles) ; \
-+ exit 1; } >&2
-+distcleancheck: distclean
-+ @if test '$(srcdir)' = . ; then \
-+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-+ exit 1 ; \
-+ fi
-+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-+ || { echo "ERROR: files left in build directory after distclean:" ; \
-+ $(distcleancheck_listfiles) ; \
-+ exit 1; } >&2
-+check-am: all-am
-+check: check-recursive
-+all-am: Makefile config.h
-+installdirs: installdirs-recursive
-+installdirs-am:
-+install: install-recursive
-+install-exec: install-exec-recursive
-+install-data: install-data-recursive
-+uninstall: uninstall-recursive
-+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-recursive
-+install-strip:
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+ `test -z '$(STRIP)' || \
-+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+
-+maintainer-clean-generic:
-+ @echo "This command is intended for maintainers to use"
-+ @echo "it deletes files that may require special tools to rebuild."
-+clean: clean-recursive
-+
-+clean-am: clean-generic mostlyclean-am
-+
-+distclean: distclean-recursive
-+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-+ -rm -f Makefile
-+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
-+
-+dvi: dvi-recursive
-+
-+dvi-am:
-+
-+html: html-recursive
-+
-+info: info-recursive
-+
-+info-am:
-+
-+install-data-am:
-+
-+install-exec-am:
-+
-+install-info: install-info-recursive
-+
-+install-man:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-recursive
-+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-+ -rm -rf $(top_srcdir)/autom4te.cache
-+ -rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-recursive
-+
-+mostlyclean-am: mostlyclean-generic
-+
-+pdf: pdf-recursive
-+
-+pdf-am:
-+
-+ps: ps-recursive
-+
-+ps-am:
-+
-+uninstall-am: uninstall-info-am
-+
-+uninstall-info: uninstall-info-recursive
-+
-+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
-+ check-am clean clean-generic clean-recursive ctags \
-+ ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
-+ dist-tarZ dist-zip distcheck distclean distclean-generic \
-+ distclean-hdr distclean-recursive distclean-tags \
-+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
-+ html-am info info-am install install-am install-data \
-+ install-data-am install-exec install-exec-am install-info \
-+ install-info-am install-man install-strip installcheck \
-+ installcheck-am installdirs installdirs-am maintainer-clean \
-+ maintainer-clean-generic maintainer-clean-recursive \
-+ mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
-+ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
-+ uninstall-info-am
-+
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff --git a/tools/dfu-util/aclocal.m4 b/tools/dfu-util/aclocal.m4
-new file mode 100644
-index 0000000..617acf5
---- /dev/null
-+++ b/tools/dfu-util/aclocal.m4
-@@ -0,0 +1,1048 @@
-+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-+
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-+# 2005 Free Software Foundation, Inc.
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-+#
-+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+#
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
-+
-+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-+# ----------------------------------
-+AC_DEFUN([PKG_PROG_PKG_CONFIG],
-+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
-+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG"; then
-+ _pkg_min_version=m4_default([$1], [0.9.0])
-+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
-+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-+ AC_MSG_RESULT([yes])
-+ else
-+ AC_MSG_RESULT([no])
-+ PKG_CONFIG=""
-+ fi
-+
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG
-+
-+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-+#
-+# Check to see whether a particular set of modules exists. Similar
-+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-+#
-+#
-+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-+# this or PKG_CHECK_MODULES is called, or make sure to call
-+# PKG_CHECK_EXISTS manually
-+# --------------------------------------------------------------
-+AC_DEFUN([PKG_CHECK_EXISTS],
-+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-+if test -n "$PKG_CONFIG" && \
-+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-+ m4_ifval([$2], [$2], [:])
-+m4_ifvaln([$3], [else
-+ $3])dnl
-+fi])
-+
-+
-+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-+# ---------------------------------------------
-+m4_define([_PKG_CONFIG],
-+[if test -n "$PKG_CONFIG"; then
-+ if test -n "$$1"; then
-+ pkg_cv_[]$1="$$1"
-+ else
-+ PKG_CHECK_EXISTS([$3],
-+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-+ [pkg_failed=yes])
-+ fi
-+else
-+ pkg_failed=untried
-+fi[]dnl
-+])# _PKG_CONFIG
-+
-+# _PKG_SHORT_ERRORS_SUPPORTED
-+# -----------------------------
-+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-+ _pkg_short_errors_supported=yes
-+else
-+ _pkg_short_errors_supported=no
-+fi[]dnl
-+])# _PKG_SHORT_ERRORS_SUPPORTED
-+
-+
-+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-+# [ACTION-IF-NOT-FOUND])
-+#
-+#
-+# Note that if there is a possibility the first call to
-+# PKG_CHECK_MODULES might not happen, you should be sure to include an
-+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-+#
-+#
-+# --------------------------------------------------------------
-+AC_DEFUN([PKG_CHECK_MODULES],
-+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-+
-+pkg_failed=no
-+AC_MSG_CHECKING([for $1])
-+
-+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-+
-+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-+and $1[]_LIBS to avoid the need to call pkg-config.
-+See the pkg-config man page for more details.])
-+
-+if test $pkg_failed = yes; then
-+ _PKG_SHORT_ERRORS_SUPPORTED
-+ if test $_pkg_short_errors_supported = yes; then
-+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
-+ else
-+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
-+ fi
-+ # Put the nasty error message in config.log where it belongs
-+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-+
-+ ifelse([$4], , [AC_MSG_ERROR(dnl
-+[Package requirements ($2) were not met:
-+
-+$$1_PKG_ERRORS
-+
-+Consider adjusting the PKG_CONFIG_PATH environment variable if you
-+installed software in a non-standard prefix.
-+
-+_PKG_TEXT
-+])],
-+ [$4])
-+elif test $pkg_failed = untried; then
-+ ifelse([$4], , [AC_MSG_FAILURE(dnl
-+[The pkg-config script could not be found or is too old. Make sure it
-+is in your PATH or set the PKG_CONFIG environment variable to the full
-+path to pkg-config.
-+
-+_PKG_TEXT
-+
-+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
-+ [$4])
-+else
-+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
-+ AC_MSG_RESULT([yes])
-+ ifelse([$3], , :, [$3])
-+fi[]dnl
-+])# PKG_CHECK_MODULES
-+
-+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# AM_AUTOMAKE_VERSION(VERSION)
-+# ----------------------------
-+# Automake X.Y traces this macro to ensure aclocal.m4 has been
-+# generated from the m4 files accompanying Automake X.Y.
-+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-+
-+# AM_SET_CURRENT_AUTOMAKE_VERSION
-+# -------------------------------
-+# Call AM_AUTOMAKE_VERSION so it can be traced.
-+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-+ [AM_AUTOMAKE_VERSION([1.9.6])])
-+
-+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-+
-+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-+#
-+# Of course, Automake must honor this variable whenever it calls a
-+# tool from the auxiliary directory. The problem is that $srcdir (and
-+# therefore $ac_aux_dir as well) can be either absolute or relative,
-+# depending on how configure is run. This is pretty annoying, since
-+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-+# source directory, any form will work fine, but in subdirectories a
-+# relative path needs to be adjusted first.
-+#
-+# $ac_aux_dir/missing
-+# fails when called from a subdirectory if $ac_aux_dir is relative
-+# $top_srcdir/$ac_aux_dir/missing
-+# fails if $ac_aux_dir is absolute,
-+# fails when called from a subdirectory in a VPATH build with
-+# a relative $ac_aux_dir
-+#
-+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-+# are both prefixed by $srcdir. In an in-source build this is usually
-+# harmless because $srcdir is `.', but things will broke when you
-+# start a VPATH build or use an absolute $srcdir.
-+#
-+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-+# and then we would define $MISSING as
-+# MISSING="\${SHELL} $am_aux_dir/missing"
-+# This will work as long as MISSING is not called from configure, because
-+# unfortunately $(top_srcdir) has no meaning in configure.
-+# However there are other variables, like CC, which are often used in
-+# configure, and could therefore not use this "fixed" $ac_aux_dir.
-+#
-+# Another solution, used here, is to always expand $ac_aux_dir to an
-+# absolute PATH. The drawback is that using absolute paths prevent a
-+# configured tree to be moved without reconfiguration.
-+
-+AC_DEFUN([AM_AUX_DIR_EXPAND],
-+[dnl Rely on autoconf to set up CDPATH properly.
-+AC_PREREQ([2.50])dnl
-+# expand $ac_aux_dir to an absolute path
-+am_aux_dir=`cd $ac_aux_dir && pwd`
-+])
-+
-+# AM_CONDITIONAL -*- Autoconf -*-
-+
-+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 7
-+
-+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-+# -------------------------------------
-+# Define a conditional.
-+AC_DEFUN([AM_CONDITIONAL],
-+[AC_PREREQ(2.52)dnl
-+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
-+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-+AC_SUBST([$1_TRUE])
-+AC_SUBST([$1_FALSE])
-+if $2; then
-+ $1_TRUE=
-+ $1_FALSE='#'
-+else
-+ $1_TRUE='#'
-+ $1_FALSE=
-+fi
-+AC_CONFIG_COMMANDS_PRE(
-+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-+ AC_MSG_ERROR([[conditional "$1" was never defined.
-+Usually this means the macro was only invoked conditionally.]])
-+fi])])
-+
-+
-+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 8
-+
-+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-+# written in clear, in which case automake, when reading aclocal.m4,
-+# will think it sees a *use*, and therefore will trigger all it's
-+# C support machinery. Also note that it means that autoscan, seeing
-+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-+
-+
-+# _AM_DEPENDENCIES(NAME)
-+# ----------------------
-+# See how the compiler implements dependency checking.
-+# NAME is "CC", "CXX", "GCJ", or "OBJC".
-+# We try a few techniques and use that to set a single cache variable.
-+#
-+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-+# dependency, and given that the user is not expected to run this macro,
-+# just rely on AC_PROG_CC.
-+AC_DEFUN([_AM_DEPENDENCIES],
-+[AC_REQUIRE([AM_SET_DEPDIR])dnl
-+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-+AC_REQUIRE([AM_DEP_TRACK])dnl
-+
-+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
-+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
-+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
-+ [depcc="$$1" am_compiler_list=])
-+
-+AC_CACHE_CHECK([dependency style of $depcc],
-+ [am_cv_$1_dependencies_compiler_type],
-+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-+ # We make a subdir and do the tests there. Otherwise we can end up
-+ # making bogus files that we don't know about and never remove. For
-+ # instance it was reported that on HP-UX the gcc test will end up
-+ # making a dummy file named `D' -- because `-MD' means `put the output
-+ # in D'.
-+ mkdir conftest.dir
-+ # Copy depcomp to subdir because otherwise we won't find it if we're
-+ # using a relative directory.
-+ cp "$am_depcomp" conftest.dir
-+ cd conftest.dir
-+ # We will build objects and dependencies in a subdirectory because
-+ # it helps to detect inapplicable dependency modes. For instance
-+ # both Tru64's cc and ICC support -MD to output dependencies as a
-+ # side effect of compilation, but ICC will put the dependencies in
-+ # the current directory while Tru64 will put them in the object
-+ # directory.
-+ mkdir sub
-+
-+ am_cv_$1_dependencies_compiler_type=none
-+ if test "$am_compiler_list" = ""; then
-+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-+ fi
-+ for depmode in $am_compiler_list; do
-+ # Setup a source with many dependencies, because some compilers
-+ # like to wrap large dependency lists on column 80 (with \), and
-+ # we should not choose a depcomp mode which is confused by this.
-+ #
-+ # We need to recreate these files for each test, as the compiler may
-+ # overwrite some of them when testing with obscure command lines.
-+ # This happens at least with the AIX C compiler.
-+ : > sub/conftest.c
-+ for i in 1 2 3 4 5 6; do
-+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
-+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-+ # Solaris 8's {/usr,}/bin/sh.
-+ touch sub/conftst$i.h
-+ done
-+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-+
-+ case $depmode in
-+ nosideeffect)
-+ # after this tag, mechanisms are not by side-effect, so they'll
-+ # only be used when explicitly requested
-+ if test "x$enable_dependency_tracking" = xyes; then
-+ continue
-+ else
-+ break
-+ fi
-+ ;;
-+ none) break ;;
-+ esac
-+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
-+ # mode. It turns out that the SunPro C++ compiler does not properly
-+ # handle `-M -o', and we need to detect this.
-+ if depmode=$depmode \
-+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-+ >/dev/null 2>conftest.err &&
-+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-+ # icc doesn't choke on unknown options, it will just issue warnings
-+ # or remarks (even with -Werror). So we grep stderr for any message
-+ # that says an option was ignored or not supported.
-+ # When given -MP, icc 7.0 and 7.1 complain thusly:
-+ # icc: Command line warning: ignoring option '-M'; no argument required
-+ # The diagnosis changed in icc 8.0:
-+ # icc: Command line remark: option '-MP' not supported
-+ if (grep 'ignoring option' conftest.err ||
-+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-+ am_cv_$1_dependencies_compiler_type=$depmode
-+ break
-+ fi
-+ fi
-+ done
-+
-+ cd ..
-+ rm -rf conftest.dir
-+else
-+ am_cv_$1_dependencies_compiler_type=none
-+fi
-+])
-+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-+AM_CONDITIONAL([am__fastdep$1], [
-+ test "x$enable_dependency_tracking" != xno \
-+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-+])
-+
-+
-+# AM_SET_DEPDIR
-+# -------------
-+# Choose a directory name for dependency files.
-+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-+AC_DEFUN([AM_SET_DEPDIR],
-+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-+])
-+
-+
-+# AM_DEP_TRACK
-+# ------------
-+AC_DEFUN([AM_DEP_TRACK],
-+[AC_ARG_ENABLE(dependency-tracking,
-+[ --disable-dependency-tracking speeds up one-time build
-+ --enable-dependency-tracking do not reject slow dependency extractors])
-+if test "x$enable_dependency_tracking" != xno; then
-+ am_depcomp="$ac_aux_dir/depcomp"
-+ AMDEPBACKSLASH='\'
-+fi
-+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-+AC_SUBST([AMDEPBACKSLASH])
-+])
-+
-+# Generate code to set up dependency tracking. -*- Autoconf -*-
-+
-+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+#serial 3
-+
-+# _AM_OUTPUT_DEPENDENCY_COMMANDS
-+# ------------------------------
-+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-+[for mf in $CONFIG_FILES; do
-+ # Strip MF so we end up with the name of the file.
-+ mf=`echo "$mf" | sed -e 's/:.*$//'`
-+ # Check whether this is an Automake generated Makefile or not.
-+ # We used to match only the files named `Makefile.in', but
-+ # some people rename them; so instead we look at the file content.
-+ # Grep'ing the first line is not enough: some people post-process
-+ # each Makefile.in and add a new line on top of each file to say so.
-+ # So let's grep whole file.
-+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-+ dirpart=`AS_DIRNAME("$mf")`
-+ else
-+ continue
-+ fi
-+ # Extract the definition of DEPDIR, am__include, and am__quote
-+ # from the Makefile without running `make'.
-+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-+ test -z "$DEPDIR" && continue
-+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
-+ test -z "am__include" && continue
-+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-+ # When using ansi2knr, U may be empty or an underscore; expand it
-+ U=`sed -n 's/^U = //p' < "$mf"`
-+ # Find all dependency output files, they are included files with
-+ # $(DEPDIR) in their names. We invoke sed twice because it is the
-+ # simplest approach to changing $(DEPDIR) to its actual value in the
-+ # expansion.
-+ for file in `sed -n "
-+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-+ # Make sure the directory exists.
-+ test -f "$dirpart/$file" && continue
-+ fdir=`AS_DIRNAME(["$file"])`
-+ AS_MKDIR_P([$dirpart/$fdir])
-+ # echo "creating $dirpart/$file"
-+ echo '# dummy' > "$dirpart/$file"
-+ done
-+done
-+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-+
-+
-+# AM_OUTPUT_DEPENDENCY_COMMANDS
-+# -----------------------------
-+# This macro should only be invoked once -- use via AC_REQUIRE.
-+#
-+# This code is only required when automatic dependency tracking
-+# is enabled. FIXME. This creates each `.P' file that we will
-+# need in order to bootstrap the dependency handling code.
-+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-+[AC_CONFIG_COMMANDS([depfiles],
-+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-+])
-+
-+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 8
-+
-+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-+
-+# Do all the work for Automake. -*- Autoconf -*-
-+
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 12
-+
-+# This macro actually does too much. Some checks are only needed if
-+# your package does certain things. But this isn't really a big deal.
-+
-+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-+# AM_INIT_AUTOMAKE([OPTIONS])
-+# -----------------------------------------------
-+# The call with PACKAGE and VERSION arguments is the old style
-+# call (pre autoconf-2.50), which is being phased out. PACKAGE
-+# and VERSION should now be passed to AC_INIT and removed from
-+# the call to AM_INIT_AUTOMAKE.
-+# We support both call styles for the transition. After
-+# the next Automake release, Autoconf can make the AC_INIT
-+# arguments mandatory, and then we can depend on a new Autoconf
-+# release and drop the old call support.
-+AC_DEFUN([AM_INIT_AUTOMAKE],
-+[AC_PREREQ([2.58])dnl
-+dnl Autoconf wants to disallow AM_ names. We explicitly allow
-+dnl the ones we care about.
-+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-+AC_REQUIRE([AC_PROG_INSTALL])dnl
-+# test to see if srcdir already configured
-+if test "`cd $srcdir && pwd`" != "`pwd`" &&
-+ test -f $srcdir/config.status; then
-+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-+fi
-+
-+# test whether we have cygpath
-+if test -z "$CYGPATH_W"; then
-+ if (cygpath --version) >/dev/null 2>/dev/null; then
-+ CYGPATH_W='cygpath -w'
-+ else
-+ CYGPATH_W=echo
-+ fi
-+fi
-+AC_SUBST([CYGPATH_W])
-+
-+# Define the identity of the package.
-+dnl Distinguish between old-style and new-style calls.
-+m4_ifval([$2],
-+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
-+ AC_SUBST([PACKAGE], [$1])dnl
-+ AC_SUBST([VERSION], [$2])],
-+[_AM_SET_OPTIONS([$1])dnl
-+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
-+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-+
-+_AM_IF_OPTION([no-define],,
-+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-+
-+# Some tools Automake needs.
-+AC_REQUIRE([AM_SANITY_CHECK])dnl
-+AC_REQUIRE([AC_ARG_PROGRAM])dnl
-+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-+AM_MISSING_PROG(AUTOCONF, autoconf)
-+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-+AM_MISSING_PROG(AUTOHEADER, autoheader)
-+AM_MISSING_PROG(MAKEINFO, makeinfo)
-+AM_PROG_INSTALL_SH
-+AM_PROG_INSTALL_STRIP
-+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-+# We need awk for the "check" target. The system "awk" is bad on
-+# some platforms.
-+AC_REQUIRE([AC_PROG_AWK])dnl
-+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-+ [_AM_PROG_TAR([v7])])])
-+_AM_IF_OPTION([no-dependencies],,
-+[AC_PROVIDE_IFELSE([AC_PROG_CC],
-+ [_AM_DEPENDENCIES(CC)],
-+ [define([AC_PROG_CC],
-+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-+AC_PROVIDE_IFELSE([AC_PROG_CXX],
-+ [_AM_DEPENDENCIES(CXX)],
-+ [define([AC_PROG_CXX],
-+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-+])
-+])
-+
-+
-+# When config.status generates a header, we must update the stamp-h file.
-+# This file resides in the same directory as the config header
-+# that is generated. The stamp files are numbered to have different names.
-+
-+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-+# loop where config.status creates the headers, so we can generate
-+# our stamp files there.
-+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-+[# Compute $1's index in $config_headers.
-+_am_stamp_count=1
-+for _am_header in $config_headers :; do
-+ case $_am_header in
-+ $1 | $1:* )
-+ break ;;
-+ * )
-+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-+ esac
-+done
-+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-+
-+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# AM_PROG_INSTALL_SH
-+# ------------------
-+# Define $install_sh.
-+AC_DEFUN([AM_PROG_INSTALL_SH],
-+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-+install_sh=${install_sh-"$am_aux_dir/install-sh"}
-+AC_SUBST(install_sh)])
-+
-+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 2
-+
-+# Check whether the underlying file-system supports filenames
-+# with a leading dot. For instance MS-DOS doesn't.
-+AC_DEFUN([AM_SET_LEADING_DOT],
-+[rm -rf .tst 2>/dev/null
-+mkdir .tst 2>/dev/null
-+if test -d .tst; then
-+ am__leading_dot=.
-+else
-+ am__leading_dot=_
-+fi
-+rmdir .tst 2>/dev/null
-+AC_SUBST([am__leading_dot])])
-+
-+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-+# From Jim Meyering
-+
-+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 4
-+
-+AC_DEFUN([AM_MAINTAINER_MODE],
-+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-+ dnl maintainer-mode is disabled by default
-+ AC_ARG_ENABLE(maintainer-mode,
-+[ --enable-maintainer-mode enable make rules and dependencies not useful
-+ (and sometimes confusing) to the casual installer],
-+ USE_MAINTAINER_MODE=$enableval,
-+ USE_MAINTAINER_MODE=no)
-+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
-+ MAINT=$MAINTAINER_MODE_TRUE
-+ AC_SUBST(MAINT)dnl
-+]
-+)
-+
-+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-+
-+# Check to see how 'make' treats includes. -*- Autoconf -*-
-+
-+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 3
-+
-+# AM_MAKE_INCLUDE()
-+# -----------------
-+# Check to see how make treats includes.
-+AC_DEFUN([AM_MAKE_INCLUDE],
-+[am_make=${MAKE-make}
-+cat > confinc << 'END'
-+am__doit:
-+ @echo done
-+.PHONY: am__doit
-+END
-+# If we don't find an include directive, just comment out the code.
-+AC_MSG_CHECKING([for style of include used by $am_make])
-+am__include="#"
-+am__quote=
-+_am_result=none
-+# First try GNU make style include.
-+echo "include confinc" > confmf
-+# We grep out `Entering directory' and `Leaving directory'
-+# messages which can occur if `w' ends up in MAKEFLAGS.
-+# In particular we don't look at `^make:' because GNU make might
-+# be invoked under some other name (usually "gmake"), in which
-+# case it prints its new name instead of `make'.
-+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-+ am__include=include
-+ am__quote=
-+ _am_result=GNU
-+fi
-+# Now try BSD make style include.
-+if test "$am__include" = "#"; then
-+ echo '.include "confinc"' > confmf
-+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-+ am__include=.include
-+ am__quote="\""
-+ _am_result=BSD
-+ fi
-+fi
-+AC_SUBST([am__include])
-+AC_SUBST([am__quote])
-+AC_MSG_RESULT([$_am_result])
-+rm -f confinc confmf
-+])
-+
-+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-+
-+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 4
-+
-+# AM_MISSING_PROG(NAME, PROGRAM)
-+# ------------------------------
-+AC_DEFUN([AM_MISSING_PROG],
-+[AC_REQUIRE([AM_MISSING_HAS_RUN])
-+$1=${$1-"${am_missing_run}$2"}
-+AC_SUBST($1)])
-+
-+
-+# AM_MISSING_HAS_RUN
-+# ------------------
-+# Define MISSING if not defined so far and test if it supports --run.
-+# If it does, set am_missing_run to use it, otherwise, to nothing.
-+AC_DEFUN([AM_MISSING_HAS_RUN],
-+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-+# Use eval to expand $SHELL
-+if eval "$MISSING --run true"; then
-+ am_missing_run="$MISSING --run "
-+else
-+ am_missing_run=
-+ AC_MSG_WARN([`missing' script is too old or missing])
-+fi
-+])
-+
-+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# AM_PROG_MKDIR_P
-+# ---------------
-+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-+#
-+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-+# created by `make install' are always world readable, even if the
-+# installer happens to have an overly restrictive umask (e.g. 077).
-+# This was a mistake. There are at least two reasons why we must not
-+# use `-m 0755':
-+# - it causes special bits like SGID to be ignored,
-+# - it may be too restrictive (some setups expect 775 directories).
-+#
-+# Do not use -m 0755 and let people choose whatever they expect by
-+# setting umask.
-+#
-+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-+# Some implementations (such as Solaris 8's) are not thread-safe: if a
-+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-+# concurrently, both version can detect that a/ is missing, but only
-+# one can create it and the other will error out. Consequently we
-+# restrict ourselves to GNU make (using the --version option ensures
-+# this.)
-+AC_DEFUN([AM_PROG_MKDIR_P],
-+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-+ # We used to keeping the `.' as first argument, in order to
-+ # allow $(mkdir_p) to be used without argument. As in
-+ # $(mkdir_p) $(somedir)
-+ # where $(somedir) is conditionally defined. However this is wrong
-+ # for two reasons:
-+ # 1. if the package is installed by a user who cannot write `.'
-+ # make install will fail,
-+ # 2. the above comment should most certainly read
-+ # $(mkdir_p) $(DESTDIR)$(somedir)
-+ # so it does not work when $(somedir) is undefined and
-+ # $(DESTDIR) is not.
-+ # To support the latter case, we have to write
-+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
-+ # so the `.' trick is pointless.
-+ mkdir_p='mkdir -p --'
-+else
-+ # On NextStep and OpenStep, the `mkdir' command does not
-+ # recognize any option. It will interpret all options as
-+ # directories to create, and then abort because `.' already
-+ # exists.
-+ for d in ./-p ./--version;
-+ do
-+ test -d $d && rmdir $d
-+ done
-+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
-+ if test -f "$ac_aux_dir/mkinstalldirs"; then
-+ mkdir_p='$(mkinstalldirs)'
-+ else
-+ mkdir_p='$(install_sh) -d'
-+ fi
-+fi
-+AC_SUBST([mkdir_p])])
-+
-+# Helper functions for option handling. -*- Autoconf -*-
-+
-+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 3
-+
-+# _AM_MANGLE_OPTION(NAME)
-+# -----------------------
-+AC_DEFUN([_AM_MANGLE_OPTION],
-+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-+
-+# _AM_SET_OPTION(NAME)
-+# ------------------------------
-+# Set option NAME. Presently that only means defining a flag for this option.
-+AC_DEFUN([_AM_SET_OPTION],
-+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-+
-+# _AM_SET_OPTIONS(OPTIONS)
-+# ----------------------------------
-+# OPTIONS is a space-separated list of Automake options.
-+AC_DEFUN([_AM_SET_OPTIONS],
-+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-+
-+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-+# -------------------------------------------
-+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-+AC_DEFUN([_AM_IF_OPTION],
-+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-+
-+# Check to make sure that the build environment is sane. -*- Autoconf -*-
-+
-+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 4
-+
-+# AM_SANITY_CHECK
-+# ---------------
-+AC_DEFUN([AM_SANITY_CHECK],
-+[AC_MSG_CHECKING([whether build environment is sane])
-+# Just in case
-+sleep 1
-+echo timestamp > conftest.file
-+# Do `set' in a subshell so we don't clobber the current shell's
-+# arguments. Must try -L first in case configure is actually a
-+# symlink; some systems play weird games with the mod time of symlinks
-+# (eg FreeBSD returns the mod time of the symlink's containing
-+# directory).
-+if (
-+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-+ if test "$[*]" = "X"; then
-+ # -L didn't work.
-+ set X `ls -t $srcdir/configure conftest.file`
-+ fi
-+ rm -f conftest.file
-+ if test "$[*]" != "X $srcdir/configure conftest.file" \
-+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
-+
-+ # If neither matched, then we have a broken ls. This can happen
-+ # if, for instance, CONFIG_SHELL is bash and it inherits a
-+ # broken ls alias from the environment. This has actually
-+ # happened. Such a system could not be considered "sane".
-+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-+alias in your environment])
-+ fi
-+
-+ test "$[2]" = conftest.file
-+ )
-+then
-+ # Ok.
-+ :
-+else
-+ AC_MSG_ERROR([newly created file is older than distributed files!
-+Check your system clock])
-+fi
-+AC_MSG_RESULT(yes)])
-+
-+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# AM_PROG_INSTALL_STRIP
-+# ---------------------
-+# One issue with vendor `install' (even GNU) is that you can't
-+# specify the program used to strip binaries. This is especially
-+# annoying in cross-compiling environments, where the build's strip
-+# is unlikely to handle the host's binaries.
-+# Fortunately install-sh will honor a STRIPPROG variable, so we
-+# always use install-sh in `make install-strip', and initialize
-+# STRIPPROG with the value of the STRIP variable (set by the user).
-+AC_DEFUN([AM_PROG_INSTALL_STRIP],
-+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-+# Installed binaries are usually stripped using `strip' when the user
-+# run `make install-strip'. However `strip' might not be the right
-+# tool to use in cross-compilation environments, therefore Automake
-+# will honor the `STRIP' environment variable to overrule this program.
-+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-+if test "$cross_compiling" != no; then
-+ AC_CHECK_TOOL([STRIP], [strip], :)
-+fi
-+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-+AC_SUBST([INSTALL_STRIP_PROGRAM])])
-+
-+# Check how to create a tarball. -*- Autoconf -*-
-+
-+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 2
-+
-+# _AM_PROG_TAR(FORMAT)
-+# --------------------
-+# Check how to create a tarball in format FORMAT.
-+# FORMAT should be one of `v7', `ustar', or `pax'.
-+#
-+# Substitute a variable $(am__tar) that is a command
-+# writing to stdout a FORMAT-tarball containing the directory
-+# $tardir.
-+# tardir=directory && $(am__tar) > result.tar
-+#
-+# Substitute a variable $(am__untar) that extract such
-+# a tarball read from stdin.
-+# $(am__untar) < result.tar
-+AC_DEFUN([_AM_PROG_TAR],
-+[# Always define AMTAR for backward compatibility.
-+AM_MISSING_PROG([AMTAR], [tar])
-+m4_if([$1], [v7],
-+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-+ [m4_case([$1], [ustar],, [pax],,
-+ [m4_fatal([Unknown tar format])])
-+AC_MSG_CHECKING([how to create a $1 tar archive])
-+# Loop over all known methods to create a tar archive until one works.
-+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-+# Do not fold the above two line into one, because Tru64 sh and
-+# Solaris sh will not grok spaces in the rhs of `-'.
-+for _am_tool in $_am_tools
-+do
-+ case $_am_tool in
-+ gnutar)
-+ for _am_tar in tar gnutar gtar;
-+ do
-+ AM_RUN_LOG([$_am_tar --version]) && break
-+ done
-+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-+ am__untar="$_am_tar -xf -"
-+ ;;
-+ plaintar)
-+ # Must skip GNU tar: if it does not support --format= it doesn't create
-+ # ustar tarball either.
-+ (tar --version) >/dev/null 2>&1 && continue
-+ am__tar='tar chf - "$$tardir"'
-+ am__tar_='tar chf - "$tardir"'
-+ am__untar='tar xf -'
-+ ;;
-+ pax)
-+ am__tar='pax -L -x $1 -w "$$tardir"'
-+ am__tar_='pax -L -x $1 -w "$tardir"'
-+ am__untar='pax -r'
-+ ;;
-+ cpio)
-+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-+ am__untar='cpio -i -H $1 -d'
-+ ;;
-+ none)
-+ am__tar=false
-+ am__tar_=false
-+ am__untar=false
-+ ;;
-+ esac
-+
-+ # If the value was cached, stop now. We just wanted to have am__tar
-+ # and am__untar set.
-+ test -n "${am_cv_prog_tar_$1}" && break
-+
-+ # tar/untar a dummy directory, and stop if the command works
-+ rm -rf conftest.dir
-+ mkdir conftest.dir
-+ echo GrepMe > conftest.dir/file
-+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-+ rm -rf conftest.dir
-+ if test -s conftest.tar; then
-+ AM_RUN_LOG([$am__untar <conftest.tar])
-+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-+ fi
-+done
-+rm -rf conftest.dir
-+
-+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-+AC_SUBST([am__tar])
-+AC_SUBST([am__untar])
-+]) # _AM_PROG_TAR
-+
-diff --git a/tools/dfu-util/autogen.sh b/tools/dfu-util/autogen.sh
-new file mode 100644
-index 0000000..6bd21eb
---- /dev/null
-+++ b/tools/dfu-util/autogen.sh
-@@ -0,0 +1,4 @@
-+#! /bin/sh
-+AUTOMAKE="automake --foreign --add-missing --copy"
-+export AUTOMAKE
-+autoreconf
-diff --git a/tools/dfu-util/config.h.in b/tools/dfu-util/config.h.in
-new file mode 100644
-index 0000000..2a3e620
---- /dev/null
-+++ b/tools/dfu-util/config.h.in
-@@ -0,0 +1,77 @@
-+/* config.h.in. Generated from configure.ac by autoheader. */
-+
-+/* Define to 1 if you have the <inttypes.h> header file. */
-+#undef HAVE_INTTYPES_H
-+
-+/* Define to 1 if you have the `usbpath' library (-lusbpath). */
-+#undef HAVE_LIBUSBPATH
-+
-+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-+ to 0 otherwise. */
-+#undef HAVE_MALLOC
-+
-+/* Define to 1 if you have the <memory.h> header file. */
-+#undef HAVE_MEMORY_H
-+
-+/* Define to 1 if you have the `memset' function. */
-+#undef HAVE_MEMSET
-+
-+/* Define to 1 if you have the <stdint.h> header file. */
-+#undef HAVE_STDINT_H
-+
-+/* Define to 1 if you have the <stdio.h> header file. */
-+#undef HAVE_STDIO_H
-+
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+#undef HAVE_STDLIB_H
-+
-+/* Define to 1 if you have the <strings.h> header file. */
-+#undef HAVE_STRINGS_H
-+
-+/* Define to 1 if you have the <string.h> header file. */
-+#undef HAVE_STRING_H
-+
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+#undef HAVE_SYS_STAT_H
-+
-+/* Define to 1 if you have the <sys/types.h> header file. */
-+#undef HAVE_SYS_TYPES_H
-+
-+/* Define to 1 if you have the <unistd.h> header file. */
-+#undef HAVE_UNISTD_H
-+
-+/* Define to 1 if you have the <usbpath.h> header file. */
-+#undef HAVE_USBPATH_H
-+
-+/* Name of package */
-+#undef PACKAGE
-+
-+/* Define to the address where bug reports for this package should be sent. */
-+#undef PACKAGE_BUGREPORT
-+
-+/* Define to the full name of this package. */
-+#undef PACKAGE_NAME
-+
-+/* Define to the full name and version of this package. */
-+#undef PACKAGE_STRING
-+
-+/* Define to the one symbol short name of this package. */
-+#undef PACKAGE_TARNAME
-+
-+/* Define to the version of this package. */
-+#undef PACKAGE_VERSION
-+
-+/* Define to 1 if you have the ANSI C header files. */
-+#undef STDC_HEADERS
-+
-+/* Version number of package */
-+#undef VERSION
-+
-+/* Define to empty if `const' does not conform to ANSI C. */
-+#undef const
-+
-+/* Define to rpl_malloc if the replacement function should be used. */
-+#undef malloc
-+
-+/* Define to `unsigned int' if <sys/types.h> does not define. */
-+#undef size_t
-diff --git a/tools/dfu-util/configure b/tools/dfu-util/configure
-new file mode 100644
-index 0000000..092fd11
---- /dev/null
-+++ b/tools/dfu-util/configure
-@@ -0,0 +1,6517 @@
-+#! /bin/sh
-+# Guess values for system-dependent variables and create Makefiles.
-+# Generated by GNU Autoconf 2.60 for dfu-util 0.1.
-+#
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-+# This configure script is free software; the Free Software Foundation
-+# gives unlimited permission to copy, distribute and modify it.
-+## --------------------- ##
-+## M4sh Initialization. ##
-+## --------------------- ##
-+
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-+fi
-+BIN_SH=xpg4; export BIN_SH # for Tru64
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+
-+# PATH needs CR
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ echo "#! /bin/sh" >conf$$.sh
-+ echo "exit 0" >>conf$$.sh
-+ chmod +x conf$$.sh
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+ PATH_SEPARATOR=';'
-+ else
-+ PATH_SEPARATOR=:
-+ fi
-+ rm -f conf$$.sh
-+fi
-+
-+# Support unset when possible.
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+ as_unset=unset
-+else
-+ as_unset=false
-+fi
-+
-+
-+# IFS
-+# We need space, tab and new line, in precisely that order. Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+as_nl='
-+'
-+IFS=" "" $as_nl"
-+
-+# Find who we are. Look in the path if we contain no directory separator.
-+case $0 in
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+ as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+ { (exit 1); exit 1; }
-+fi
-+
-+# Work around bugs in pre-3.0 UWIN ksh.
-+for as_var in ENV MAIL MAILPATH
-+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+done
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-+ eval $as_var=C; export $as_var
-+ else
-+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+ fi
-+done
-+
-+# Required to use basename.
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-+ as_basename=basename
-+else
-+ as_basename=false
-+fi
-+
-+
-+# Name of the executable.
-+as_me=`$as_basename -- "$0" ||
-+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X/"$0" |
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+
-+# CDPATH.
-+$as_unset CDPATH
-+
-+
-+if test "x$CONFIG_SHELL" = x; then
-+ if (eval ":") 2>/dev/null; then
-+ as_have_required=yes
-+else
-+ as_have_required=no
-+fi
-+
-+ if test $as_have_required = yes && (eval ":
-+(as_func_return () {
-+ (exit \$1)
-+}
-+as_func_success () {
-+ as_func_return 0
-+}
-+as_func_failure () {
-+ as_func_return 1
-+}
-+as_func_ret_success () {
-+ return 0
-+}
-+as_func_ret_failure () {
-+ return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+ exitcode=1
-+ echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+ exitcode=1
-+ echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-+ :
-+else
-+ exitcode=1
-+ echo positional parameters were not saved.
-+fi
-+
-+test \$exitcode = 0) || { (exit 1); exit 1; }
-+
-+(
-+ as_lineno_1=\$LINENO
-+ as_lineno_2=\$LINENO
-+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-+") 2> /dev/null; then
-+ :
-+else
-+ as_candidate_shells=
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ case $as_dir in
-+ /*)
-+ for as_base in sh bash ksh sh5; do
-+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-+ done;;
-+ esac
-+done
-+IFS=$as_save_IFS
-+
-+
-+ for as_shell in $as_candidate_shells $SHELL; do
-+ # Try only shells that exist, to save several forks.
-+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-+ { ("$as_shell") 2> /dev/null <<\_ASEOF
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-+fi
-+BIN_SH=xpg4; export BIN_SH # for Tru64
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+:
-+_ASEOF
-+}; then
-+ CONFIG_SHELL=$as_shell
-+ as_have_required=yes
-+ if { "$as_shell" 2> /dev/null <<\_ASEOF
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-+fi
-+BIN_SH=xpg4; export BIN_SH # for Tru64
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+:
-+(as_func_return () {
-+ (exit $1)
-+}
-+as_func_success () {
-+ as_func_return 0
-+}
-+as_func_failure () {
-+ as_func_return 1
-+}
-+as_func_ret_success () {
-+ return 0
-+}
-+as_func_ret_failure () {
-+ return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+ exitcode=1
-+ echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+ exitcode=1
-+ echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = "$1" ); then
-+ :
-+else
-+ exitcode=1
-+ echo positional parameters were not saved.
-+fi
-+
-+test $exitcode = 0) || { (exit 1); exit 1; }
-+
-+(
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-+
-+_ASEOF
-+}; then
-+ break
-+fi
-+
-+fi
-+
-+ done
-+
-+ if test "x$CONFIG_SHELL" != x; then
-+ for as_var in BASH_ENV ENV
-+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+ done
-+ export CONFIG_SHELL
-+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-+fi
-+
-+
-+ if test $as_have_required = no; then
-+ echo This script requires a shell more modern than all the
-+ echo shells that I found on your system. Please install a
-+ echo modern shell, or manually run the script under such a
-+ echo shell if you do have one.
-+ { (exit 1); exit 1; }
-+fi
-+
-+
-+fi
-+
-+fi
-+
-+
-+
-+(eval "as_func_return () {
-+ (exit \$1)
-+}
-+as_func_success () {
-+ as_func_return 0
-+}
-+as_func_failure () {
-+ as_func_return 1
-+}
-+as_func_ret_success () {
-+ return 0
-+}
-+as_func_ret_failure () {
-+ return 1
-+}
-+
-+exitcode=0
-+if as_func_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_success failed.
-+fi
-+
-+if as_func_failure; then
-+ exitcode=1
-+ echo as_func_failure succeeded.
-+fi
-+
-+if as_func_ret_success; then
-+ :
-+else
-+ exitcode=1
-+ echo as_func_ret_success failed.
-+fi
-+
-+if as_func_ret_failure; then
-+ exitcode=1
-+ echo as_func_ret_failure succeeded.
-+fi
-+
-+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-+ :
-+else
-+ exitcode=1
-+ echo positional parameters were not saved.
-+fi
-+
-+test \$exitcode = 0") || {
-+ echo No shell found that supports shell functions.
-+ echo Please tell autoconf@gnu.org about your system,
-+ echo including any error possibly output before this
-+ echo message
-+}
-+
-+
-+
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-+
-+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-+ # uniformly replaced by the line number. The first 'sed' inserts a
-+ # line-number line after each line using $LINENO; the second 'sed'
-+ # does the real work. The second script uses 'N' to pair each
-+ # line-number line with the line containing $LINENO, and appends
-+ # trailing '-' during substitution so that $LINENO is not a special
-+ # case at line end.
-+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-+ # scripts with optimization help from Paolo Bonzini. Blame Lee
-+ # E. McMahon (1931-1989) for sed's syntax. :-)
-+ sed -n '
-+ p
-+ /[$]LINENO/=
-+ ' <$as_myself |
-+ sed '
-+ s/[$]LINENO.*/&-/
-+ t lineno
-+ b
-+ :lineno
-+ N
-+ :loop
-+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-+ t loop
-+ s/-\n.*//
-+ ' >$as_me.lineno &&
-+ chmod +x "$as_me.lineno" ||
-+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-+ { (exit 1); exit 1; }; }
-+
-+ # Don't try to exec as it changes $[0], causing all sort of problems
-+ # (the dirname of $[0] is not the place where we might find the
-+ # original and so on. Autoconf is especially sensitive to this).
-+ . "./$as_me.lineno"
-+ # Exit status is that of the last command.
-+ exit
-+}
-+
-+
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+ as_dirname=dirname
-+else
-+ as_dirname=false
-+fi
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in
-+-n*)
-+ case `echo 'x\c'` in
-+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
-+ *) ECHO_C='\c';;
-+ esac;;
-+*)
-+ ECHO_N='-n';;
-+esac
-+
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+ rm -f conf$$.dir/conf$$.file
-+else
-+ rm -f conf$$.dir
-+ mkdir conf$$.dir
-+fi
-+echo >conf$$.file
-+if ln -s conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s='ln -s'
-+ # ... but there are two gotchas:
-+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+ # In both cases, we have to default to `cp -p'.
-+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+ as_ln_s='cp -p'
-+elif ln conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s=ln
-+else
-+ as_ln_s='cp -p'
-+fi
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
-+
-+if mkdir -p . 2>/dev/null; then
-+ as_mkdir_p=:
-+else
-+ test -d ./-p && rmdir ./-p
-+ as_mkdir_p=false
-+fi
-+
-+# Find out whether ``test -x'' works. Don't use a zero-byte file, as
-+# systems may use methods other than mode bits to determine executability.
-+cat >conf$$.file <<_ASEOF
-+#! /bin/sh
-+exit 0
-+_ASEOF
-+chmod +x conf$$.file
-+if test -x conf$$.file >/dev/null 2>&1; then
-+ as_executable_p="test -x"
-+else
-+ as_executable_p=:
-+fi
-+rm -f conf$$.file
-+
-+# Sed expression to map a string onto a valid CPP name.
-+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-+
-+# Sed expression to map a string onto a valid variable name.
-+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-+
-+
-+
-+exec 7<&0 </dev/null 6>&1
-+
-+# Name of the host.
-+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-+# so uname gets run too.
-+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-+
-+#
-+# Initializations.
-+#
-+ac_default_prefix=/usr/local
-+ac_clean_files=
-+ac_config_libobj_dir=.
-+LIBOBJS=
-+cross_compiling=no
-+subdirs=
-+MFLAGS=
-+MAKEFLAGS=
-+SHELL=${CONFIG_SHELL-/bin/sh}
-+
-+# Identity of this package.
-+PACKAGE_NAME='dfu-util'
-+PACKAGE_TARNAME='dfu-util'
-+PACKAGE_VERSION='0.1'
-+PACKAGE_STRING='dfu-util 0.1'
-+PACKAGE_BUGREPORT=''
-+
-+# Factoring default headers for most tests.
-+ac_includes_default="\
-+#include <stdio.h>
-+#if HAVE_SYS_TYPES_H
-+# include <sys/types.h>
-+#endif
-+#if HAVE_SYS_STAT_H
-+# include <sys/stat.h>
-+#endif
-+#if STDC_HEADERS
-+# include <stdlib.h>
-+# include <stddef.h>
-+#else
-+# if HAVE_STDLIB_H
-+# include <stdlib.h>
-+# endif
-+#endif
-+#if HAVE_STRING_H
-+# if !STDC_HEADERS && HAVE_MEMORY_H
-+# include <memory.h>
-+# endif
-+# include <string.h>
-+#endif
-+#if HAVE_STRINGS_H
-+# include <strings.h>
-+#endif
-+#if HAVE_INTTYPES_H
-+# include <inttypes.h>
-+#endif
-+#if HAVE_STDINT_H
-+# include <stdint.h>
-+#endif
-+#if HAVE_UNISTD_H
-+# include <unistd.h>
-+#endif"
-+
-+ac_subst_vars='SHELL
-+PATH_SEPARATOR
-+PACKAGE_NAME
-+PACKAGE_TARNAME
-+PACKAGE_VERSION
-+PACKAGE_STRING
-+PACKAGE_BUGREPORT
-+exec_prefix
-+prefix
-+program_transform_name
-+bindir
-+sbindir
-+libexecdir
-+datarootdir
-+datadir
-+sysconfdir
-+sharedstatedir
-+localstatedir
-+includedir
-+oldincludedir
-+docdir
-+infodir
-+htmldir
-+dvidir
-+pdfdir
-+psdir
-+libdir
-+localedir
-+mandir
-+DEFS
-+ECHO_C
-+ECHO_N
-+ECHO_T
-+LIBS
-+build_alias
-+host_alias
-+target_alias
-+INSTALL_PROGRAM
-+INSTALL_SCRIPT
-+INSTALL_DATA
-+CYGPATH_W
-+PACKAGE
-+VERSION
-+ACLOCAL
-+AUTOCONF
-+AUTOMAKE
-+AUTOHEADER
-+MAKEINFO
-+install_sh
-+STRIP
-+INSTALL_STRIP_PROGRAM
-+mkdir_p
-+AWK
-+SET_MAKE
-+am__leading_dot
-+AMTAR
-+am__tar
-+am__untar
-+MAINTAINER_MODE_TRUE
-+MAINTAINER_MODE_FALSE
-+MAINT
-+CC
-+CFLAGS
-+LDFLAGS
-+CPPFLAGS
-+ac_ct_CC
-+EXEEXT
-+OBJEXT
-+DEPDIR
-+am__include
-+am__quote
-+AMDEP_TRUE
-+AMDEP_FALSE
-+AMDEPBACKSLASH
-+CCDEPMODE
-+am__fastdepCC_TRUE
-+am__fastdepCC_FALSE
-+PKG_CONFIG
-+USB_CFLAGS
-+USB_LIBS
-+CPP
-+GREP
-+EGREP
-+LIBOBJS
-+LTLIBOBJS'
-+ac_subst_files=''
-+ ac_precious_vars='build_alias
-+host_alias
-+target_alias
-+CC
-+CFLAGS
-+LDFLAGS
-+CPPFLAGS
-+PKG_CONFIG
-+USB_CFLAGS
-+USB_LIBS
-+CPP'
-+
-+
-+# Initialize some variables set by options.
-+ac_init_help=
-+ac_init_version=false
-+# The variables have the same names as the options, with
-+# dashes changed to underlines.
-+cache_file=/dev/null
-+exec_prefix=NONE
-+no_create=
-+no_recursion=
-+prefix=NONE
-+program_prefix=NONE
-+program_suffix=NONE
-+program_transform_name=s,x,x,
-+silent=
-+site=
-+srcdir=
-+verbose=
-+x_includes=NONE
-+x_libraries=NONE
-+
-+# Installation directory options.
-+# These are left unexpanded so users can "make install exec_prefix=/foo"
-+# and all the variables that are supposed to be based on exec_prefix
-+# by default will actually change.
-+# Use braces instead of parens because sh, perl, etc. also accept them.
-+# (The list follows the same order as the GNU Coding Standards.)
-+bindir='${exec_prefix}/bin'
-+sbindir='${exec_prefix}/sbin'
-+libexecdir='${exec_prefix}/libexec'
-+datarootdir='${prefix}/share'
-+datadir='${datarootdir}'
-+sysconfdir='${prefix}/etc'
-+sharedstatedir='${prefix}/com'
-+localstatedir='${prefix}/var'
-+includedir='${prefix}/include'
-+oldincludedir='/usr/include'
-+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-+infodir='${datarootdir}/info'
-+htmldir='${docdir}'
-+dvidir='${docdir}'
-+pdfdir='${docdir}'
-+psdir='${docdir}'
-+libdir='${exec_prefix}/lib'
-+localedir='${datarootdir}/locale'
-+mandir='${datarootdir}/man'
-+
-+ac_prev=
-+ac_dashdash=
-+for ac_option
-+do
-+ # If the previous option needs an argument, assign it.
-+ if test -n "$ac_prev"; then
-+ eval $ac_prev=\$ac_option
-+ ac_prev=
-+ continue
-+ fi
-+
-+ case $ac_option in
-+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-+ *) ac_optarg=yes ;;
-+ esac
-+
-+ # Accept the important Cygnus configure options, so we can diagnose typos.
-+
-+ case $ac_dashdash$ac_option in
-+ --)
-+ ac_dashdash=yes ;;
-+
-+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
-+ ac_prev=bindir ;;
-+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-+ bindir=$ac_optarg ;;
-+
-+ -build | --build | --buil | --bui | --bu)
-+ ac_prev=build_alias ;;
-+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-+ build_alias=$ac_optarg ;;
-+
-+ -cache-file | --cache-file | --cache-fil | --cache-fi \
-+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-+ ac_prev=cache_file ;;
-+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-+ cache_file=$ac_optarg ;;
-+
-+ --config-cache | -C)
-+ cache_file=config.cache ;;
-+
-+ -datadir | --datadir | --datadi | --datad)
-+ ac_prev=datadir ;;
-+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
-+ datadir=$ac_optarg ;;
-+
-+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-+ | --dataroo | --dataro | --datar)
-+ ac_prev=datarootdir ;;
-+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-+ datarootdir=$ac_optarg ;;
-+
-+ -disable-* | --disable-*)
-+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-+ eval enable_$ac_feature=no ;;
-+
-+ -docdir | --docdir | --docdi | --doc | --do)
-+ ac_prev=docdir ;;
-+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-+ docdir=$ac_optarg ;;
-+
-+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-+ ac_prev=dvidir ;;
-+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-+ dvidir=$ac_optarg ;;
-+
-+ -enable-* | --enable-*)
-+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-+ eval enable_$ac_feature=\$ac_optarg ;;
-+
-+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-+ | --exec | --exe | --ex)
-+ ac_prev=exec_prefix ;;
-+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-+ | --exec=* | --exe=* | --ex=*)
-+ exec_prefix=$ac_optarg ;;
-+
-+ -gas | --gas | --ga | --g)
-+ # Obsolete; use --with-gas.
-+ with_gas=yes ;;
-+
-+ -help | --help | --hel | --he | -h)
-+ ac_init_help=long ;;
-+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-+ ac_init_help=recursive ;;
-+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-+ ac_init_help=short ;;
-+
-+ -host | --host | --hos | --ho)
-+ ac_prev=host_alias ;;
-+ -host=* | --host=* | --hos=* | --ho=*)
-+ host_alias=$ac_optarg ;;
-+
-+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-+ ac_prev=htmldir ;;
-+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-+ | --ht=*)
-+ htmldir=$ac_optarg ;;
-+
-+ -includedir | --includedir | --includedi | --included | --include \
-+ | --includ | --inclu | --incl | --inc)
-+ ac_prev=includedir ;;
-+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-+ | --includ=* | --inclu=* | --incl=* | --inc=*)
-+ includedir=$ac_optarg ;;
-+
-+ -infodir | --infodir | --infodi | --infod | --info | --inf)
-+ ac_prev=infodir ;;
-+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-+ infodir=$ac_optarg ;;
-+
-+ -libdir | --libdir | --libdi | --libd)
-+ ac_prev=libdir ;;
-+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
-+ libdir=$ac_optarg ;;
-+
-+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-+ | --libexe | --libex | --libe)
-+ ac_prev=libexecdir ;;
-+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-+ | --libexe=* | --libex=* | --libe=*)
-+ libexecdir=$ac_optarg ;;
-+
-+ -localedir | --localedir | --localedi | --localed | --locale)
-+ ac_prev=localedir ;;
-+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-+ localedir=$ac_optarg ;;
-+
-+ -localstatedir | --localstatedir | --localstatedi | --localstated \
-+ | --localstate | --localstat | --localsta | --localst | --locals)
-+ ac_prev=localstatedir ;;
-+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-+ localstatedir=$ac_optarg ;;
-+
-+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-+ ac_prev=mandir ;;
-+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-+ mandir=$ac_optarg ;;
-+
-+ -nfp | --nfp | --nf)
-+ # Obsolete; use --without-fp.
-+ with_fp=no ;;
-+
-+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-+ | --no-cr | --no-c | -n)
-+ no_create=yes ;;
-+
-+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-+ no_recursion=yes ;;
-+
-+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-+ | --oldin | --oldi | --old | --ol | --o)
-+ ac_prev=oldincludedir ;;
-+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-+ oldincludedir=$ac_optarg ;;
-+
-+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-+ ac_prev=prefix ;;
-+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-+ prefix=$ac_optarg ;;
-+
-+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
-+ | --program-pre | --program-pr | --program-p)
-+ ac_prev=program_prefix ;;
-+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
-+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-+ program_prefix=$ac_optarg ;;
-+
-+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
-+ | --program-suf | --program-su | --program-s)
-+ ac_prev=program_suffix ;;
-+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
-+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-+ program_suffix=$ac_optarg ;;
-+
-+ -program-transform-name | --program-transform-name \
-+ | --program-transform-nam | --program-transform-na \
-+ | --program-transform-n | --program-transform- \
-+ | --program-transform | --program-transfor \
-+ | --program-transfo | --program-transf \
-+ | --program-trans | --program-tran \
-+ | --progr-tra | --program-tr | --program-t)
-+ ac_prev=program_transform_name ;;
-+ -program-transform-name=* | --program-transform-name=* \
-+ | --program-transform-nam=* | --program-transform-na=* \
-+ | --program-transform-n=* | --program-transform-=* \
-+ | --program-transform=* | --program-transfor=* \
-+ | --program-transfo=* | --program-transf=* \
-+ | --program-trans=* | --program-tran=* \
-+ | --progr-tra=* | --program-tr=* | --program-t=*)
-+ program_transform_name=$ac_optarg ;;
-+
-+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-+ ac_prev=pdfdir ;;
-+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-+ pdfdir=$ac_optarg ;;
-+
-+ -psdir | --psdir | --psdi | --psd | --ps)
-+ ac_prev=psdir ;;
-+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-+ psdir=$ac_optarg ;;
-+
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil)
-+ silent=yes ;;
-+
-+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-+ ac_prev=sbindir ;;
-+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-+ | --sbi=* | --sb=*)
-+ sbindir=$ac_optarg ;;
-+
-+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
-+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-+ | --sharedst | --shareds | --shared | --share | --shar \
-+ | --sha | --sh)
-+ ac_prev=sharedstatedir ;;
-+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-+ | --sha=* | --sh=*)
-+ sharedstatedir=$ac_optarg ;;
-+
-+ -site | --site | --sit)
-+ ac_prev=site ;;
-+ -site=* | --site=* | --sit=*)
-+ site=$ac_optarg ;;
-+
-+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-+ ac_prev=srcdir ;;
-+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-+ srcdir=$ac_optarg ;;
-+
-+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-+ | --syscon | --sysco | --sysc | --sys | --sy)
-+ ac_prev=sysconfdir ;;
-+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-+ sysconfdir=$ac_optarg ;;
-+
-+ -target | --target | --targe | --targ | --tar | --ta | --t)
-+ ac_prev=target_alias ;;
-+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-+ target_alias=$ac_optarg ;;
-+
-+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
-+ verbose=yes ;;
-+
-+ -version | --version | --versio | --versi | --vers | -V)
-+ ac_init_version=: ;;
-+
-+ -with-* | --with-*)
-+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid package name: $ac_package" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_package=`echo $ac_package| sed 's/-/_/g'`
-+ eval with_$ac_package=\$ac_optarg ;;
-+
-+ -without-* | --without-*)
-+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid package name: $ac_package" >&2
-+ { (exit 1); exit 1; }; }
-+ ac_package=`echo $ac_package | sed 's/-/_/g'`
-+ eval with_$ac_package=no ;;
-+
-+ --x)
-+ # Obsolete; use --with-x.
-+ with_x=yes ;;
-+
-+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-+ | --x-incl | --x-inc | --x-in | --x-i)
-+ ac_prev=x_includes ;;
-+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-+ x_includes=$ac_optarg ;;
-+
-+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
-+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-+ ac_prev=x_libraries ;;
-+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-+ x_libraries=$ac_optarg ;;
-+
-+ -*) { echo "$as_me: error: unrecognized option: $ac_option
-+Try \`$0 --help' for more information." >&2
-+ { (exit 1); exit 1; }; }
-+ ;;
-+
-+ *=*)
-+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-+ { (exit 1); exit 1; }; }
-+ eval $ac_envvar=\$ac_optarg
-+ export $ac_envvar ;;
-+
-+ *)
-+ # FIXME: should be removed in autoconf 3.0.
-+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-+ ;;
-+
-+ esac
-+done
-+
-+if test -n "$ac_prev"; then
-+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-+ { echo "$as_me: error: missing argument to $ac_option" >&2
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+# Be sure to have absolute directory names.
-+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
-+ datadir sysconfdir sharedstatedir localstatedir includedir \
-+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-+ libdir localedir mandir
-+do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ [\\/$]* | ?:[\\/]* ) continue;;
-+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-+ esac
-+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-+ { (exit 1); exit 1; }; }
-+done
-+
-+# There might be people who depend on the old broken behavior: `$host'
-+# used to hold the argument of --host etc.
-+# FIXME: To remove some day.
-+build=$build_alias
-+host=$host_alias
-+target=$target_alias
-+
-+# FIXME: To remove some day.
-+if test "x$host_alias" != x; then
-+ if test "x$build_alias" = x; then
-+ cross_compiling=maybe
-+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-+ If a cross compiler is detected then cross compile mode will be used." >&2
-+ elif test "x$build_alias" != "x$host_alias"; then
-+ cross_compiling=yes
-+ fi
-+fi
-+
-+ac_tool_prefix=
-+test -n "$host_alias" && ac_tool_prefix=$host_alias-
-+
-+test "$silent" = yes && exec 6>/dev/null
-+
-+
-+ac_pwd=`pwd` && test -n "$ac_pwd" &&
-+ac_ls_di=`ls -di .` &&
-+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-+ { echo "$as_me: error: Working directory cannot be determined" >&2
-+ { (exit 1); exit 1; }; }
-+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-+ { echo "$as_me: error: pwd does not report name of working directory" >&2
-+ { (exit 1); exit 1; }; }
-+
-+
-+# Find the source files, if location was not specified.
-+if test -z "$srcdir"; then
-+ ac_srcdir_defaulted=yes
-+ # Try the directory containing this script, then the parent directory.
-+ ac_confdir=`$as_dirname -- "$0" ||
-+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$0" : 'X\(//\)[^/]' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X"$0" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ srcdir=$ac_confdir
-+ if test ! -r "$srcdir/$ac_unique_file"; then
-+ srcdir=..
-+ fi
-+else
-+ ac_srcdir_defaulted=no
-+fi
-+if test ! -r "$srcdir/$ac_unique_file"; then
-+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-+ { (exit 1); exit 1; }; }
-+fi
-+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-+ac_abs_confdir=`(
-+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
-+ { (exit 1); exit 1; }; }
-+ pwd)`
-+# When building in place, set srcdir=.
-+if test "$ac_abs_confdir" = "$ac_pwd"; then
-+ srcdir=.
-+fi
-+# Remove unnecessary trailing slashes from srcdir.
-+# Double slashes in file names in object file debugging info
-+# mess up M-x gdb in Emacs.
-+case $srcdir in
-+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-+esac
-+for ac_var in $ac_precious_vars; do
-+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
-+ eval ac_env_${ac_var}_value=\$${ac_var}
-+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
-+done
-+
-+#
-+# Report the --help message.
-+#
-+if test "$ac_init_help" = "long"; then
-+ # Omit some internal or obsolete options to make the list less imposing.
-+ # This message is too long to be a string in the A/UX 3.1 sh.
-+ cat <<_ACEOF
-+\`configure' configures dfu-util 0.1 to adapt to many kinds of systems.
-+
-+Usage: $0 [OPTION]... [VAR=VALUE]...
-+
-+To assign environment variables (e.g., CC, CFLAGS...), specify them as
-+VAR=VALUE. See below for descriptions of some of the useful variables.
-+
-+Defaults for the options are specified in brackets.
-+
-+Configuration:
-+ -h, --help display this help and exit
-+ --help=short display options specific to this package
-+ --help=recursive display the short help of all the included packages
-+ -V, --version display version information and exit
-+ -q, --quiet, --silent do not print \`checking...' messages
-+ --cache-file=FILE cache test results in FILE [disabled]
-+ -C, --config-cache alias for \`--cache-file=config.cache'
-+ -n, --no-create do not create output files
-+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
-+
-+Installation directories:
-+ --prefix=PREFIX install architecture-independent files in PREFIX
-+ [$ac_default_prefix]
-+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
-+ [PREFIX]
-+
-+By default, \`make install' will install all the files in
-+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-+for instance \`--prefix=\$HOME'.
-+
-+For better control, use the options below.
-+
-+Fine tuning of the installation directories:
-+ --bindir=DIR user executables [EPREFIX/bin]
-+ --sbindir=DIR system admin executables [EPREFIX/sbin]
-+ --libexecdir=DIR program executables [EPREFIX/libexec]
-+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
-+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
-+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
-+ --libdir=DIR object code libraries [EPREFIX/lib]
-+ --includedir=DIR C header files [PREFIX/include]
-+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
-+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
-+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
-+ --infodir=DIR info documentation [DATAROOTDIR/info]
-+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
-+ --mandir=DIR man documentation [DATAROOTDIR/man]
-+ --docdir=DIR documentation root [DATAROOTDIR/doc/dfu-util]
-+ --htmldir=DIR html documentation [DOCDIR]
-+ --dvidir=DIR dvi documentation [DOCDIR]
-+ --pdfdir=DIR pdf documentation [DOCDIR]
-+ --psdir=DIR ps documentation [DOCDIR]
-+_ACEOF
-+
-+ cat <<\_ACEOF
-+
-+Program names:
-+ --program-prefix=PREFIX prepend PREFIX to installed program names
-+ --program-suffix=SUFFIX append SUFFIX to installed program names
-+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-+_ACEOF
-+fi
-+
-+if test -n "$ac_init_help"; then
-+ case $ac_init_help in
-+ short | recursive ) echo "Configuration of dfu-util 0.1:";;
-+ esac
-+ cat <<\_ACEOF
-+
-+Optional Features:
-+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
-+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
-+ --enable-maintainer-mode enable make rules and dependencies not useful
-+ (and sometimes confusing) to the casual installer
-+ --disable-dependency-tracking speeds up one-time build
-+ --enable-dependency-tracking do not reject slow dependency extractors
-+
-+Some influential environment variables:
-+ CC C compiler command
-+ CFLAGS C compiler flags
-+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
-+ nonstandard directory <lib dir>
-+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-+ you have headers in a nonstandard directory <include dir>
-+ PKG_CONFIG path to pkg-config utility
-+ USB_CFLAGS C compiler flags for USB, overriding pkg-config
-+ USB_LIBS linker flags for USB, overriding pkg-config
-+ CPP C preprocessor
-+
-+Use these variables to override the choices made by `configure' or to help
-+it to find libraries and programs with nonstandard names/locations.
-+
-+_ACEOF
-+ac_status=$?
-+fi
-+
-+if test "$ac_init_help" = "recursive"; then
-+ # If there are subdirs, report their specific --help.
-+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-+ test -d "$ac_dir" || continue
-+ ac_builddir=.
-+
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
-+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-+ # A ".." for each directory in $ac_dir_suffix.
-+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+ case $ac_top_builddir_sub in
-+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+ esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
-+
-+case $srcdir in
-+ .) # We are building in place.
-+ ac_srcdir=.
-+ ac_top_srcdir=$ac_top_builddir_sub
-+ ac_abs_top_srcdir=$ac_pwd ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute name.
-+ ac_srcdir=$srcdir$ac_dir_suffix;
-+ ac_top_srcdir=$srcdir
-+ ac_abs_top_srcdir=$srcdir ;;
-+ *) # Relative name.
-+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_build_prefix$srcdir
-+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-+esac
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-+
-+ cd "$ac_dir" || { ac_status=$?; continue; }
-+ # Check for guested configure.
-+ if test -f "$ac_srcdir/configure.gnu"; then
-+ echo &&
-+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-+ elif test -f "$ac_srcdir/configure"; then
-+ echo &&
-+ $SHELL "$ac_srcdir/configure" --help=recursive
-+ else
-+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-+ fi || ac_status=$?
-+ cd "$ac_pwd" || { ac_status=$?; break; }
-+ done
-+fi
-+
-+test -n "$ac_init_help" && exit $ac_status
-+if $ac_init_version; then
-+ cat <<\_ACEOF
-+dfu-util configure 0.1
-+generated by GNU Autoconf 2.60
-+
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-+This configure script is free software; the Free Software Foundation
-+gives unlimited permission to copy, distribute and modify it.
-+_ACEOF
-+ exit
-+fi
-+cat >config.log <<_ACEOF
-+This file contains any messages produced by compilers while
-+running configure, to aid debugging if configure makes a mistake.
-+
-+It was created by dfu-util $as_me 0.1, which was
-+generated by GNU Autoconf 2.60. Invocation command line was
-+
-+ $ $0 $@
-+
-+_ACEOF
-+exec 5>>config.log
-+{
-+cat <<_ASUNAME
-+## --------- ##
-+## Platform. ##
-+## --------- ##
-+
-+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-+uname -m = `(uname -m) 2>/dev/null || echo unknown`
-+uname -r = `(uname -r) 2>/dev/null || echo unknown`
-+uname -s = `(uname -s) 2>/dev/null || echo unknown`
-+uname -v = `(uname -v) 2>/dev/null || echo unknown`
-+
-+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-+
-+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-+
-+_ASUNAME
-+
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ echo "PATH: $as_dir"
-+done
-+IFS=$as_save_IFS
-+
-+} >&5
-+
-+cat >&5 <<_ACEOF
-+
-+
-+## ----------- ##
-+## Core tests. ##
-+## ----------- ##
-+
-+_ACEOF
-+
-+
-+# Keep a trace of the command line.
-+# Strip out --no-create and --no-recursion so they do not pile up.
-+# Strip out --silent because we don't want to record it for future runs.
-+# Also quote any args containing shell meta-characters.
-+# Make two passes to allow for proper duplicate-argument suppression.
-+ac_configure_args=
-+ac_configure_args0=
-+ac_configure_args1=
-+ac_must_keep_next=false
-+for ac_pass in 1 2
-+do
-+ for ac_arg
-+ do
-+ case $ac_arg in
-+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil)
-+ continue ;;
-+ *\'*)
-+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ esac
-+ case $ac_pass in
-+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-+ 2)
-+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-+ if test $ac_must_keep_next = true; then
-+ ac_must_keep_next=false # Got value, back to normal.
-+ else
-+ case $ac_arg in
-+ *=* | --config-cache | -C | -disable-* | --disable-* \
-+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-+ | -with-* | --with-* | -without-* | --without-* | --x)
-+ case "$ac_configure_args0 " in
-+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-+ esac
-+ ;;
-+ -* ) ac_must_keep_next=true ;;
-+ esac
-+ fi
-+ ac_configure_args="$ac_configure_args '$ac_arg'"
-+ ;;
-+ esac
-+ done
-+done
-+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-+
-+# When interrupted or exit'd, cleanup temporary files, and complete
-+# config.log. We remove comments because anyway the quotes in there
-+# would cause problems or look ugly.
-+# WARNING: Use '\'' to represent an apostrophe within the trap.
-+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-+trap 'exit_status=$?
-+ # Save into config.log some information that might help in debugging.
-+ {
-+ echo
-+
-+ cat <<\_ASBOX
-+## ---------------- ##
-+## Cache variables. ##
-+## ---------------- ##
-+_ASBOX
-+ echo
-+ # The following way of writing the cache mishandles newlines in values,
-+(
-+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in #(
-+ *${as_nl}*)
-+ case $ac_var in #(
-+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+ esac
-+ case $ac_var in #(
-+ _ | IFS | as_nl) ;; #(
-+ *) $as_unset $ac_var ;;
-+ esac ;;
-+ esac
-+ done
-+ (set) 2>&1 |
-+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-+ *${as_nl}ac_space=\ *)
-+ sed -n \
-+ "s/'\''/'\''\\\\'\'''\''/g;
-+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-+ ;; #(
-+ *)
-+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-+ ;;
-+ esac |
-+ sort
-+)
-+ echo
-+
-+ cat <<\_ASBOX
-+## ----------------- ##
-+## Output variables. ##
-+## ----------------- ##
-+_ASBOX
-+ echo
-+ for ac_var in $ac_subst_vars
-+ do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+ esac
-+ echo "$ac_var='\''$ac_val'\''"
-+ done | sort
-+ echo
-+
-+ if test -n "$ac_subst_files"; then
-+ cat <<\_ASBOX
-+## ------------------- ##
-+## File substitutions. ##
-+## ------------------- ##
-+_ASBOX
-+ echo
-+ for ac_var in $ac_subst_files
-+ do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+ esac
-+ echo "$ac_var='\''$ac_val'\''"
-+ done | sort
-+ echo
-+ fi
-+
-+ if test -s confdefs.h; then
-+ cat <<\_ASBOX
-+## ----------- ##
-+## confdefs.h. ##
-+## ----------- ##
-+_ASBOX
-+ echo
-+ cat confdefs.h
-+ echo
-+ fi
-+ test "$ac_signal" != 0 &&
-+ echo "$as_me: caught signal $ac_signal"
-+ echo "$as_me: exit $exit_status"
-+ } >&5
-+ rm -f core *.core core.conftest.* &&
-+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-+ exit $exit_status
-+' 0
-+for ac_signal in 1 2 13 15; do
-+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-+done
-+ac_signal=0
-+
-+# confdefs.h avoids OS command line length limits that DEFS can exceed.
-+rm -f -r conftest* confdefs.h
-+
-+# Predefined preprocessor variables.
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_NAME "$PACKAGE_NAME"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_VERSION "$PACKAGE_VERSION"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_STRING "$PACKAGE_STRING"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-+_ACEOF
-+
-+
-+# Let the site file select an alternate cache file if it wants to.
-+# Prefer explicitly selected file to automatically selected ones.
-+if test -n "$CONFIG_SITE"; then
-+ set x "$CONFIG_SITE"
-+elif test "x$prefix" != xNONE; then
-+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
-+else
-+ set x "$ac_default_prefix/share/config.site" \
-+ "$ac_default_prefix/etc/config.site"
-+fi
-+shift
-+for ac_site_file
-+do
-+ if test -r "$ac_site_file"; then
-+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-+echo "$as_me: loading site script $ac_site_file" >&6;}
-+ sed 's/^/| /' "$ac_site_file" >&5
-+ . "$ac_site_file"
-+ fi
-+done
-+
-+if test -r "$cache_file"; then
-+ # Some versions of bash will fail to source /dev/null (special
-+ # files actually), so we avoid doing that.
-+ if test -f "$cache_file"; then
-+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-+echo "$as_me: loading cache $cache_file" >&6;}
-+ case $cache_file in
-+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
-+ *) . "./$cache_file";;
-+ esac
-+ fi
-+else
-+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-+echo "$as_me: creating cache $cache_file" >&6;}
-+ >$cache_file
-+fi
-+
-+# Check that the precious variables saved in the cache have kept the same
-+# value.
-+ac_cache_corrupted=false
-+for ac_var in $ac_precious_vars; do
-+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
-+ eval ac_new_set=\$ac_env_${ac_var}_set
-+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
-+ eval ac_new_val=\$ac_env_${ac_var}_value
-+ case $ac_old_set,$ac_new_set in
-+ set,)
-+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-+ ac_cache_corrupted=: ;;
-+ ,set)
-+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-+ ac_cache_corrupted=: ;;
-+ ,);;
-+ *)
-+ if test "x$ac_old_val" != "x$ac_new_val"; then
-+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-+echo "$as_me: former value: $ac_old_val" >&2;}
-+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-+echo "$as_me: current value: $ac_new_val" >&2;}
-+ ac_cache_corrupted=:
-+ fi;;
-+ esac
-+ # Pass precious variables to config.status.
-+ if test "$ac_new_set" = set; then
-+ case $ac_new_val in
-+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ *) ac_arg=$ac_var=$ac_new_val ;;
-+ esac
-+ case " $ac_configure_args " in
-+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
-+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-+ esac
-+ fi
-+done
-+if $ac_cache_corrupted; then
-+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-+ac_aux_dir=
-+for ac_dir in m4 "$srcdir"/m4; do
-+ if test -f "$ac_dir/install-sh"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/install-sh -c"
-+ break
-+ elif test -f "$ac_dir/install.sh"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/install.sh -c"
-+ break
-+ elif test -f "$ac_dir/shtool"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/shtool install -c"
-+ break
-+ fi
-+done
-+if test -z "$ac_aux_dir"; then
-+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in m4 \"$srcdir\"/m4" >&5
-+echo "$as_me: error: cannot find install-sh or install.sh in m4 \"$srcdir\"/m4" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+# These three variables are undocumented and unsupported,
-+# and are intended to be withdrawn in a future Autoconf release.
-+# They can cause serious problems if a builder's source tree is in a directory
-+# whose full name contains unusual characters.
-+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-+
-+
-+am__api_version="1.9"
-+# Find a good install program. We prefer a C program (faster),
-+# so one script is as good as another. But avoid the broken or
-+# incompatible versions:
-+# SysV /etc/install, /usr/sbin/install
-+# SunOS /usr/etc/install
-+# IRIX /sbin/install
-+# AIX /bin/install
-+# AmigaOS /C/install, which installs bootblocks on floppy discs
-+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-+# OS/2's system install, which has a completely different semantic
-+# ./install, which can be erroneously created by make from ./install.sh.
-+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-+if test -z "$INSTALL"; then
-+if test "${ac_cv_path_install+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ # Account for people who put trailing slashes in PATH elements.
-+case $as_dir/ in
-+ ./ | .// | /cC/* | \
-+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-+ /usr/ucb/* ) ;;
-+ *)
-+ # OSF1 and SCO ODT 3.0 have their own names for install.
-+ # Don't use installbsd from OSF since it installs stuff as root
-+ # by default.
-+ for ac_prog in ginstall scoinst install; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
-+ if test $ac_prog = install &&
-+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-+ # AIX install. It has an incompatible calling convention.
-+ :
-+ elif test $ac_prog = install &&
-+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-+ # program-specific install script used by HP pwplus--don't use.
-+ :
-+ else
-+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-+ break 3
-+ fi
-+ fi
-+ done
-+ done
-+ ;;
-+esac
-+done
-+IFS=$as_save_IFS
-+
-+
-+fi
-+ if test "${ac_cv_path_install+set}" = set; then
-+ INSTALL=$ac_cv_path_install
-+ else
-+ # As a last resort, use the slow shell script. Don't cache a
-+ # value for INSTALL within a source directory, because that will
-+ # break other packages using the cache if that directory is
-+ # removed, or if the value is a relative name.
-+ INSTALL=$ac_install_sh
-+ fi
-+fi
-+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-+echo "${ECHO_T}$INSTALL" >&6; }
-+
-+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-+# It thinks the first close brace ends the variable substitution.
-+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-+
-+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-+
-+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-+
-+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-+# Just in case
-+sleep 1
-+echo timestamp > conftest.file
-+# Do `set' in a subshell so we don't clobber the current shell's
-+# arguments. Must try -L first in case configure is actually a
-+# symlink; some systems play weird games with the mod time of symlinks
-+# (eg FreeBSD returns the mod time of the symlink's containing
-+# directory).
-+if (
-+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-+ if test "$*" = "X"; then
-+ # -L didn't work.
-+ set X `ls -t $srcdir/configure conftest.file`
-+ fi
-+ rm -f conftest.file
-+ if test "$*" != "X $srcdir/configure conftest.file" \
-+ && test "$*" != "X conftest.file $srcdir/configure"; then
-+
-+ # If neither matched, then we have a broken ls. This can happen
-+ # if, for instance, CONFIG_SHELL is bash and it inherits a
-+ # broken ls alias from the environment. This has actually
-+ # happened. Such a system could not be considered "sane".
-+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-+alias in your environment" >&5
-+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-+alias in your environment" >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi
-+
-+ test "$2" = conftest.file
-+ )
-+then
-+ # Ok.
-+ :
-+else
-+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-+Check your system clock" >&5
-+echo "$as_me: error: newly created file is older than distributed files!
-+Check your system clock" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+{ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-+test "$program_prefix" != NONE &&
-+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
-+# Use a double $ so make ignores it.
-+test "$program_suffix" != NONE &&
-+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-+# Double any \ or $. echo might interpret backslashes.
-+# By default was `s,x,x', remove it if useless.
-+cat <<\_ACEOF >conftest.sed
-+s/[\\$]/&&/g;s/;s,x,x,$//
-+_ACEOF
-+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-+rm -f conftest.sed
-+
-+# expand $ac_aux_dir to an absolute path
-+am_aux_dir=`cd $ac_aux_dir && pwd`
-+
-+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-+# Use eval to expand $SHELL
-+if eval "$MISSING --run true"; then
-+ am_missing_run="$MISSING --run "
-+else
-+ am_missing_run=
-+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-+fi
-+
-+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-+ # We used to keeping the `.' as first argument, in order to
-+ # allow $(mkdir_p) to be used without argument. As in
-+ # $(mkdir_p) $(somedir)
-+ # where $(somedir) is conditionally defined. However this is wrong
-+ # for two reasons:
-+ # 1. if the package is installed by a user who cannot write `.'
-+ # make install will fail,
-+ # 2. the above comment should most certainly read
-+ # $(mkdir_p) $(DESTDIR)$(somedir)
-+ # so it does not work when $(somedir) is undefined and
-+ # $(DESTDIR) is not.
-+ # To support the latter case, we have to write
-+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
-+ # so the `.' trick is pointless.
-+ mkdir_p='mkdir -p --'
-+else
-+ # On NextStep and OpenStep, the `mkdir' command does not
-+ # recognize any option. It will interpret all options as
-+ # directories to create, and then abort because `.' already
-+ # exists.
-+ for d in ./-p ./--version;
-+ do
-+ test -d $d && rmdir $d
-+ done
-+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
-+ if test -f "$ac_aux_dir/mkinstalldirs"; then
-+ mkdir_p='$(mkinstalldirs)'
-+ else
-+ mkdir_p='$(install_sh) -d'
-+ fi
-+fi
-+
-+for ac_prog in gawk mawk nawk awk
-+do
-+ # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_AWK+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$AWK"; then
-+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_AWK="$ac_prog"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+AWK=$ac_cv_prog_AWK
-+if test -n "$AWK"; then
-+ { echo "$as_me:$LINENO: result: $AWK" >&5
-+echo "${ECHO_T}$AWK" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+ test -n "$AWK" && break
-+done
-+
-+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.make <<\_ACEOF
-+SHELL = /bin/sh
-+all:
-+ @echo '@@@%%%=$(MAKE)=@@@%%%'
-+_ACEOF
-+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-+case `${MAKE-make} -f conftest.make 2>/dev/null` in
-+ *@@@%%%=?*=@@@%%%*)
-+ eval ac_cv_prog_make_${ac_make}_set=yes;;
-+ *)
-+ eval ac_cv_prog_make_${ac_make}_set=no;;
-+esac
-+rm -f conftest.make
-+fi
-+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-+ SET_MAKE=
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+ SET_MAKE="MAKE=${MAKE-make}"
-+fi
-+
-+rm -rf .tst 2>/dev/null
-+mkdir .tst 2>/dev/null
-+if test -d .tst; then
-+ am__leading_dot=.
-+else
-+ am__leading_dot=_
-+fi
-+rmdir .tst 2>/dev/null
-+
-+# test to see if srcdir already configured
-+if test "`cd $srcdir && pwd`" != "`pwd`" &&
-+ test -f $srcdir/config.status; then
-+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+# test whether we have cygpath
-+if test -z "$CYGPATH_W"; then
-+ if (cygpath --version) >/dev/null 2>/dev/null; then
-+ CYGPATH_W='cygpath -w'
-+ else
-+ CYGPATH_W=echo
-+ fi
-+fi
-+
-+
-+# Define the identity of the package.
-+ PACKAGE=dfu-util
-+ VERSION=0.1
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE "$PACKAGE"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define VERSION "$VERSION"
-+_ACEOF
-+
-+# Some tools Automake needs.
-+
-+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-+
-+
-+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-+
-+
-+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-+
-+
-+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-+
-+
-+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-+
-+install_sh=${install_sh-"$am_aux_dir/install-sh"}
-+
-+# Installed binaries are usually stripped using `strip' when the user
-+# run `make install-strip'. However `strip' might not be the right
-+# tool to use in cross-compilation environments, therefore Automake
-+# will honor the `STRIP' environment variable to overrule this program.
-+if test "$cross_compiling" != no; then
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}strip; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_STRIP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$STRIP"; then
-+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+STRIP=$ac_cv_prog_STRIP
-+if test -n "$STRIP"; then
-+ { echo "$as_me:$LINENO: result: $STRIP" >&5
-+echo "${ECHO_T}$STRIP" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_STRIP"; then
-+ ac_ct_STRIP=$STRIP
-+ # Extract the first word of "strip", so it can be a program name with args.
-+set dummy strip; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$ac_ct_STRIP"; then
-+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_STRIP="strip"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-+if test -n "$ac_ct_STRIP"; then
-+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_STRIP" = x; then
-+ STRIP=":"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ STRIP=$ac_ct_STRIP
-+ fi
-+else
-+ STRIP="$ac_cv_prog_STRIP"
-+fi
-+
-+fi
-+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-+
-+# We need awk for the "check" target. The system "awk" is bad on
-+# some platforms.
-+# Always define AMTAR for backward compatibility.
-+
-+AMTAR=${AMTAR-"${am_missing_run}tar"}
-+
-+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-+
-+
-+
-+
-+
-+#AC_CONFIG_SRCDIR([src/atmel.c])
-+ac_config_headers="$ac_config_headers config.h"
-+
-+
-+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
-+ # Check whether --enable-maintainer-mode was given.
-+if test "${enable_maintainer_mode+set}" = set; then
-+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-+else
-+ USE_MAINTAINER_MODE=no
-+fi
-+
-+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-+
-+
-+if test $USE_MAINTAINER_MODE = yes; then
-+ MAINTAINER_MODE_TRUE=
-+ MAINTAINER_MODE_FALSE='#'
-+else
-+ MAINTAINER_MODE_TRUE='#'
-+ MAINTAINER_MODE_FALSE=
-+fi
-+
-+ MAINT=$MAINTAINER_MODE_TRUE
-+
-+
-+
-+# Checks for programs.
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}gcc; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_CC"; then
-+ ac_ct_CC=$CC
-+ # Extract the first word of "gcc", so it can be a program name with args.
-+set dummy gcc; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_CC="gcc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_CC" = x; then
-+ CC=""
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ CC=$ac_ct_CC
-+ fi
-+else
-+ CC="$ac_cv_prog_CC"
-+fi
-+
-+if test -z "$CC"; then
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}cc; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_CC="${ac_tool_prefix}cc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+ fi
-+fi
-+if test -z "$CC"; then
-+ # Extract the first word of "cc", so it can be a program name with args.
-+set dummy cc; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # Let the user override the test.
-+else
-+ ac_prog_rejected=no
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-+ ac_prog_rejected=yes
-+ continue
-+ fi
-+ ac_cv_prog_CC="cc"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+if test $ac_prog_rejected = yes; then
-+ # We found a bogon in the path, so make sure we never use it.
-+ set dummy $ac_cv_prog_CC
-+ shift
-+ if test $# != 0; then
-+ # We chose a different compiler from the bogus one.
-+ # However, it has the same basename, so the bogon will be chosen
-+ # first if we set CC to just the basename; use the full file name.
-+ shift
-+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-+ fi
-+fi
-+fi
-+fi
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$CC"; then
-+ if test -n "$ac_tool_prefix"; then
-+ for ac_prog in cl.exe
-+ do
-+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+ test -n "$CC" && break
-+ done
-+fi
-+if test -z "$CC"; then
-+ ac_ct_CC=$CC
-+ for ac_prog in cl.exe
-+do
-+ # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_CC="$ac_prog"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+echo "${ECHO_T}$ac_ct_CC" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+ test -n "$ac_ct_CC" && break
-+done
-+
-+ if test "x$ac_ct_CC" = x; then
-+ CC=""
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ CC=$ac_ct_CC
-+ fi
-+fi
-+
-+fi
-+
-+
-+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: no acceptable C compiler found in \$PATH
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+
-+# Provide some information about the compiler.
-+echo "$as_me:$LINENO: checking for C compiler version" >&5
-+ac_compiler=`set X $ac_compile; echo $2`
-+{ (ac_try="$ac_compiler --version >&5"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compiler --version >&5") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }
-+{ (ac_try="$ac_compiler -v >&5"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compiler -v >&5") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }
-+{ (ac_try="$ac_compiler -V >&5"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compiler -V >&5") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }
-+
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+ac_clean_files_save=$ac_clean_files
-+ac_clean_files="$ac_clean_files a.out a.exe b.out"
-+# Try to create an executable without -o first, disregard a.out.
-+# It will help us diagnose broken compilers, and finding out an intuition
-+# of exeext.
-+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-+#
-+# List of possible output files, starting from the most likely.
-+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-+# only as a last resort. b.out is created by i960 compilers.
-+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-+#
-+# The IRIX 6 linker writes into existing files which may not be
-+# executable, retaining their permissions. Remove them first so a
-+# subsequent execution test works.
-+ac_rmfiles=
-+for ac_file in $ac_files
-+do
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-+ esac
-+done
-+rm -f $ac_rmfiles
-+
-+if { (ac_try="$ac_link_default"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link_default") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-+# in a Makefile. We should not override ac_cv_exeext if it was cached,
-+# so that the user can short-circuit this test for compilers unknown to
-+# Autoconf.
-+for ac_file in $ac_files
-+do
-+ test -f "$ac_file" || continue
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
-+ ;;
-+ [ab].out )
-+ # We found the default executable, but exeext='' is most
-+ # certainly right.
-+ break;;
-+ *.* )
-+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-+ then :; else
-+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ fi
-+ # We set ac_cv_exeext here because the later test for it is not
-+ # safe: cross compilers may not add the suffix if given an `-o'
-+ # argument, so we may need to know it at that point already.
-+ # Even if this section looks crufty: it has the advantage of
-+ # actually working.
-+ break;;
-+ * )
-+ break;;
-+ esac
-+done
-+test "$ac_cv_exeext" = no && ac_cv_exeext=
-+
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: C compiler cannot create executables
-+See \`config.log' for more details." >&2;}
-+ { (exit 77); exit 77; }; }
-+fi
-+
-+ac_exeext=$ac_cv_exeext
-+{ echo "$as_me:$LINENO: result: $ac_file" >&5
-+echo "${ECHO_T}$ac_file" >&6; }
-+
-+# Check that the compiler produces executables we can run. If not, either
-+# the compiler is broken, or we cross compile.
-+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
-+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-+# If not cross compiling, check that we can run a simple program.
-+if test "$cross_compiling" != yes; then
-+ if { ac_try='./$ac_file'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ cross_compiling=no
-+ else
-+ if test "$cross_compiling" = maybe; then
-+ cross_compiling=yes
-+ else
-+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+ fi
-+ fi
-+fi
-+{ echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-+
-+rm -f a.out a.exe conftest$ac_cv_exeext b.out
-+ac_clean_files=$ac_clean_files_save
-+# Check that the compiler produces executables we can run. If not, either
-+# the compiler is broken, or we cross compile.
-+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-+echo "${ECHO_T}$cross_compiling" >&6; }
-+
-+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
-+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-+# work properly (i.e., refer to `conftest.exe'), while it won't with
-+# `rm'.
-+for ac_file in conftest.exe conftest conftest.*; do
-+ test -f "$ac_file" || continue
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ break;;
-+ * ) break;;
-+ esac
-+done
-+else
-+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+rm -f conftest$ac_cv_exeext
-+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-+echo "${ECHO_T}$ac_cv_exeext" >&6; }
-+
-+rm -f conftest.$ac_ext
-+EXEEXT=$ac_cv_exeext
-+ac_exeext=$EXEEXT
-+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-+if test "${ac_cv_objext+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.o conftest.obj
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ for ac_file in conftest.o conftest.obj conftest.*; do
-+ test -f "$ac_file" || continue;
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-+ break;;
-+ esac
-+done
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+rm -f conftest.$ac_cv_objext conftest.$ac_ext
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-+echo "${ECHO_T}$ac_cv_objext" >&6; }
-+OBJEXT=$ac_cv_objext
-+ac_objext=$OBJEXT
-+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-+if test "${ac_cv_c_compiler_gnu+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+#ifndef __GNUC__
-+ choke me
-+#endif
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_compiler_gnu=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_compiler_gnu=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ac_cv_c_compiler_gnu=$ac_compiler_gnu
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-+GCC=`test $ac_compiler_gnu = yes && echo yes`
-+ac_test_CFLAGS=${CFLAGS+set}
-+ac_save_CFLAGS=$CFLAGS
-+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_cc_g+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_save_c_werror_flag=$ac_c_werror_flag
-+ ac_c_werror_flag=yes
-+ ac_cv_prog_cc_g=no
-+ CFLAGS="-g"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_prog_cc_g=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ CFLAGS=""
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ :
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_c_werror_flag=$ac_save_c_werror_flag
-+ CFLAGS="-g"
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_prog_cc_g=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ ac_c_werror_flag=$ac_save_c_werror_flag
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-+if test "$ac_test_CFLAGS" = set; then
-+ CFLAGS=$ac_save_CFLAGS
-+elif test $ac_cv_prog_cc_g = yes; then
-+ if test "$GCC" = yes; then
-+ CFLAGS="-g -O2"
-+ else
-+ CFLAGS="-g"
-+ fi
-+else
-+ if test "$GCC" = yes; then
-+ CFLAGS="-O2"
-+ else
-+ CFLAGS=
-+ fi
-+fi
-+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-+if test "${ac_cv_prog_cc_c89+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_cv_prog_cc_c89=no
-+ac_save_CC=$CC
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <stdarg.h>
-+#include <stdio.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-+struct buf { int x; };
-+FILE * (*rcsopen) (struct buf *, struct stat *, int);
-+static char *e (p, i)
-+ char **p;
-+ int i;
-+{
-+ return p[i];
-+}
-+static char *f (char * (*g) (char **, int), char **p, ...)
-+{
-+ char *s;
-+ va_list v;
-+ va_start (v,p);
-+ s = g (p, va_arg (v,int));
-+ va_end (v);
-+ return s;
-+}
-+
-+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
-+ function prototypes and stuff, but not '\xHH' hex character constants.
-+ These don't provoke an error unfortunately, instead are silently treated
-+ as 'x'. The following induces an error, until -std is added to get
-+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
-+ array size at least. It's necessary to write '\x00'==0 to get something
-+ that's true only with -std. */
-+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-+
-+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-+ inside strings and character constants. */
-+#define FOO(x) 'x'
-+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-+
-+int test (int i, double x);
-+struct s1 {int (*f) (int a);};
-+struct s2 {int (*f) (double a);};
-+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-+int argc;
-+char **argv;
-+int
-+main ()
-+{
-+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-+do
-+ CC="$ac_save_CC $ac_arg"
-+ rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_prog_cc_c89=$ac_arg
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext
-+ test "x$ac_cv_prog_cc_c89" != "xno" && break
-+done
-+rm -f conftest.$ac_ext
-+CC=$ac_save_CC
-+
-+fi
-+# AC_CACHE_VAL
-+case "x$ac_cv_prog_cc_c89" in
-+ x)
-+ { echo "$as_me:$LINENO: result: none needed" >&5
-+echo "${ECHO_T}none needed" >&6; } ;;
-+ xno)
-+ { echo "$as_me:$LINENO: result: unsupported" >&5
-+echo "${ECHO_T}unsupported" >&6; } ;;
-+ *)
-+ CC="$CC $ac_cv_prog_cc_c89"
-+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-+esac
-+
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+DEPDIR="${am__leading_dot}deps"
-+
-+ac_config_commands="$ac_config_commands depfiles"
-+
-+
-+am_make=${MAKE-make}
-+cat > confinc << 'END'
-+am__doit:
-+ @echo done
-+.PHONY: am__doit
-+END
-+# If we don't find an include directive, just comment out the code.
-+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
-+am__include="#"
-+am__quote=
-+_am_result=none
-+# First try GNU make style include.
-+echo "include confinc" > confmf
-+# We grep out `Entering directory' and `Leaving directory'
-+# messages which can occur if `w' ends up in MAKEFLAGS.
-+# In particular we don't look at `^make:' because GNU make might
-+# be invoked under some other name (usually "gmake"), in which
-+# case it prints its new name instead of `make'.
-+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-+ am__include=include
-+ am__quote=
-+ _am_result=GNU
-+fi
-+# Now try BSD make style include.
-+if test "$am__include" = "#"; then
-+ echo '.include "confinc"' > confmf
-+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-+ am__include=.include
-+ am__quote="\""
-+ _am_result=BSD
-+ fi
-+fi
-+
-+
-+{ echo "$as_me:$LINENO: result: $_am_result" >&5
-+echo "${ECHO_T}$_am_result" >&6; }
-+rm -f confinc confmf
-+
-+# Check whether --enable-dependency-tracking was given.
-+if test "${enable_dependency_tracking+set}" = set; then
-+ enableval=$enable_dependency_tracking;
-+fi
-+
-+if test "x$enable_dependency_tracking" != xno; then
-+ am_depcomp="$ac_aux_dir/depcomp"
-+ AMDEPBACKSLASH='\'
-+fi
-+
-+
-+if test "x$enable_dependency_tracking" != xno; then
-+ AMDEP_TRUE=
-+ AMDEP_FALSE='#'
-+else
-+ AMDEP_TRUE='#'
-+ AMDEP_FALSE=
-+fi
-+
-+
-+
-+
-+depcc="$CC" am_compiler_list=
-+
-+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-+ # We make a subdir and do the tests there. Otherwise we can end up
-+ # making bogus files that we don't know about and never remove. For
-+ # instance it was reported that on HP-UX the gcc test will end up
-+ # making a dummy file named `D' -- because `-MD' means `put the output
-+ # in D'.
-+ mkdir conftest.dir
-+ # Copy depcomp to subdir because otherwise we won't find it if we're
-+ # using a relative directory.
-+ cp "$am_depcomp" conftest.dir
-+ cd conftest.dir
-+ # We will build objects and dependencies in a subdirectory because
-+ # it helps to detect inapplicable dependency modes. For instance
-+ # both Tru64's cc and ICC support -MD to output dependencies as a
-+ # side effect of compilation, but ICC will put the dependencies in
-+ # the current directory while Tru64 will put them in the object
-+ # directory.
-+ mkdir sub
-+
-+ am_cv_CC_dependencies_compiler_type=none
-+ if test "$am_compiler_list" = ""; then
-+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-+ fi
-+ for depmode in $am_compiler_list; do
-+ # Setup a source with many dependencies, because some compilers
-+ # like to wrap large dependency lists on column 80 (with \), and
-+ # we should not choose a depcomp mode which is confused by this.
-+ #
-+ # We need to recreate these files for each test, as the compiler may
-+ # overwrite some of them when testing with obscure command lines.
-+ # This happens at least with the AIX C compiler.
-+ : > sub/conftest.c
-+ for i in 1 2 3 4 5 6; do
-+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
-+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-+ # Solaris 8's {/usr,}/bin/sh.
-+ touch sub/conftst$i.h
-+ done
-+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-+
-+ case $depmode in
-+ nosideeffect)
-+ # after this tag, mechanisms are not by side-effect, so they'll
-+ # only be used when explicitly requested
-+ if test "x$enable_dependency_tracking" = xyes; then
-+ continue
-+ else
-+ break
-+ fi
-+ ;;
-+ none) break ;;
-+ esac
-+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
-+ # mode. It turns out that the SunPro C++ compiler does not properly
-+ # handle `-M -o', and we need to detect this.
-+ if depmode=$depmode \
-+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-+ >/dev/null 2>conftest.err &&
-+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-+ # icc doesn't choke on unknown options, it will just issue warnings
-+ # or remarks (even with -Werror). So we grep stderr for any message
-+ # that says an option was ignored or not supported.
-+ # When given -MP, icc 7.0 and 7.1 complain thusly:
-+ # icc: Command line warning: ignoring option '-M'; no argument required
-+ # The diagnosis changed in icc 8.0:
-+ # icc: Command line remark: option '-MP' not supported
-+ if (grep 'ignoring option' conftest.err ||
-+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-+ am_cv_CC_dependencies_compiler_type=$depmode
-+ break
-+ fi
-+ fi
-+ done
-+
-+ cd ..
-+ rm -rf conftest.dir
-+else
-+ am_cv_CC_dependencies_compiler_type=none
-+fi
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-+
-+
-+
-+if
-+ test "x$enable_dependency_tracking" != xno \
-+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-+ am__fastdepCC_TRUE=
-+ am__fastdepCC_FALSE='#'
-+else
-+ am__fastdepCC_TRUE='#'
-+ am__fastdepCC_FALSE=
-+fi
-+
-+
-+
-+# Checks for libraries.
-+
-+
-+
-+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ case $PKG_CONFIG in
-+ [\\/]* | ?:[\\/]*)
-+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-+ ;;
-+ *)
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+fi
-+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-+if test -n "$PKG_CONFIG"; then
-+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-+echo "${ECHO_T}$PKG_CONFIG" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_path_PKG_CONFIG"; then
-+ ac_pt_PKG_CONFIG=$PKG_CONFIG
-+ # Extract the first word of "pkg-config", so it can be a program name with args.
-+set dummy pkg-config; ac_word=$2
-+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ case $ac_pt_PKG_CONFIG in
-+ [\\/]* | ?:[\\/]*)
-+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-+ ;;
-+ *)
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+fi
-+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-+if test -n "$ac_pt_PKG_CONFIG"; then
-+ { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
-+else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+fi
-+
-+ if test "x$ac_pt_PKG_CONFIG" = x; then
-+ PKG_CONFIG=""
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&5
-+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-+whose name does not start with the host triplet. If you think this
-+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ PKG_CONFIG=$ac_pt_PKG_CONFIG
-+ fi
-+else
-+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-+fi
-+
-+fi
-+if test -n "$PKG_CONFIG"; then
-+ _pkg_min_version=0.9.0
-+ { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
-+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-+ else
-+ { echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6; }
-+ PKG_CONFIG=""
-+ fi
-+
-+fi
-+
-+pkg_failed=no
-+{ echo "$as_me:$LINENO: checking for USB" >&5
-+echo $ECHO_N "checking for USB... $ECHO_C" >&6; }
-+
-+if test -n "$PKG_CONFIG"; then
-+ if test -n "$USB_CFLAGS"; then
-+ pkg_cv_USB_CFLAGS="$USB_CFLAGS"
-+ else
-+ if test -n "$PKG_CONFIG" && \
-+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.4\"") >&5
-+ ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.4") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb >= 0.1.4" 2>/dev/null`
-+else
-+ pkg_failed=yes
-+fi
-+ fi
-+else
-+ pkg_failed=untried
-+fi
-+if test -n "$PKG_CONFIG"; then
-+ if test -n "$USB_LIBS"; then
-+ pkg_cv_USB_LIBS="$USB_LIBS"
-+ else
-+ if test -n "$PKG_CONFIG" && \
-+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.4\"") >&5
-+ ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.4") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb >= 0.1.4" 2>/dev/null`
-+else
-+ pkg_failed=yes
-+fi
-+ fi
-+else
-+ pkg_failed=untried
-+fi
-+
-+
-+
-+if test $pkg_failed = yes; then
-+
-+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-+ _pkg_short_errors_supported=yes
-+else
-+ _pkg_short_errors_supported=no
-+fi
-+ if test $_pkg_short_errors_supported = yes; then
-+ USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libusb >= 0.1.4"`
-+ else
-+ USB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libusb >= 0.1.4"`
-+ fi
-+ # Put the nasty error message in config.log where it belongs
-+ echo "$USB_PKG_ERRORS" >&5
-+
-+ { { echo "$as_me:$LINENO: error: *** Required libusb >= 0.1.4 not installed ***" >&5
-+echo "$as_me: error: *** Required libusb >= 0.1.4 not installed ***" >&2;}
-+ { (exit 1); exit 1; }; }
-+elif test $pkg_failed = untried; then
-+ { { echo "$as_me:$LINENO: error: *** Required libusb >= 0.1.4 not installed ***" >&5
-+echo "$as_me: error: *** Required libusb >= 0.1.4 not installed ***" >&2;}
-+ { (exit 1); exit 1; }; }
-+else
-+ USB_CFLAGS=$pkg_cv_USB_CFLAGS
-+ USB_LIBS=$pkg_cv_USB_LIBS
-+ { echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6; }
-+ :
-+fi
-+
-+
-+{ echo "$as_me:$LINENO: checking for usb_path2devnum in -lusbpath" >&5
-+echo $ECHO_N "checking for usb_path2devnum in -lusbpath... $ECHO_C" >&6; }
-+if test "${ac_cv_lib_usbpath_usb_path2devnum+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lusbpath -lusb $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char usb_path2devnum ();
-+int
-+main ()
-+{
-+return usb_path2devnum ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_lib_usbpath_usb_path2devnum=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_lib_usbpath_usb_path2devnum=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_lib_usbpath_usb_path2devnum" >&5
-+echo "${ECHO_T}$ac_cv_lib_usbpath_usb_path2devnum" >&6; }
-+if test $ac_cv_lib_usbpath_usb_path2devnum = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_LIBUSBPATH 1
-+_ACEOF
-+
-+ LIBS="-lusbpath $LIBS"
-+
-+fi
-+
-+
-+LIBS="$LIBS $USB_LIBS"
-+CFLAGS="$CFLAGS $USB_CFLAGS"
-+
-+# Checks for header files.
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-+# On Suns, sometimes $CPP names a directory.
-+if test -n "$CPP" && test -d "$CPP"; then
-+ CPP=
-+fi
-+if test -z "$CPP"; then
-+ if test "${ac_cv_prog_CPP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ # Double quotes because CPP needs to be expanded
-+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-+ do
-+ ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+ # Use a header file that comes with gcc, so configuring glibc
-+ # with a fresh cross-compiler works.
-+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ # <limits.h> exists even on freestanding compilers.
-+ # On the NeXT, cc -E runs the code through the compiler's parser,
-+ # not just through cpp. "Syntax error" is here to catch this case.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+ Syntax error
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ :
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Broken: fails on valid input.
-+continue
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+
-+ # OK, works on sane cases. Now check whether nonexistent headers
-+ # can be detected and how.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <ac_nonexistent.h>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ # Broken: success on invalid input.
-+continue
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Passes both tests.
-+ac_preproc_ok=:
-+break
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then
-+ break
-+fi
-+
-+ done
-+ ac_cv_prog_CPP=$CPP
-+
-+fi
-+ CPP=$ac_cv_prog_CPP
-+else
-+ ac_cv_prog_CPP=$CPP
-+fi
-+{ echo "$as_me:$LINENO: result: $CPP" >&5
-+echo "${ECHO_T}$CPP" >&6; }
-+ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+ # Use a header file that comes with gcc, so configuring glibc
-+ # with a fresh cross-compiler works.
-+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ # <limits.h> exists even on freestanding compilers.
-+ # On the NeXT, cc -E runs the code through the compiler's parser,
-+ # not just through cpp. "Syntax error" is here to catch this case.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+ Syntax error
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ :
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Broken: fails on valid input.
-+continue
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+
-+ # OK, works on sane cases. Now check whether nonexistent headers
-+ # can be detected and how.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <ac_nonexistent.h>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ # Broken: success on invalid input.
-+continue
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ # Passes both tests.
-+ac_preproc_ok=:
-+break
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then
-+ :
-+else
-+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-+if test "${ac_cv_path_GREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ # Extract the first word of "grep ggrep" to use in msg output
-+if test -z "$GREP"; then
-+set dummy grep ggrep; ac_prog_name=$2
-+if test "${ac_cv_path_GREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_path_GREP_found=false
-+# Loop through the user's path and test for each of PROGNAME-LIST
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in grep ggrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
-+ # Check for GNU ac_path_GREP and select it if it is found.
-+ # Check for GNU $ac_path_GREP
-+case `"$ac_path_GREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-+*)
-+ ac_count=0
-+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ echo 'GREP' >> "conftest.nl"
-+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ ac_count=`expr $ac_count + 1`
-+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_GREP="$ac_path_GREP"
-+ ac_path_GREP_max=$ac_count
-+ fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+
-+ $ac_path_GREP_found && break 3
-+ done
-+done
-+
-+done
-+IFS=$as_save_IFS
-+
-+
-+fi
-+
-+GREP="$ac_cv_path_GREP"
-+if test -z "$GREP"; then
-+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+else
-+ ac_cv_path_GREP=$GREP
-+fi
-+
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
-+ GREP="$ac_cv_path_GREP"
-+
-+
-+{ echo "$as_me:$LINENO: checking for egrep" >&5
-+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-+if test "${ac_cv_path_EGREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-+ then ac_cv_path_EGREP="$GREP -E"
-+ else
-+ # Extract the first word of "egrep" to use in msg output
-+if test -z "$EGREP"; then
-+set dummy egrep; ac_prog_name=$2
-+if test "${ac_cv_path_EGREP+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ ac_path_EGREP_found=false
-+# Loop through the user's path and test for each of PROGNAME-LIST
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in egrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
-+ # Check for GNU ac_path_EGREP and select it if it is found.
-+ # Check for GNU $ac_path_EGREP
-+case `"$ac_path_EGREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-+*)
-+ ac_count=0
-+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ echo 'EGREP' >> "conftest.nl"
-+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ ac_count=`expr $ac_count + 1`
-+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_EGREP="$ac_path_EGREP"
-+ ac_path_EGREP_max=$ac_count
-+ fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+
-+ $ac_path_EGREP_found && break 3
-+ done
-+done
-+
-+done
-+IFS=$as_save_IFS
-+
-+
-+fi
-+
-+EGREP="$ac_cv_path_EGREP"
-+if test -z "$EGREP"; then
-+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+else
-+ ac_cv_path_EGREP=$EGREP
-+fi
-+
-+
-+ fi
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
-+ EGREP="$ac_cv_path_EGREP"
-+
-+
-+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-+if test "${ac_cv_header_stdc+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <stdlib.h>
-+#include <stdarg.h>
-+#include <string.h>
-+#include <float.h>
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_header_stdc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_header_stdc=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+if test $ac_cv_header_stdc = yes; then
-+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <string.h>
-+
-+_ACEOF
-+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-+ $EGREP "memchr" >/dev/null 2>&1; then
-+ :
-+else
-+ ac_cv_header_stdc=no
-+fi
-+rm -f conftest*
-+
-+fi
-+
-+if test $ac_cv_header_stdc = yes; then
-+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <stdlib.h>
-+
-+_ACEOF
-+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-+ $EGREP "free" >/dev/null 2>&1; then
-+ :
-+else
-+ ac_cv_header_stdc=no
-+fi
-+rm -f conftest*
-+
-+fi
-+
-+if test $ac_cv_header_stdc = yes; then
-+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-+ if test "$cross_compiling" = yes; then
-+ :
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <ctype.h>
-+#include <stdlib.h>
-+#if ((' ' & 0x0FF) == 0x020)
-+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-+#else
-+# define ISLOWER(c) \
-+ (('a' <= (c) && (c) <= 'i') \
-+ || ('j' <= (c) && (c) <= 'r') \
-+ || ('s' <= (c) && (c) <= 'z'))
-+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-+#endif
-+
-+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-+int
-+main ()
-+{
-+ int i;
-+ for (i = 0; i < 256; i++)
-+ if (XOR (islower (i), ISLOWER (i))
-+ || toupper (i) != TOUPPER (i))
-+ return 2;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ :
-+else
-+ echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_header_stdc=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+
-+fi
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-+if test $ac_cv_header_stdc = yes; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define STDC_HEADERS 1
-+_ACEOF
-+
-+fi
-+
-+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-+ inttypes.h stdint.h unistd.h
-+do
-+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ eval "$as_ac_Header=yes"
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ eval "$as_ac_Header=no"
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+
-+
-+
-+
-+
-+for ac_header in stdlib.h string.h stdio.h usbpath.h
-+do
-+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+else
-+ # Is the header compilable?
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_compiler=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <$ac_header>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-+
-+ ;;
-+esac
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ eval "$as_ac_Header=\$ac_header_preproc"
-+fi
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+
-+fi
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+
-+# Checks for typedefs, structures, and compiler characteristics.
-+{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
-+if test "${ac_cv_c_const+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+/* FIXME: Include the comments suggested by Paul. */
-+#ifndef __cplusplus
-+ /* Ultrix mips cc rejects this. */
-+ typedef int charset[2];
-+ const charset x;
-+ /* SunOS 4.1.1 cc rejects this. */
-+ char const *const *ccp;
-+ char **p;
-+ /* NEC SVR4.0.2 mips cc rejects this. */
-+ struct point {int x, y;};
-+ static struct point const zero = {0,0};
-+ /* AIX XL C 1.02.0.0 rejects this.
-+ It does not let you subtract one const X* pointer from another in
-+ an arm of an if-expression whose if-part is not a constant
-+ expression */
-+ const char *g = "string";
-+ ccp = &g + (g ? g-g : 0);
-+ /* HPUX 7.0 cc rejects these. */
-+ ++ccp;
-+ p = (char**) ccp;
-+ ccp = (char const *const *) p;
-+ { /* SCO 3.2v4 cc rejects this. */
-+ char *t;
-+ char const *s = 0 ? (char *) 0 : (char const *) 0;
-+
-+ *t++ = 0;
-+ if (s) return 0;
-+ }
-+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
-+ int x[] = {25, 17};
-+ const int *foo = &x[0];
-+ ++foo;
-+ }
-+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-+ typedef const int *iptr;
-+ iptr p = 0;
-+ ++p;
-+ }
-+ { /* AIX XL C 1.02.0.0 rejects this saying
-+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-+ struct s { int j; const int *ap[3]; };
-+ struct s *b; b->j = 5;
-+ }
-+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-+ const int foo = 10;
-+ if (!foo) return 0;
-+ }
-+ return !x[0] && !zero.x;
-+#endif
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_c_const=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_c_const=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-+echo "${ECHO_T}$ac_cv_c_const" >&6; }
-+if test $ac_cv_c_const = no; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define const
-+_ACEOF
-+
-+fi
-+
-+{ echo "$as_me:$LINENO: checking for size_t" >&5
-+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
-+if test "${ac_cv_type_size_t+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+typedef size_t ac__type_new_;
-+int
-+main ()
-+{
-+if ((ac__type_new_ *) 0)
-+ return 0;
-+if (sizeof (ac__type_new_))
-+ return 0;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_type_size_t=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_type_size_t=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
-+if test $ac_cv_type_size_t = yes; then
-+ :
-+else
-+
-+cat >>confdefs.h <<_ACEOF
-+#define size_t unsigned int
-+_ACEOF
-+
-+fi
-+
-+
-+# Checks for library functions.
-+
-+for ac_header in stdlib.h
-+do
-+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+fi
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+else
-+ # Is the header compilable?
-+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_compile") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest.$ac_objext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_header_compiler=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_compiler=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+echo "${ECHO_T}$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <$ac_header>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null; then
-+ if test -s conftest.err; then
-+ ac_cpp_err=$ac_c_preproc_warn_flag
-+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-+ else
-+ ac_cpp_err=
-+ fi
-+else
-+ ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+ ac_header_preproc=yes
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+echo "${ECHO_T}$ac_header_preproc" >&6; }
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-+
-+ ;;
-+esac
-+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ eval "$as_ac_Header=\$ac_header_preproc"
-+fi
-+ac_res=`eval echo '${'$as_ac_Header'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+
-+fi
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+{ echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5
-+echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; }
-+if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test "$cross_compiling" = yes; then
-+ ac_cv_func_malloc_0_nonnull=no
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#if STDC_HEADERS || HAVE_STDLIB_H
-+# include <stdlib.h>
-+#else
-+char *malloc ();
-+#endif
-+
-+int
-+main ()
-+{
-+return ! malloc (0);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_malloc_0_nonnull=yes
-+else
-+ echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_func_malloc_0_nonnull=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5
-+echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; }
-+if test $ac_cv_func_malloc_0_nonnull = yes; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define HAVE_MALLOC 1
-+_ACEOF
-+
-+else
-+ cat >>confdefs.h <<\_ACEOF
-+#define HAVE_MALLOC 0
-+_ACEOF
-+
-+ case " $LIBOBJS " in
-+ *" malloc.$ac_objext "* ) ;;
-+ *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
-+ ;;
-+esac
-+
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define malloc rpl_malloc
-+_ACEOF
-+
-+fi
-+
-+
-+
-+{ echo "$as_me:$LINENO: checking for working memcmp" >&5
-+echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; }
-+if test "${ac_cv_func_memcmp_working+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test "$cross_compiling" = yes; then
-+ ac_cv_func_memcmp_working=no
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+$ac_includes_default
-+int
-+main ()
-+{
-+
-+ /* Some versions of memcmp are not 8-bit clean. */
-+ char c0 = '\100', c1 = '\200', c2 = '\201';
-+ if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
-+ return 1;
-+
-+ /* The Next x86 OpenStep bug shows up only when comparing 16 bytes
-+ or more and with at least one buffer not starting on a 4-byte boundary.
-+ William Lewis provided this test program. */
-+ {
-+ char foo[21];
-+ char bar[21];
-+ int i;
-+ for (i = 0; i < 4; i++)
-+ {
-+ char *a = foo + i;
-+ char *b = bar + i;
-+ strcpy (a, "--------01111111");
-+ strcpy (b, "--------10000000");
-+ if (memcmp (a, b, 16) >= 0)
-+ return 1;
-+ }
-+ return 0;
-+ }
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ ac_cv_func_memcmp_working=yes
-+else
-+ echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_func_memcmp_working=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+
-+fi
-+{ echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5
-+echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; }
-+test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in
-+ *" memcmp.$ac_objext "* ) ;;
-+ *) LIBOBJS="$LIBOBJS memcmp.$ac_objext"
-+ ;;
-+esac
-+
-+
-+
-+for ac_func in memset
-+do
-+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define $ac_func innocuous_$ac_func
-+
-+/* System header to define __stub macros and hopefully few prototypes,
-+ which can conflict with char $ac_func (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-+
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+
-+#undef $ac_func
-+
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char $ac_func ();
-+/* The GNU C library defines this for functions which it implements
-+ to always fail with ENOSYS. Some functions are actually named
-+ something starting with __ and the normal name is an alias. */
-+#if defined __stub_$ac_func || defined __stub___$ac_func
-+choke me
-+#endif
-+
-+int
-+main ()
-+{
-+return $ac_func ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_link") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } &&
-+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; } &&
-+ { ac_try='test -s conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ eval "$as_ac_var=yes"
-+else
-+ echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ eval "$as_ac_var=no"
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+ac_res=`eval echo '${'$as_ac_var'}'`
-+ { echo "$as_me:$LINENO: result: $ac_res" >&5
-+echo "${ECHO_T}$ac_res" >&6; }
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+ cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+done
-+
-+
-+ac_config_files="$ac_config_files Makefile src/Makefile"
-+
-+cat >confcache <<\_ACEOF
-+# This file is a shell script that caches the results of configure
-+# tests run on this system so they can be shared between configure
-+# scripts and configure runs, see configure's option --config-cache.
-+# It is not useful on other systems. If it contains results you don't
-+# want to keep, you may remove or edit it.
-+#
-+# config.status only pays attention to the cache file if you give it
-+# the --recheck option to rerun configure.
-+#
-+# `ac_cv_env_foo' variables (set or unset) will be overridden when
-+# loading this file, other *unset* `ac_cv_foo' will be assigned the
-+# following values.
-+
-+_ACEOF
-+
-+# The following way of writing the cache mishandles newlines in values,
-+# but we know of no workaround that is simple, portable, and efficient.
-+# So, we kill variables containing newlines.
-+# Ultrix sh set writes to stderr and can't be redirected directly,
-+# and sets the high bit in the cache file unless we assign to the vars.
-+(
-+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in #(
-+ *${as_nl}*)
-+ case $ac_var in #(
-+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+ esac
-+ case $ac_var in #(
-+ _ | IFS | as_nl) ;; #(
-+ *) $as_unset $ac_var ;;
-+ esac ;;
-+ esac
-+ done
-+
-+ (set) 2>&1 |
-+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
-+ *${as_nl}ac_space=\ *)
-+ # `set' does not quote correctly, so add quotes (double-quote
-+ # substitution turns \\\\ into \\, and sed turns \\ into \).
-+ sed -n \
-+ "s/'/'\\\\''/g;
-+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-+ ;; #(
-+ *)
-+ # `set' quotes correctly as required by POSIX, so do not add quotes.
-+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-+ ;;
-+ esac |
-+ sort
-+) |
-+ sed '
-+ /^ac_cv_env_/b end
-+ t clear
-+ :clear
-+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-+ t end
-+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-+ :end' >>confcache
-+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-+ if test -w "$cache_file"; then
-+ test "x$cache_file" != "x/dev/null" &&
-+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-+echo "$as_me: updating cache $cache_file" >&6;}
-+ cat confcache >$cache_file
-+ else
-+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-+ fi
-+fi
-+rm -f confcache
-+
-+test "x$prefix" = xNONE && prefix=$ac_default_prefix
-+# Let make expand exec_prefix.
-+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-+
-+DEFS=-DHAVE_CONFIG_H
-+
-+ac_libobjs=
-+ac_ltlibobjs=
-+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-+ # 1. Remove the extension, and $U if already installed.
-+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-+ ac_i=`echo "$ac_i" | sed "$ac_script"`
-+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
-+ # will be set to the directory where LIBOBJS objects are built.
-+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-+done
-+LIBOBJS=$ac_libobjs
-+
-+LTLIBOBJS=$ac_ltlibobjs
-+
-+
-+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-+ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-+ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+echo "$as_me: error: conditional \"AMDEP\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+
-+: ${CONFIG_STATUS=./config.status}
-+ac_clean_files_save=$ac_clean_files
-+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-+echo "$as_me: creating $CONFIG_STATUS" >&6;}
-+cat >$CONFIG_STATUS <<_ACEOF
-+#! $SHELL
-+# Generated by $as_me.
-+# Run this file to recreate the current configuration.
-+# Compiler output produced by configure, useful for debugging
-+# configure, is in config.log if it exists.
-+
-+debug=false
-+ac_cs_recheck=false
-+ac_cs_silent=false
-+SHELL=\${CONFIG_SHELL-$SHELL}
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+## --------------------- ##
-+## M4sh Initialization. ##
-+## --------------------- ##
-+
-+# Be Bourne compatible
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-+ emulate sh
-+ NULLCMD=:
-+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-+fi
-+BIN_SH=xpg4; export BIN_SH # for Tru64
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+
-+# PATH needs CR
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ echo "#! /bin/sh" >conf$$.sh
-+ echo "exit 0" >>conf$$.sh
-+ chmod +x conf$$.sh
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+ PATH_SEPARATOR=';'
-+ else
-+ PATH_SEPARATOR=:
-+ fi
-+ rm -f conf$$.sh
-+fi
-+
-+# Support unset when possible.
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+ as_unset=unset
-+else
-+ as_unset=false
-+fi
-+
-+
-+# IFS
-+# We need space, tab and new line, in precisely that order. Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+as_nl='
-+'
-+IFS=" "" $as_nl"
-+
-+# Find who we are. Look in the path if we contain no directory separator.
-+case $0 in
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+ as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+ { (exit 1); exit 1; }
-+fi
-+
-+# Work around bugs in pre-3.0 UWIN ksh.
-+for as_var in ENV MAIL MAILPATH
-+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+done
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-+ eval $as_var=C; export $as_var
-+ else
-+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+ fi
-+done
-+
-+# Required to use basename.
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-+ as_basename=basename
-+else
-+ as_basename=false
-+fi
-+
-+
-+# Name of the executable.
-+as_me=`$as_basename -- "$0" ||
-+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X/"$0" |
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+
-+# CDPATH.
-+$as_unset CDPATH
-+
-+
-+
-+ as_lineno_1=$LINENO
-+ as_lineno_2=$LINENO
-+ test "x$as_lineno_1" != "x$as_lineno_2" &&
-+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-+
-+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-+ # uniformly replaced by the line number. The first 'sed' inserts a
-+ # line-number line after each line using $LINENO; the second 'sed'
-+ # does the real work. The second script uses 'N' to pair each
-+ # line-number line with the line containing $LINENO, and appends
-+ # trailing '-' during substitution so that $LINENO is not a special
-+ # case at line end.
-+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-+ # scripts with optimization help from Paolo Bonzini. Blame Lee
-+ # E. McMahon (1931-1989) for sed's syntax. :-)
-+ sed -n '
-+ p
-+ /[$]LINENO/=
-+ ' <$as_myself |
-+ sed '
-+ s/[$]LINENO.*/&-/
-+ t lineno
-+ b
-+ :lineno
-+ N
-+ :loop
-+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-+ t loop
-+ s/-\n.*//
-+ ' >$as_me.lineno &&
-+ chmod +x "$as_me.lineno" ||
-+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-+ { (exit 1); exit 1; }; }
-+
-+ # Don't try to exec as it changes $[0], causing all sort of problems
-+ # (the dirname of $[0] is not the place where we might find the
-+ # original and so on. Autoconf is especially sensitive to this).
-+ . "./$as_me.lineno"
-+ # Exit status is that of the last command.
-+ exit
-+}
-+
-+
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+ as_dirname=dirname
-+else
-+ as_dirname=false
-+fi
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in
-+-n*)
-+ case `echo 'x\c'` in
-+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
-+ *) ECHO_C='\c';;
-+ esac;;
-+*)
-+ ECHO_N='-n';;
-+esac
-+
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+ rm -f conf$$.dir/conf$$.file
-+else
-+ rm -f conf$$.dir
-+ mkdir conf$$.dir
-+fi
-+echo >conf$$.file
-+if ln -s conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s='ln -s'
-+ # ... but there are two gotchas:
-+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+ # In both cases, we have to default to `cp -p'.
-+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+ as_ln_s='cp -p'
-+elif ln conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s=ln
-+else
-+ as_ln_s='cp -p'
-+fi
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
-+
-+if mkdir -p . 2>/dev/null; then
-+ as_mkdir_p=:
-+else
-+ test -d ./-p && rmdir ./-p
-+ as_mkdir_p=false
-+fi
-+
-+# Find out whether ``test -x'' works. Don't use a zero-byte file, as
-+# systems may use methods other than mode bits to determine executability.
-+cat >conf$$.file <<_ASEOF
-+#! /bin/sh
-+exit 0
-+_ASEOF
-+chmod +x conf$$.file
-+if test -x conf$$.file >/dev/null 2>&1; then
-+ as_executable_p="test -x"
-+else
-+ as_executable_p=:
-+fi
-+rm -f conf$$.file
-+
-+# Sed expression to map a string onto a valid CPP name.
-+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-+
-+# Sed expression to map a string onto a valid variable name.
-+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-+
-+
-+exec 6>&1
-+
-+# Save the log message, to keep $[0] and so on meaningful, and to
-+# report actual input values of CONFIG_FILES etc. instead of their
-+# values after options handling.
-+ac_log="
-+This file was extended by dfu-util $as_me 0.1, which was
-+generated by GNU Autoconf 2.60. Invocation command line was
-+
-+ CONFIG_FILES = $CONFIG_FILES
-+ CONFIG_HEADERS = $CONFIG_HEADERS
-+ CONFIG_LINKS = $CONFIG_LINKS
-+ CONFIG_COMMANDS = $CONFIG_COMMANDS
-+ $ $0 $@
-+
-+on `(hostname || uname -n) 2>/dev/null | sed 1q`
-+"
-+
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<_ACEOF
-+# Files that config.status was made for.
-+config_files="$ac_config_files"
-+config_headers="$ac_config_headers"
-+config_commands="$ac_config_commands"
-+
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+ac_cs_usage="\
-+\`$as_me' instantiates files from templates according to the
-+current configuration.
-+
-+Usage: $0 [OPTIONS] [FILE]...
-+
-+ -h, --help print this help, then exit
-+ -V, --version print version number, then exit
-+ -q, --quiet do not print progress messages
-+ -d, --debug don't remove temporary files
-+ --recheck update $as_me by reconfiguring in the same conditions
-+ --file=FILE[:TEMPLATE]
-+ instantiate the configuration file FILE
-+ --header=FILE[:TEMPLATE]
-+ instantiate the configuration header FILE
-+
-+Configuration files:
-+$config_files
-+
-+Configuration headers:
-+$config_headers
-+
-+Configuration commands:
-+$config_commands
-+
-+Report bugs to <bug-autoconf@gnu.org>."
-+
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+ac_cs_version="\\
-+dfu-util config.status 0.1
-+configured by $0, generated by GNU Autoconf 2.60,
-+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-+
-+Copyright (C) 2006 Free Software Foundation, Inc.
-+This config.status script is free software; the Free Software Foundation
-+gives unlimited permission to copy, distribute and modify it."
-+
-+ac_pwd='$ac_pwd'
-+srcdir='$srcdir'
-+INSTALL='$INSTALL'
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+# If no file are specified by the user, then we need to provide default
-+# value. By we need to know if files were specified by the user.
-+ac_need_defaults=:
-+while test $# != 0
-+do
-+ case $1 in
-+ --*=*)
-+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
-+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-+ ac_shift=:
-+ ;;
-+ *)
-+ ac_option=$1
-+ ac_optarg=$2
-+ ac_shift=shift
-+ ;;
-+ esac
-+
-+ case $ac_option in
-+ # Handling of the options.
-+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-+ ac_cs_recheck=: ;;
-+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-+ echo "$ac_cs_version"; exit ;;
-+ --debug | --debu | --deb | --de | --d | -d )
-+ debug=: ;;
-+ --file | --fil | --fi | --f )
-+ $ac_shift
-+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-+ ac_need_defaults=false;;
-+ --header | --heade | --head | --hea )
-+ $ac_shift
-+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
-+ ac_need_defaults=false;;
-+ --he | --h)
-+ # Conflict between --help and --header
-+ { echo "$as_me: error: ambiguous option: $1
-+Try \`$0 --help' for more information." >&2
-+ { (exit 1); exit 1; }; };;
-+ --help | --hel | -h )
-+ echo "$ac_cs_usage"; exit ;;
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
-+ ac_cs_silent=: ;;
-+
-+ # This is an error.
-+ -*) { echo "$as_me: error: unrecognized option: $1
-+Try \`$0 --help' for more information." >&2
-+ { (exit 1); exit 1; }; } ;;
-+
-+ *) ac_config_targets="$ac_config_targets $1"
-+ ac_need_defaults=false ;;
-+
-+ esac
-+ shift
-+done
-+
-+ac_configure_extra_args=
-+
-+if $ac_cs_silent; then
-+ exec 6>/dev/null
-+ ac_configure_extra_args="$ac_configure_extra_args --silent"
-+fi
-+
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+if \$ac_cs_recheck; then
-+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-+ CONFIG_SHELL=$SHELL
-+ export CONFIG_SHELL
-+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+fi
-+
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+exec 5>>config.log
-+{
-+ echo
-+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-+## Running $as_me. ##
-+_ASBOX
-+ echo "$ac_log"
-+} >&5
-+
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+#
-+# INIT-COMMANDS
-+#
-+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-+
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+
-+# Handling of arguments.
-+for ac_config_target in $ac_config_targets
-+do
-+ case $ac_config_target in
-+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-+
-+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-+ { (exit 1); exit 1; }; };;
-+ esac
-+done
-+
-+
-+# If the user did not use the arguments to specify the items to instantiate,
-+# then the envvar interface is used. Set only those that are not.
-+# We use the long form for the default assignment because of an extremely
-+# bizarre bug on SunOS 4.1.3.
-+if $ac_need_defaults; then
-+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-+fi
-+
-+# Have a temporary directory for convenience. Make it in the build tree
-+# simply because there is no reason against having it here, and in addition,
-+# creating and moving files from /tmp can sometimes cause problems.
-+# Hook for its removal unless debugging.
-+# Note that there is a small window in which the directory will not be cleaned:
-+# after its creation but before its name has been assigned to `$tmp'.
-+$debug ||
-+{
-+ tmp=
-+ trap 'exit_status=$?
-+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-+' 0
-+ trap '{ (exit 1); exit 1; }' 1 2 13 15
-+}
-+# Create a (secure) tmp directory for tmp files.
-+
-+{
-+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-+ test -n "$tmp" && test -d "$tmp"
-+} ||
-+{
-+ tmp=./conf$$-$RANDOM
-+ (umask 077 && mkdir "$tmp")
-+} ||
-+{
-+ echo "$me: cannot create a temporary directory in ." >&2
-+ { (exit 1); exit 1; }
-+}
-+
-+#
-+# Set up the sed scripts for CONFIG_FILES section.
-+#
-+
-+# No need to generate the scripts if there are no CONFIG_FILES.
-+# This happens for instance when ./config.status config.h
-+if test -n "$CONFIG_FILES"; then
-+
-+_ACEOF
-+
-+
-+
-+ac_delim='%!_!# '
-+for ac_last_try in false false false false false :; do
-+ cat >conf$$subs.sed <<_ACEOF
-+SHELL!$SHELL$ac_delim
-+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-+exec_prefix!$exec_prefix$ac_delim
-+prefix!$prefix$ac_delim
-+program_transform_name!$program_transform_name$ac_delim
-+bindir!$bindir$ac_delim
-+sbindir!$sbindir$ac_delim
-+libexecdir!$libexecdir$ac_delim
-+datarootdir!$datarootdir$ac_delim
-+datadir!$datadir$ac_delim
-+sysconfdir!$sysconfdir$ac_delim
-+sharedstatedir!$sharedstatedir$ac_delim
-+localstatedir!$localstatedir$ac_delim
-+includedir!$includedir$ac_delim
-+oldincludedir!$oldincludedir$ac_delim
-+docdir!$docdir$ac_delim
-+infodir!$infodir$ac_delim
-+htmldir!$htmldir$ac_delim
-+dvidir!$dvidir$ac_delim
-+pdfdir!$pdfdir$ac_delim
-+psdir!$psdir$ac_delim
-+libdir!$libdir$ac_delim
-+localedir!$localedir$ac_delim
-+mandir!$mandir$ac_delim
-+DEFS!$DEFS$ac_delim
-+ECHO_C!$ECHO_C$ac_delim
-+ECHO_N!$ECHO_N$ac_delim
-+ECHO_T!$ECHO_T$ac_delim
-+LIBS!$LIBS$ac_delim
-+build_alias!$build_alias$ac_delim
-+host_alias!$host_alias$ac_delim
-+target_alias!$target_alias$ac_delim
-+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-+INSTALL_DATA!$INSTALL_DATA$ac_delim
-+CYGPATH_W!$CYGPATH_W$ac_delim
-+PACKAGE!$PACKAGE$ac_delim
-+VERSION!$VERSION$ac_delim
-+ACLOCAL!$ACLOCAL$ac_delim
-+AUTOCONF!$AUTOCONF$ac_delim
-+AUTOMAKE!$AUTOMAKE$ac_delim
-+AUTOHEADER!$AUTOHEADER$ac_delim
-+MAKEINFO!$MAKEINFO$ac_delim
-+install_sh!$install_sh$ac_delim
-+STRIP!$STRIP$ac_delim
-+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-+mkdir_p!$mkdir_p$ac_delim
-+AWK!$AWK$ac_delim
-+SET_MAKE!$SET_MAKE$ac_delim
-+am__leading_dot!$am__leading_dot$ac_delim
-+AMTAR!$AMTAR$ac_delim
-+am__tar!$am__tar$ac_delim
-+am__untar!$am__untar$ac_delim
-+MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-+MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-+MAINT!$MAINT$ac_delim
-+CC!$CC$ac_delim
-+CFLAGS!$CFLAGS$ac_delim
-+LDFLAGS!$LDFLAGS$ac_delim
-+CPPFLAGS!$CPPFLAGS$ac_delim
-+ac_ct_CC!$ac_ct_CC$ac_delim
-+EXEEXT!$EXEEXT$ac_delim
-+OBJEXT!$OBJEXT$ac_delim
-+DEPDIR!$DEPDIR$ac_delim
-+am__include!$am__include$ac_delim
-+am__quote!$am__quote$ac_delim
-+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-+CCDEPMODE!$CCDEPMODE$ac_delim
-+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-+PKG_CONFIG!$PKG_CONFIG$ac_delim
-+USB_CFLAGS!$USB_CFLAGS$ac_delim
-+USB_LIBS!$USB_LIBS$ac_delim
-+CPP!$CPP$ac_delim
-+GREP!$GREP$ac_delim
-+EGREP!$EGREP$ac_delim
-+LIBOBJS!$LIBOBJS$ac_delim
-+LTLIBOBJS!$LTLIBOBJS$ac_delim
-+_ACEOF
-+
-+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 85; then
-+ break
-+ elif $ac_last_try; then
-+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-+ { (exit 1); exit 1; }; }
-+ else
-+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-+ fi
-+done
-+
-+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-+if test -n "$ac_eof"; then
-+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-+ ac_eof=`expr $ac_eof + 1`
-+fi
-+
-+cat >>$CONFIG_STATUS <<_ACEOF
-+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-+_ACEOF
-+sed '
-+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-+s/^/s,@/; s/!/@,|#_!!_#|/
-+:n
-+t n
-+s/'"$ac_delim"'$/,g/; t
-+s/$/\\/; p
-+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-+' >>$CONFIG_STATUS <conf$$subs.sed
-+rm -f conf$$subs.sed
-+cat >>$CONFIG_STATUS <<_ACEOF
-+:end
-+s/|#_!!_#|//g
-+CEOF$ac_eof
-+_ACEOF
-+
-+
-+# VPATH may cause trouble with some makes, so we remove $(srcdir),
-+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-+# trailing colons and then remove the whole line if VPATH becomes empty
-+# (actually we leave an empty line to preserve line numbers).
-+if test "x$srcdir" = x.; then
-+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
-+s/:*\$(srcdir):*/:/
-+s/:*\${srcdir}:*/:/
-+s/:*@srcdir@:*/:/
-+s/^\([^=]*=[ ]*\):*/\1/
-+s/:*$//
-+s/^[^=]*=[ ]*$//
-+}'
-+fi
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+fi # test -n "$CONFIG_FILES"
-+
-+
-+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
-+do
-+ case $ac_tag in
-+ :[FHLC]) ac_mode=$ac_tag; continue;;
-+ esac
-+ case $ac_mode$ac_tag in
-+ :[FHL]*:*);;
-+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-+ { (exit 1); exit 1; }; };;
-+ :[FH]-) ac_tag=-:-;;
-+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-+ esac
-+ ac_save_IFS=$IFS
-+ IFS=:
-+ set x $ac_tag
-+ IFS=$ac_save_IFS
-+ shift
-+ ac_file=$1
-+ shift
-+
-+ case $ac_mode in
-+ :L) ac_source=$1;;
-+ :[FH])
-+ ac_file_inputs=
-+ for ac_f
-+ do
-+ case $ac_f in
-+ -) ac_f="$tmp/stdin";;
-+ *) # Look for the file first in the build tree, then in the source tree
-+ # (if the path is not absolute). The absolute path cannot be DOS-style,
-+ # because $ac_f cannot contain `:'.
-+ test -f "$ac_f" ||
-+ case $ac_f in
-+ [\\/$]*) false;;
-+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-+ esac ||
-+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-+ { (exit 1); exit 1; }; };;
-+ esac
-+ ac_file_inputs="$ac_file_inputs $ac_f"
-+ done
-+
-+ # Let's still pretend it is `configure' which instantiates (i.e., don't
-+ # use $as_me), people would be surprised to read:
-+ # /* config.h. Generated by config.status. */
-+ configure_input="Generated from "`IFS=:
-+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-+ if test x"$ac_file" != x-; then
-+ configure_input="$ac_file. $configure_input"
-+ { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
-+ fi
-+
-+ case $ac_tag in
-+ *:-:* | *:-) cat >"$tmp/stdin";;
-+ esac
-+ ;;
-+ esac
-+
-+ ac_dir=`$as_dirname -- "$ac_file" ||
-+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$ac_file" : 'X\(//\)[^/]' \| \
-+ X"$ac_file" : 'X\(//\)$' \| \
-+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X"$ac_file" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ { as_dir="$ac_dir"
-+ case $as_dir in #(
-+ -*) as_dir=./$as_dir;;
-+ esac
-+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-+ as_dirs=
-+ while :; do
-+ case $as_dir in #(
-+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+ *) as_qdir=$as_dir;;
-+ esac
-+ as_dirs="'$as_qdir' $as_dirs"
-+ as_dir=`$as_dirname -- "$as_dir" ||
-+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$as_dir" : 'X\(//\)[^/]' \| \
-+ X"$as_dir" : 'X\(//\)$' \| \
-+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X"$as_dir" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ test -d "$as_dir" && break
-+ done
-+ test -z "$as_dirs" || eval "mkdir $as_dirs"
-+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+echo "$as_me: error: cannot create directory $as_dir" >&2;}
-+ { (exit 1); exit 1; }; }; }
-+ ac_builddir=.
-+
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
-+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-+ # A ".." for each directory in $ac_dir_suffix.
-+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+ case $ac_top_builddir_sub in
-+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+ esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
-+
-+case $srcdir in
-+ .) # We are building in place.
-+ ac_srcdir=.
-+ ac_top_srcdir=$ac_top_builddir_sub
-+ ac_abs_top_srcdir=$ac_pwd ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute name.
-+ ac_srcdir=$srcdir$ac_dir_suffix;
-+ ac_top_srcdir=$srcdir
-+ ac_abs_top_srcdir=$srcdir ;;
-+ *) # Relative name.
-+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_build_prefix$srcdir
-+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-+esac
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-+
-+
-+ case $ac_mode in
-+ :F)
-+ #
-+ # CONFIG_FILE
-+ #
-+
-+ case $INSTALL in
-+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-+ esac
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+# If the template does not know about datarootdir, expand it.
-+# FIXME: This hack should be removed a few years after 2.60.
-+ac_datarootdir_hack=; ac_datarootdir_seen=
-+
-+case `sed -n '/datarootdir/ {
-+ p
-+ q
-+}
-+/@datadir@/p
-+/@docdir@/p
-+/@infodir@/p
-+/@localedir@/p
-+/@mandir@/p
-+' $ac_file_inputs` in
-+*datarootdir*) ac_datarootdir_seen=yes;;
-+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+ ac_datarootdir_hack='
-+ s&@datadir@&$datadir&g
-+ s&@docdir@&$docdir&g
-+ s&@infodir@&$infodir&g
-+ s&@localedir@&$localedir&g
-+ s&@mandir@&$mandir&g
-+ s&\\\${datarootdir}&$datarootdir&g' ;;
-+esac
-+_ACEOF
-+
-+# Neutralize VPATH when `$srcdir' = `.'.
-+# Shell code in configure.ac might set extrasub.
-+# FIXME: do we really want to maintain this feature?
-+cat >>$CONFIG_STATUS <<_ACEOF
-+ sed "$ac_vpsub
-+$extrasub
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+:t
-+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-+s&@configure_input@&$configure_input&;t t
-+s&@top_builddir@&$ac_top_builddir_sub&;t t
-+s&@srcdir@&$ac_srcdir&;t t
-+s&@abs_srcdir@&$ac_abs_srcdir&;t t
-+s&@top_srcdir@&$ac_top_srcdir&;t t
-+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-+s&@builddir@&$ac_builddir&;t t
-+s&@abs_builddir@&$ac_abs_builddir&;t t
-+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-+s&@INSTALL@&$ac_INSTALL&;t t
-+$ac_datarootdir_hack
-+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
-+
-+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+which seems to be undefined. Please make sure it is defined." >&5
-+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+which seems to be undefined. Please make sure it is defined." >&2;}
-+
-+ rm -f "$tmp/stdin"
-+ case $ac_file in
-+ -) cat "$tmp/out"; rm -f "$tmp/out";;
-+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
-+ esac
-+ ;;
-+ :H)
-+ #
-+ # CONFIG_HEADER
-+ #
-+_ACEOF
-+
-+# Transform confdefs.h into a sed script `conftest.defines', that
-+# substitutes the proper values into config.h.in to produce config.h.
-+rm -f conftest.defines conftest.tail
-+# First, append a space to every undef/define line, to ease matching.
-+echo 's/$/ /' >conftest.defines
-+# Then, protect against being on the right side of a sed subst, or in
-+# an unquoted here document, in config.status. If some macros were
-+# called several times there might be several #defines for the same
-+# symbol, which is useless. But do not sort them, since the last
-+# AC_DEFINE must be honored.
-+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-+# NAME is the cpp macro being defined, VALUE is the value it is being given.
-+# PARAMS is the parameter list in the macro definition--in most cases, it's
-+# just an empty string.
-+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-+ac_dB='\\)[ (].*,\\1define\\2'
-+ac_dC=' '
-+ac_dD=' ,'
-+
-+uniq confdefs.h |
-+ sed -n '
-+ t rset
-+ :rset
-+ s/^[ ]*#[ ]*define[ ][ ]*//
-+ t ok
-+ d
-+ :ok
-+ s/[\\&,]/\\&/g
-+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
-+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
-+ ' >>conftest.defines
-+
-+# Remove the space that was appended to ease matching.
-+# Then replace #undef with comments. This is necessary, for
-+# example, in the case of _POSIX_SOURCE, which is predefined and required
-+# on some systems where configure will not decide to define it.
-+# (The regexp can be short, since the line contains either #define or #undef.)
-+echo 's/ $//
-+s,^[ #]*u.*,/* & */,' >>conftest.defines
-+
-+# Break up conftest.defines:
-+ac_max_sed_lines=50
-+
-+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-+# et cetera.
-+ac_in='$ac_file_inputs'
-+ac_out='"$tmp/out1"'
-+ac_nxt='"$tmp/out2"'
-+
-+while :
-+do
-+ # Write a here document:
-+ cat >>$CONFIG_STATUS <<_ACEOF
-+ # First, check the format of the line:
-+ cat >"\$tmp/defines.sed" <<\\CEOF
-+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-+b
-+:def
-+_ACEOF
-+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
-+ echo 'CEOF
-+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
-+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
-+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
-+ grep . conftest.tail >/dev/null || break
-+ rm -f conftest.defines
-+ mv conftest.tail conftest.defines
-+done
-+rm -f conftest.defines conftest.tail
-+
-+echo "ac_result=$ac_in" >>$CONFIG_STATUS
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+ if test x"$ac_file" != x-; then
-+ echo "/* $configure_input */" >"$tmp/config.h"
-+ cat "$ac_result" >>"$tmp/config.h"
-+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
-+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-+echo "$as_me: $ac_file is unchanged" >&6;}
-+ else
-+ rm -f $ac_file
-+ mv "$tmp/config.h" $ac_file
-+ fi
-+ else
-+ echo "/* $configure_input */"
-+ cat "$ac_result"
-+ fi
-+ rm -f "$tmp/out12"
-+# Compute $ac_file's index in $config_headers.
-+_am_stamp_count=1
-+for _am_header in $config_headers :; do
-+ case $_am_header in
-+ $ac_file | $ac_file:* )
-+ break ;;
-+ * )
-+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-+ esac
-+done
-+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
-+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X$ac_file : 'X\(//\)[^/]' \| \
-+ X$ac_file : 'X\(//\)$' \| \
-+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
-+echo X$ac_file |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`/stamp-h$_am_stamp_count
-+ ;;
-+
-+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-+echo "$as_me: executing $ac_file commands" >&6;}
-+ ;;
-+ esac
-+
-+
-+ case $ac_file$ac_mode in
-+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-+ # Strip MF so we end up with the name of the file.
-+ mf=`echo "$mf" | sed -e 's/:.*$//'`
-+ # Check whether this is an Automake generated Makefile or not.
-+ # We used to match only the files named `Makefile.in', but
-+ # some people rename them; so instead we look at the file content.
-+ # Grep'ing the first line is not enough: some people post-process
-+ # each Makefile.in and add a new line on top of each file to say so.
-+ # So let's grep whole file.
-+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-+ dirpart=`$as_dirname -- "$mf" ||
-+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$mf" : 'X\(//\)[^/]' \| \
-+ X"$mf" : 'X\(//\)$' \| \
-+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X"$mf" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ else
-+ continue
-+ fi
-+ # Extract the definition of DEPDIR, am__include, and am__quote
-+ # from the Makefile without running `make'.
-+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-+ test -z "$DEPDIR" && continue
-+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
-+ test -z "am__include" && continue
-+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-+ # When using ansi2knr, U may be empty or an underscore; expand it
-+ U=`sed -n 's/^U = //p' < "$mf"`
-+ # Find all dependency output files, they are included files with
-+ # $(DEPDIR) in their names. We invoke sed twice because it is the
-+ # simplest approach to changing $(DEPDIR) to its actual value in the
-+ # expansion.
-+ for file in `sed -n "
-+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-+ # Make sure the directory exists.
-+ test -f "$dirpart/$file" && continue
-+ fdir=`$as_dirname -- "$file" ||
-+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$file" : 'X\(//\)[^/]' \| \
-+ X"$file" : 'X\(//\)$' \| \
-+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X"$file" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ { as_dir=$dirpart/$fdir
-+ case $as_dir in #(
-+ -*) as_dir=./$as_dir;;
-+ esac
-+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-+ as_dirs=
-+ while :; do
-+ case $as_dir in #(
-+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+ *) as_qdir=$as_dir;;
-+ esac
-+ as_dirs="'$as_qdir' $as_dirs"
-+ as_dir=`$as_dirname -- "$as_dir" ||
-+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$as_dir" : 'X\(//\)[^/]' \| \
-+ X"$as_dir" : 'X\(//\)$' \| \
-+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-+echo X"$as_dir" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ test -d "$as_dir" && break
-+ done
-+ test -z "$as_dirs" || eval "mkdir $as_dirs"
-+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+echo "$as_me: error: cannot create directory $as_dir" >&2;}
-+ { (exit 1); exit 1; }; }; }
-+ # echo "creating $dirpart/$file"
-+ echo '# dummy' > "$dirpart/$file"
-+ done
-+done
-+ ;;
-+
-+ esac
-+done # for ac_tag
-+
-+
-+{ (exit 0); exit 0; }
-+_ACEOF
-+chmod +x $CONFIG_STATUS
-+ac_clean_files=$ac_clean_files_save
-+
-+
-+# configure is writing to config.log, and then calls config.status.
-+# config.status does its own redirection, appending to config.log.
-+# Unfortunately, on DOS this fails, as config.log is still kept open
-+# by configure, so config.status won't be able to write to it; its
-+# output is simply discarded. So we exec the FD to /dev/null,
-+# effectively closing config.log, so it can be properly (re)opened and
-+# appended to by config.status. When coming back to configure, we
-+# need to make the FD available again.
-+if test "$no_create" != yes; then
-+ ac_cs_success=:
-+ ac_config_status_args=
-+ test "$silent" = yes &&
-+ ac_config_status_args="$ac_config_status_args --quiet"
-+ exec 5>/dev/null
-+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-+ exec 5>>config.log
-+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-+ # would make configure fail if this is the last instruction.
-+ $ac_cs_success || { (exit 1); exit 1; }
-+fi
-+
-diff --git a/tools/dfu-util/configure.ac b/tools/dfu-util/configure.ac
-new file mode 100644
-index 0000000..9f141c7
---- /dev/null
-+++ b/tools/dfu-util/configure.ac
-@@ -0,0 +1,39 @@
-+# -*- Autoconf -*-
-+# Process this file with autoconf to produce a configure script.
-+
-+AC_PREREQ(2.59)
-+AC_INIT([dfu-util],[0.1])
-+AC_CONFIG_AUX_DIR(m4)
-+AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
-+#AC_CONFIG_SRCDIR([src/atmel.c])
-+AM_CONFIG_HEADER([config.h])
-+
-+AM_MAINTAINER_MODE
-+
-+# Checks for programs.
-+AC_PROG_CC
-+
-+# Checks for libraries.
-+
-+PKG_CHECK_MODULES(USB, libusb >= 0.1.4,,
-+ AC_MSG_ERROR([*** Required libusb >= 0.1.4 not installed ***]))
-+AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb)
-+
-+LIBS="$LIBS $USB_LIBS"
-+CFLAGS="$CFLAGS $USB_CFLAGS"
-+
-+# Checks for header files.
-+AC_HEADER_STDC
-+AC_CHECK_HEADERS([stdlib.h string.h stdio.h usbpath.h])
-+
-+# Checks for typedefs, structures, and compiler characteristics.
-+AC_C_CONST
-+AC_TYPE_SIZE_T
-+
-+# Checks for library functions.
-+AC_FUNC_MALLOC
-+AC_FUNC_MEMCMP
-+AC_CHECK_FUNCS([memset])
-+
-+AC_CONFIG_FILES(Makefile src/Makefile)
-+AC_OUTPUT
-diff --git a/tools/dfu-util/m4/depcomp b/tools/dfu-util/m4/depcomp
-new file mode 100644
-index 0000000..04701da
---- /dev/null
-+++ b/tools/dfu-util/m4/depcomp
-@@ -0,0 +1,530 @@
-+#! /bin/sh
-+# depcomp - compile a program generating dependencies as side-effects
-+
-+scriptversion=2005-07-09.11
-+
-+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2, or (at your option)
-+# any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+# 02110-1301, USA.
-+
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
-+
-+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-+
-+case $1 in
-+ '')
-+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
-+ exit 1;
-+ ;;
-+ -h | --h*)
-+ cat <<\EOF
-+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-+
-+Run PROGRAMS ARGS to compile a file, generating dependencies
-+as side-effects.
-+
-+Environment variables:
-+ depmode Dependency tracking mode.
-+ source Source file read by `PROGRAMS ARGS'.
-+ object Object file output by `PROGRAMS ARGS'.
-+ DEPDIR directory where to store dependencies.
-+ depfile Dependency file to output.
-+ tmpdepfile Temporary file to use when outputing dependencies.
-+ libtool Whether libtool is used (yes/no).
-+
-+Report bugs to <bug-automake@gnu.org>.
-+EOF
-+ exit $?
-+ ;;
-+ -v | --v*)
-+ echo "depcomp $scriptversion"
-+ exit $?
-+ ;;
-+esac
-+
-+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
-+ exit 1
-+fi
-+
-+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-+depfile=${depfile-`echo "$object" |
-+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-+
-+rm -f "$tmpdepfile"
-+
-+# Some modes work just like other modes, but use different flags. We
-+# parameterize here, but still list the modes in the big case below,
-+# to make depend.m4 easier to write. Note that we *cannot* use a case
-+# here, because this file can only contain one case statement.
-+if test "$depmode" = hp; then
-+ # HP compiler uses -M and no extra arg.
-+ gccflag=-M
-+ depmode=gcc
-+fi
-+
-+if test "$depmode" = dashXmstdout; then
-+ # This is just like dashmstdout with a different argument.
-+ dashmflag=-xM
-+ depmode=dashmstdout
-+fi
-+
-+case "$depmode" in
-+gcc3)
-+## gcc 3 implements dependency tracking that does exactly what
-+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-+## it if -MD -MP comes after the -MF stuff. Hmm.
-+ "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
-+ stat=$?
-+ if test $stat -eq 0; then :
-+ else
-+ rm -f "$tmpdepfile"
-+ exit $stat
-+ fi
-+ mv "$tmpdepfile" "$depfile"
-+ ;;
-+
-+gcc)
-+## There are various ways to get dependency output from gcc. Here's
-+## why we pick this rather obscure method:
-+## - Don't want to use -MD because we'd like the dependencies to end
-+## up in a subdir. Having to rename by hand is ugly.
-+## (We might end up doing this anyway to support other compilers.)
-+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-+## -MM, not -M (despite what the docs say).
-+## - Using -M directly means running the compiler twice (even worse
-+## than renaming).
-+ if test -z "$gccflag"; then
-+ gccflag=-MD,
-+ fi
-+ "$@" -Wp,"$gccflag$tmpdepfile"
-+ stat=$?
-+ if test $stat -eq 0; then :
-+ else
-+ rm -f "$tmpdepfile"
-+ exit $stat
-+ fi
-+ rm -f "$depfile"
-+ echo "$object : \\" > "$depfile"
-+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-+## The second -e expression handles DOS-style file names with drive letters.
-+ sed -e 's/^[^:]*: / /' \
-+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-+## This next piece of magic avoids the `deleted header file' problem.
-+## The problem is that when a header file which appears in a .P file
-+## is deleted, the dependency causes make to die (because there is
-+## typically no way to rebuild the header). We avoid this by adding
-+## dummy dependencies for each header file. Too bad gcc doesn't do
-+## this for us directly.
-+ tr ' ' '
-+' < "$tmpdepfile" |
-+## Some versions of gcc put a space before the `:'. On the theory
-+## that the space means something, we add a space to the output as
-+## well.
-+## Some versions of the HPUX 10.20 sed can't process this invocation
-+## correctly. Breaking it into two sed invocations is a workaround.
-+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+hp)
-+ # This case exists only to let depend.m4 do its work. It works by
-+ # looking at the text of this script. This case will never be run,
-+ # since it is checked for above.
-+ exit 1
-+ ;;
-+
-+sgi)
-+ if test "$libtool" = yes; then
-+ "$@" "-Wp,-MDupdate,$tmpdepfile"
-+ else
-+ "$@" -MDupdate "$tmpdepfile"
-+ fi
-+ stat=$?
-+ if test $stat -eq 0; then :
-+ else
-+ rm -f "$tmpdepfile"
-+ exit $stat
-+ fi
-+ rm -f "$depfile"
-+
-+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
-+ echo "$object : \\" > "$depfile"
-+
-+ # Clip off the initial element (the dependent). Don't try to be
-+ # clever and replace this with sed code, as IRIX sed won't handle
-+ # lines with more than a fixed number of characters (4096 in
-+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
-+ # the IRIX cc adds comments like `#:fec' to the end of the
-+ # dependency line.
-+ tr ' ' '
-+' < "$tmpdepfile" \
-+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-+ tr '
-+' ' ' >> $depfile
-+ echo >> $depfile
-+
-+ # The second pass generates a dummy entry for each header file.
-+ tr ' ' '
-+' < "$tmpdepfile" \
-+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-+ >> $depfile
-+ else
-+ # The sourcefile does not contain any dependencies, so just
-+ # store a dummy comment line, to avoid errors with the Makefile
-+ # "include basename.Plo" scheme.
-+ echo "#dummy" > "$depfile"
-+ fi
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+aix)
-+ # The C for AIX Compiler uses -M and outputs the dependencies
-+ # in a .u file. In older versions, this file always lives in the
-+ # current directory. Also, the AIX compiler puts `$object:' at the
-+ # start of each line; $object doesn't have directory information.
-+ # Version 6 uses the directory in both cases.
-+ stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
-+ tmpdepfile="$stripped.u"
-+ if test "$libtool" = yes; then
-+ "$@" -Wc,-M
-+ else
-+ "$@" -M
-+ fi
-+ stat=$?
-+
-+ if test -f "$tmpdepfile"; then :
-+ else
-+ stripped=`echo "$stripped" | sed 's,^.*/,,'`
-+ tmpdepfile="$stripped.u"
-+ fi
-+
-+ if test $stat -eq 0; then :
-+ else
-+ rm -f "$tmpdepfile"
-+ exit $stat
-+ fi
-+
-+ if test -f "$tmpdepfile"; then
-+ outname="$stripped.o"
-+ # Each line is of the form `foo.o: dependent.h'.
-+ # Do two passes, one to just change these to
-+ # `$object: dependent.h' and one to simply `dependent.h:'.
-+ sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
-+ sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
-+ else
-+ # The sourcefile does not contain any dependencies, so just
-+ # store a dummy comment line, to avoid errors with the Makefile
-+ # "include basename.Plo" scheme.
-+ echo "#dummy" > "$depfile"
-+ fi
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+icc)
-+ # Intel's C compiler understands `-MD -MF file'. However on
-+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-+ # ICC 7.0 will fill foo.d with something like
-+ # foo.o: sub/foo.c
-+ # foo.o: sub/foo.h
-+ # which is wrong. We want:
-+ # sub/foo.o: sub/foo.c
-+ # sub/foo.o: sub/foo.h
-+ # sub/foo.c:
-+ # sub/foo.h:
-+ # ICC 7.1 will output
-+ # foo.o: sub/foo.c sub/foo.h
-+ # and will wrap long lines using \ :
-+ # foo.o: sub/foo.c ... \
-+ # sub/foo.h ... \
-+ # ...
-+
-+ "$@" -MD -MF "$tmpdepfile"
-+ stat=$?
-+ if test $stat -eq 0; then :
-+ else
-+ rm -f "$tmpdepfile"
-+ exit $stat
-+ fi
-+ rm -f "$depfile"
-+ # Each line is of the form `foo.o: dependent.h',
-+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-+ # Do two passes, one to just change these to
-+ # `$object: dependent.h' and one to simply `dependent.h:'.
-+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-+ # Some versions of the HPUX 10.20 sed can't process this invocation
-+ # correctly. Breaking it into two sed invocations is a workaround.
-+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-+ sed -e 's/$/ :/' >> "$depfile"
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+tru64)
-+ # The Tru64 compiler uses -MD to generate dependencies as a side
-+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-+ # dependencies in `foo.d' instead, so we check for that too.
-+ # Subdirectories are respected.
-+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-+ test "x$dir" = "x$object" && dir=
-+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-+
-+ if test "$libtool" = yes; then
-+ # With Tru64 cc, shared objects can also be used to make a
-+ # static library. This mecanism is used in libtool 1.4 series to
-+ # handle both shared and static libraries in a single compilation.
-+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-+ #
-+ # With libtool 1.5 this exception was removed, and libtool now
-+ # generates 2 separate objects for the 2 libraries. These two
-+ # compilations output dependencies in in $dir.libs/$base.o.d and
-+ # in $dir$base.o.d. We have to check for both files, because
-+ # one of the two compilations can be disabled. We should prefer
-+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-+ # automatically cleaned when .libs/ is deleted, while ignoring
-+ # the former would cause a distcleancheck panic.
-+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
-+ tmpdepfile2=$dir$base.o.d # libtool 1.5
-+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
-+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
-+ "$@" -Wc,-MD
-+ else
-+ tmpdepfile1=$dir$base.o.d
-+ tmpdepfile2=$dir$base.d
-+ tmpdepfile3=$dir$base.d
-+ tmpdepfile4=$dir$base.d
-+ "$@" -MD
-+ fi
-+
-+ stat=$?
-+ if test $stat -eq 0; then :
-+ else
-+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-+ exit $stat
-+ fi
-+
-+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-+ do
-+ test -f "$tmpdepfile" && break
-+ done
-+ if test -f "$tmpdepfile"; then
-+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-+ # That's a tab and a space in the [].
-+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-+ else
-+ echo "#dummy" > "$depfile"
-+ fi
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+#nosideeffect)
-+ # This comment above is used by automake to tell side-effect
-+ # dependency tracking mechanisms from slower ones.
-+
-+dashmstdout)
-+ # Important note: in order to support this mode, a compiler *must*
-+ # always write the preprocessed file to stdout, regardless of -o.
-+ "$@" || exit $?
-+
-+ # Remove the call to Libtool.
-+ if test "$libtool" = yes; then
-+ while test $1 != '--mode=compile'; do
-+ shift
-+ done
-+ shift
-+ fi
-+
-+ # Remove `-o $object'.
-+ IFS=" "
-+ for arg
-+ do
-+ case $arg in
-+ -o)
-+ shift
-+ ;;
-+ $object)
-+ shift
-+ ;;
-+ *)
-+ set fnord "$@" "$arg"
-+ shift # fnord
-+ shift # $arg
-+ ;;
-+ esac
-+ done
-+
-+ test -z "$dashmflag" && dashmflag=-M
-+ # Require at least two characters before searching for `:'
-+ # in the target name. This is to cope with DOS-style filenames:
-+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-+ "$@" $dashmflag |
-+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
-+ rm -f "$depfile"
-+ cat < "$tmpdepfile" > "$depfile"
-+ tr ' ' '
-+' < "$tmpdepfile" | \
-+## Some versions of the HPUX 10.20 sed can't process this invocation
-+## correctly. Breaking it into two sed invocations is a workaround.
-+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+dashXmstdout)
-+ # This case only exists to satisfy depend.m4. It is never actually
-+ # run, as this mode is specially recognized in the preamble.
-+ exit 1
-+ ;;
-+
-+makedepend)
-+ "$@" || exit $?
-+ # Remove any Libtool call
-+ if test "$libtool" = yes; then
-+ while test $1 != '--mode=compile'; do
-+ shift
-+ done
-+ shift
-+ fi
-+ # X makedepend
-+ shift
-+ cleared=no
-+ for arg in "$@"; do
-+ case $cleared in
-+ no)
-+ set ""; shift
-+ cleared=yes ;;
-+ esac
-+ case "$arg" in
-+ -D*|-I*)
-+ set fnord "$@" "$arg"; shift ;;
-+ # Strip any option that makedepend may not understand. Remove
-+ # the object too, otherwise makedepend will parse it as a source file.
-+ -*|$object)
-+ ;;
-+ *)
-+ set fnord "$@" "$arg"; shift ;;
-+ esac
-+ done
-+ obj_suffix="`echo $object | sed 's/^.*\././'`"
-+ touch "$tmpdepfile"
-+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-+ rm -f "$depfile"
-+ cat < "$tmpdepfile" > "$depfile"
-+ sed '1,2d' "$tmpdepfile" | tr ' ' '
-+' | \
-+## Some versions of the HPUX 10.20 sed can't process this invocation
-+## correctly. Breaking it into two sed invocations is a workaround.
-+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-+ rm -f "$tmpdepfile" "$tmpdepfile".bak
-+ ;;
-+
-+cpp)
-+ # Important note: in order to support this mode, a compiler *must*
-+ # always write the preprocessed file to stdout.
-+ "$@" || exit $?
-+
-+ # Remove the call to Libtool.
-+ if test "$libtool" = yes; then
-+ while test $1 != '--mode=compile'; do
-+ shift
-+ done
-+ shift
-+ fi
-+
-+ # Remove `-o $object'.
-+ IFS=" "
-+ for arg
-+ do
-+ case $arg in
-+ -o)
-+ shift
-+ ;;
-+ $object)
-+ shift
-+ ;;
-+ *)
-+ set fnord "$@" "$arg"
-+ shift # fnord
-+ shift # $arg
-+ ;;
-+ esac
-+ done
-+
-+ "$@" -E |
-+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-+ sed '$ s: \\$::' > "$tmpdepfile"
-+ rm -f "$depfile"
-+ echo "$object : \\" > "$depfile"
-+ cat < "$tmpdepfile" >> "$depfile"
-+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+msvisualcpp)
-+ # Important note: in order to support this mode, a compiler *must*
-+ # always write the preprocessed file to stdout, regardless of -o,
-+ # because we must use -o when running libtool.
-+ "$@" || exit $?
-+ IFS=" "
-+ for arg
-+ do
-+ case "$arg" in
-+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-+ set fnord "$@"
-+ shift
-+ shift
-+ ;;
-+ *)
-+ set fnord "$@" "$arg"
-+ shift
-+ shift
-+ ;;
-+ esac
-+ done
-+ "$@" -E |
-+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
-+ rm -f "$depfile"
-+ echo "$object : \\" > "$depfile"
-+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
-+ echo " " >> "$depfile"
-+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-+ rm -f "$tmpdepfile"
-+ ;;
-+
-+none)
-+ exec "$@"
-+ ;;
-+
-+*)
-+ echo "Unknown depmode $depmode" 1>&2
-+ exit 1
-+ ;;
-+esac
-+
-+exit 0
-+
-+# Local Variables:
-+# mode: shell-script
-+# sh-indentation: 2
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "scriptversion="
-+# time-stamp-format: "%:y-%02m-%02d.%02H"
-+# time-stamp-end: "$"
-+# End:
-diff --git a/tools/dfu-util/m4/install-sh b/tools/dfu-util/m4/install-sh
-new file mode 100644
-index 0000000..4d4a951
---- /dev/null
-+++ b/tools/dfu-util/m4/install-sh
-@@ -0,0 +1,323 @@
-+#!/bin/sh
-+# install - install a program, script, or datafile
-+
-+scriptversion=2005-05-14.22
-+
-+# This originates from X11R5 (mit/util/scripts/install.sh), which was
-+# later released in X11R6 (xc/config/util/install.sh) with the
-+# following copyright and license.
-+#
-+# Copyright (C) 1994 X Consortium
-+#
-+# Permission is hereby granted, free of charge, to any person obtaining a copy
-+# of this software and associated documentation files (the "Software"), to
-+# deal in the Software without restriction, including without limitation the
-+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+# sell copies of the Software, and to permit persons to whom the Software is
-+# furnished to do so, subject to the following conditions:
-+#
-+# The above copyright notice and this permission notice shall be included in
-+# all copies or substantial portions of the Software.
-+#
-+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+#
-+# Except as contained in this notice, the name of the X Consortium shall not
-+# be used in advertising or otherwise to promote the sale, use or other deal-
-+# ings in this Software without prior written authorization from the X Consor-
-+# tium.
-+#
-+#
-+# FSF changes to this file are in the public domain.
-+#
-+# Calling this script install-sh is preferred over install.sh, to prevent
-+# `make' implicit rules from creating a file called install from it
-+# when there is no Makefile.
-+#
-+# This script is compatible with the BSD install script, but was written
-+# from scratch. It can only install one file at a time, a restriction
-+# shared with many OS's install programs.
-+
-+# set DOITPROG to echo to test this script
-+
-+# Don't use :- since 4.3BSD and earlier shells don't like it.
-+doit="${DOITPROG-}"
-+
-+# put in absolute paths if you don't have them in your path; or use env. vars.
-+
-+mvprog="${MVPROG-mv}"
-+cpprog="${CPPROG-cp}"
-+chmodprog="${CHMODPROG-chmod}"
-+chownprog="${CHOWNPROG-chown}"
-+chgrpprog="${CHGRPPROG-chgrp}"
-+stripprog="${STRIPPROG-strip}"
-+rmprog="${RMPROG-rm}"
-+mkdirprog="${MKDIRPROG-mkdir}"
-+
-+chmodcmd="$chmodprog 0755"
-+chowncmd=
-+chgrpcmd=
-+stripcmd=
-+rmcmd="$rmprog -f"
-+mvcmd="$mvprog"
-+src=
-+dst=
-+dir_arg=
-+dstarg=
-+no_target_directory=
-+
-+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-+ or: $0 [OPTION]... SRCFILES... DIRECTORY
-+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-+ or: $0 [OPTION]... -d DIRECTORIES...
-+
-+In the 1st form, copy SRCFILE to DSTFILE.
-+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-+In the 4th, create DIRECTORIES.
-+
-+Options:
-+-c (ignored)
-+-d create directories instead of installing files.
-+-g GROUP $chgrpprog installed files to GROUP.
-+-m MODE $chmodprog installed files to MODE.
-+-o USER $chownprog installed files to USER.
-+-s $stripprog installed files.
-+-t DIRECTORY install into DIRECTORY.
-+-T report an error if DSTFILE is a directory.
-+--help display this help and exit.
-+--version display version info and exit.
-+
-+Environment variables override the default commands:
-+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
-+"
-+
-+while test -n "$1"; do
-+ case $1 in
-+ -c) shift
-+ continue;;
-+
-+ -d) dir_arg=true
-+ shift
-+ continue;;
-+
-+ -g) chgrpcmd="$chgrpprog $2"
-+ shift
-+ shift
-+ continue;;
-+
-+ --help) echo "$usage"; exit $?;;
-+
-+ -m) chmodcmd="$chmodprog $2"
-+ shift
-+ shift
-+ continue;;
-+
-+ -o) chowncmd="$chownprog $2"
-+ shift
-+ shift
-+ continue;;
-+
-+ -s) stripcmd=$stripprog
-+ shift
-+ continue;;
-+
-+ -t) dstarg=$2
-+ shift
-+ shift
-+ continue;;
-+
-+ -T) no_target_directory=true
-+ shift
-+ continue;;
-+
-+ --version) echo "$0 $scriptversion"; exit $?;;
-+
-+ *) # When -d is used, all remaining arguments are directories to create.
-+ # When -t is used, the destination is already specified.
-+ test -n "$dir_arg$dstarg" && break
-+ # Otherwise, the last argument is the destination. Remove it from $@.
-+ for arg
-+ do
-+ if test -n "$dstarg"; then
-+ # $@ is not empty: it contains at least $arg.
-+ set fnord "$@" "$dstarg"
-+ shift # fnord
-+ fi
-+ shift # arg
-+ dstarg=$arg
-+ done
-+ break;;
-+ esac
-+done
-+
-+if test -z "$1"; then
-+ if test -z "$dir_arg"; then
-+ echo "$0: no input file specified." >&2
-+ exit 1
-+ fi
-+ # It's OK to call `install-sh -d' without argument.
-+ # This can happen when creating conditional directories.
-+ exit 0
-+fi
-+
-+for src
-+do
-+ # Protect names starting with `-'.
-+ case $src in
-+ -*) src=./$src ;;
-+ esac
-+
-+ if test -n "$dir_arg"; then
-+ dst=$src
-+ src=
-+
-+ if test -d "$dst"; then
-+ mkdircmd=:
-+ chmodcmd=
-+ else
-+ mkdircmd=$mkdirprog
-+ fi
-+ else
-+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-+ # might cause directories to be created, which would be especially bad
-+ # if $src (and thus $dsttmp) contains '*'.
-+ if test ! -f "$src" && test ! -d "$src"; then
-+ echo "$0: $src does not exist." >&2
-+ exit 1
-+ fi
-+
-+ if test -z "$dstarg"; then
-+ echo "$0: no destination specified." >&2
-+ exit 1
-+ fi
-+
-+ dst=$dstarg
-+ # Protect names starting with `-'.
-+ case $dst in
-+ -*) dst=./$dst ;;
-+ esac
-+
-+ # If destination is a directory, append the input filename; won't work
-+ # if double slashes aren't ignored.
-+ if test -d "$dst"; then
-+ if test -n "$no_target_directory"; then
-+ echo "$0: $dstarg: Is a directory" >&2
-+ exit 1
-+ fi
-+ dst=$dst/`basename "$src"`
-+ fi
-+ fi
-+
-+ # This sed command emulates the dirname command.
-+ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
-+
-+ # Make sure that the destination directory exists.
-+
-+ # Skip lots of stat calls in the usual case.
-+ if test ! -d "$dstdir"; then
-+ defaultIFS='
-+ '
-+ IFS="${IFS-$defaultIFS}"
-+
-+ oIFS=$IFS
-+ # Some sh's can't handle IFS=/ for some reason.
-+ IFS='%'
-+ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-+ shift
-+ IFS=$oIFS
-+
-+ pathcomp=
-+
-+ while test $# -ne 0 ; do
-+ pathcomp=$pathcomp$1
-+ shift
-+ if test ! -d "$pathcomp"; then
-+ $mkdirprog "$pathcomp"
-+ # mkdir can fail with a `File exist' error in case several
-+ # install-sh are creating the directory concurrently. This
-+ # is OK.
-+ test -d "$pathcomp" || exit
-+ fi
-+ pathcomp=$pathcomp/
-+ done
-+ fi
-+
-+ if test -n "$dir_arg"; then
-+ $doit $mkdircmd "$dst" \
-+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
-+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
-+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
-+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-+
-+ else
-+ dstfile=`basename "$dst"`
-+
-+ # Make a couple of temp file names in the proper directory.
-+ dsttmp=$dstdir/_inst.$$_
-+ rmtmp=$dstdir/_rm.$$_
-+
-+ # Trap to clean up those temp files at exit.
-+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-+ trap '(exit $?); exit' 1 2 13 15
-+
-+ # Copy the file name to the temp name.
-+ $doit $cpprog "$src" "$dsttmp" &&
-+
-+ # and set any options; do chmod last to preserve setuid bits.
-+ #
-+ # If any of these fail, we abort the whole thing. If we want to
-+ # ignore errors from any of these, just make sure not to ignore
-+ # errors from the above "$doit $cpprog $src $dsttmp" command.
-+ #
-+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
-+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
-+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
-+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-+
-+ # Now rename the file to the real destination.
-+ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
-+ || {
-+ # The rename failed, perhaps because mv can't rename something else
-+ # to itself, or perhaps because mv is so ancient that it does not
-+ # support -f.
-+
-+ # Now remove or move aside any old file at destination location.
-+ # We try this two ways since rm can't unlink itself on some
-+ # systems and the destination file might be busy for other
-+ # reasons. In this case, the final cleanup might fail but the new
-+ # file should still install successfully.
-+ {
-+ if test -f "$dstdir/$dstfile"; then
-+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
-+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
-+ || {
-+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-+ (exit 1); exit 1
-+ }
-+ else
-+ :
-+ fi
-+ } &&
-+
-+ # Now rename the file to the real destination.
-+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-+ }
-+ }
-+ fi || { (exit 1); exit 1; }
-+done
-+
-+# The final little trick to "correctly" pass the exit status to the exit trap.
-+{
-+ (exit 0); exit 0
-+}
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "scriptversion="
-+# time-stamp-format: "%:y-%02m-%02d.%02H"
-+# time-stamp-end: "$"
-+# End:
-diff --git a/tools/dfu-util/m4/missing b/tools/dfu-util/m4/missing
-new file mode 100644
-index 0000000..894e786
---- /dev/null
-+++ b/tools/dfu-util/m4/missing
-@@ -0,0 +1,360 @@
-+#! /bin/sh
-+# Common stub for a few missing GNU programs while installing.
-+
-+scriptversion=2005-06-08.21
-+
-+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2, or (at your option)
-+# any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+# 02110-1301, USA.
-+
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
-+
-+if test $# -eq 0; then
-+ echo 1>&2 "Try \`$0 --help' for more information"
-+ exit 1
-+fi
-+
-+run=:
-+
-+# In the cases where this matters, `missing' is being run in the
-+# srcdir already.
-+if test -f configure.ac; then
-+ configure_ac=configure.ac
-+else
-+ configure_ac=configure.in
-+fi
-+
-+msg="missing on your system"
-+
-+case "$1" in
-+--run)
-+ # Try to run requested program, and just exit if it succeeds.
-+ run=
-+ shift
-+ "$@" && exit 0
-+ # Exit code 63 means version mismatch. This often happens
-+ # when the user try to use an ancient version of a tool on
-+ # a file that requires a minimum version. In this case we
-+ # we should proceed has if the program had been absent, or
-+ # if --run hadn't been passed.
-+ if test $? = 63; then
-+ run=:
-+ msg="probably too old"
-+ fi
-+ ;;
-+
-+ -h|--h|--he|--hel|--help)
-+ echo "\
-+$0 [OPTION]... PROGRAM [ARGUMENT]...
-+
-+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-+error status if there is no known handling for PROGRAM.
-+
-+Options:
-+ -h, --help display this help and exit
-+ -v, --version output version information and exit
-+ --run try to run the given command, and emulate it if it fails
-+
-+Supported PROGRAM values:
-+ aclocal touch file \`aclocal.m4'
-+ autoconf touch file \`configure'
-+ autoheader touch file \`config.h.in'
-+ automake touch all \`Makefile.in' files
-+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
-+ flex create \`lex.yy.c', if possible, from existing .c
-+ help2man touch the output file
-+ lex create \`lex.yy.c', if possible, from existing .c
-+ makeinfo touch the output file
-+ tar try tar, gnutar, gtar, then tar without non-portable flags
-+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-+
-+Send bug reports to <bug-automake@gnu.org>."
-+ exit $?
-+ ;;
-+
-+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-+ echo "missing $scriptversion (GNU Automake)"
-+ exit $?
-+ ;;
-+
-+ -*)
-+ echo 1>&2 "$0: Unknown \`$1' option"
-+ echo 1>&2 "Try \`$0 --help' for more information"
-+ exit 1
-+ ;;
-+
-+esac
-+
-+# Now exit if we have it, but it failed. Also exit now if we
-+# don't have it and --version was passed (most likely to detect
-+# the program).
-+case "$1" in
-+ lex|yacc)
-+ # Not GNU programs, they don't have --version.
-+ ;;
-+
-+ tar)
-+ if test -n "$run"; then
-+ echo 1>&2 "ERROR: \`tar' requires --run"
-+ exit 1
-+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-+ exit 1
-+ fi
-+ ;;
-+
-+ *)
-+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-+ # We have it, but it failed.
-+ exit 1
-+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-+ # Could not run --version or --help. This is probably someone
-+ # running `$TOOL --version' or `$TOOL --help' to check whether
-+ # $TOOL exists and not knowing $TOOL uses missing.
-+ exit 1
-+ fi
-+ ;;
-+esac
-+
-+# If it does not exist, or fails to run (possibly an outdated version),
-+# try to emulate it.
-+case "$1" in
-+ aclocal*)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
-+ to install the \`Automake' and \`Perl' packages. Grab them from
-+ any GNU archive site."
-+ touch aclocal.m4
-+ ;;
-+
-+ autoconf)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified \`${configure_ac}'. You might want to install the
-+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
-+ archive site."
-+ touch configure
-+ ;;
-+
-+ autoheader)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
-+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
-+ from any GNU archive site."
-+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-+ test -z "$files" && files="config.h"
-+ touch_files=
-+ for f in $files; do
-+ case "$f" in
-+ *:*) touch_files="$touch_files "`echo "$f" |
-+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-+ *) touch_files="$touch_files $f.in";;
-+ esac
-+ done
-+ touch $touch_files
-+ ;;
-+
-+ automake*)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-+ You might want to install the \`Automake' and \`Perl' packages.
-+ Grab them from any GNU archive site."
-+ find . -type f -name Makefile.am -print |
-+ sed 's/\.am$/.in/' |
-+ while read f; do touch "$f"; done
-+ ;;
-+
-+ autom4te)
-+ echo 1>&2 "\
-+WARNING: \`$1' is needed, but is $msg.
-+ You might have modified some files without having the
-+ proper tools for further handling them.
-+ You can get \`$1' as part of \`Autoconf' from any GNU
-+ archive site."
-+
-+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
-+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
-+ if test -f "$file"; then
-+ touch $file
-+ else
-+ test -z "$file" || exec >$file
-+ echo "#! /bin/sh"
-+ echo "# Created by GNU Automake missing as a replacement of"
-+ echo "# $ $@"
-+ echo "exit 0"
-+ chmod +x $file
-+ exit 1
-+ fi
-+ ;;
-+
-+ bison|yacc)
-+ echo 1>&2 "\
-+WARNING: \`$1' $msg. You should only need it if
-+ you modified a \`.y' file. You may need the \`Bison' package
-+ in order for those modifications to take effect. You can get
-+ \`Bison' from any GNU archive site."
-+ rm -f y.tab.c y.tab.h
-+ if [ $# -ne 1 ]; then
-+ eval LASTARG="\${$#}"
-+ case "$LASTARG" in
-+ *.y)
-+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-+ if [ -f "$SRCFILE" ]; then
-+ cp "$SRCFILE" y.tab.c
-+ fi
-+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-+ if [ -f "$SRCFILE" ]; then
-+ cp "$SRCFILE" y.tab.h
-+ fi
-+ ;;
-+ esac
-+ fi
-+ if [ ! -f y.tab.h ]; then
-+ echo >y.tab.h
-+ fi
-+ if [ ! -f y.tab.c ]; then
-+ echo 'main() { return 0; }' >y.tab.c
-+ fi
-+ ;;
-+
-+ lex|flex)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified a \`.l' file. You may need the \`Flex' package
-+ in order for those modifications to take effect. You can get
-+ \`Flex' from any GNU archive site."
-+ rm -f lex.yy.c
-+ if [ $# -ne 1 ]; then
-+ eval LASTARG="\${$#}"
-+ case "$LASTARG" in
-+ *.l)
-+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-+ if [ -f "$SRCFILE" ]; then
-+ cp "$SRCFILE" lex.yy.c
-+ fi
-+ ;;
-+ esac
-+ fi
-+ if [ ! -f lex.yy.c ]; then
-+ echo 'main() { return 0; }' >lex.yy.c
-+ fi
-+ ;;
-+
-+ help2man)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified a dependency of a manual page. You may need the
-+ \`Help2man' package in order for those modifications to take
-+ effect. You can get \`Help2man' from any GNU archive site."
-+
-+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-+ if test -z "$file"; then
-+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
-+ fi
-+ if [ -f "$file" ]; then
-+ touch $file
-+ else
-+ test -z "$file" || exec >$file
-+ echo ".ab help2man is required to generate this page"
-+ exit 1
-+ fi
-+ ;;
-+
-+ makeinfo)
-+ echo 1>&2 "\
-+WARNING: \`$1' is $msg. You should only need it if
-+ you modified a \`.texi' or \`.texinfo' file, or any other file
-+ indirectly affecting the aspect of the manual. The spurious
-+ call might also be the consequence of using a buggy \`make' (AIX,
-+ DU, IRIX). You might want to install the \`Texinfo' package or
-+ the \`GNU make' package. Grab either from any GNU archive site."
-+ # The file to touch is that specified with -o ...
-+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-+ if test -z "$file"; then
-+ # ... or it is the one specified with @setfilename ...
-+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
-+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
-+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-+ fi
-+ # If the file does not exist, the user really needs makeinfo;
-+ # let's fail without touching anything.
-+ test -f $file || exit 1
-+ touch $file
-+ ;;
-+
-+ tar)
-+ shift
-+
-+ # We have already tried tar in the generic part.
-+ # Look for gnutar/gtar before invocation to avoid ugly error
-+ # messages.
-+ if (gnutar --version > /dev/null 2>&1); then
-+ gnutar "$@" && exit 0
-+ fi
-+ if (gtar --version > /dev/null 2>&1); then
-+ gtar "$@" && exit 0
-+ fi
-+ firstarg="$1"
-+ if shift; then
-+ case "$firstarg" in
-+ *o*)
-+ firstarg=`echo "$firstarg" | sed s/o//`
-+ tar "$firstarg" "$@" && exit 0
-+ ;;
-+ esac
-+ case "$firstarg" in
-+ *h*)
-+ firstarg=`echo "$firstarg" | sed s/h//`
-+ tar "$firstarg" "$@" && exit 0
-+ ;;
-+ esac
-+ fi
-+
-+ echo 1>&2 "\
-+WARNING: I can't seem to be able to run \`tar' with the given arguments.
-+ You may want to install GNU tar or Free paxutils, or check the
-+ command line arguments."
-+ exit 1
-+ ;;
-+
-+ *)
-+ echo 1>&2 "\
-+WARNING: \`$1' is needed, and is $msg.
-+ You might have modified some files without having the
-+ proper tools for further handling them. Check the \`README' file,
-+ it often tells you about the needed prerequisites for installing
-+ this package. You may also peek at any GNU archive site, in case
-+ some other package would contain this missing \`$1' program."
-+ exit 1
-+ ;;
-+esac
-+
-+exit 0
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "scriptversion="
-+# time-stamp-format: "%:y-%02m-%02d.%02H"
-+# time-stamp-end: "$"
-+# End:
-diff --git a/tools/dfu-util/src/Makefile.am b/tools/dfu-util/src/Makefile.am
-new file mode 100644
-index 0000000..75730dd
---- /dev/null
-+++ b/tools/dfu-util/src/Makefile.am
-@@ -0,0 +1,16 @@
-+AM_CFLAGS = -Wall
-+
-+dfu-version.h:
-+ echo -e '#ifndef DFU_UTIL_VERSION' \
-+ '\n#define DFU_UTIL_VERSION "'`svnversion`'"' \
-+ '\n#endif' > dfu-version.h
-+BUILT_SOURCES = dfu-version.h
-+
-+bin_PROGRAMS = dfu-util dfu-util_static
-+dfu_util_SOURCES = main.c sam7dfu.c dfu.c dfu.h
-+
-+dfu_util_static_SOURCES = main.c sam7dfu.c dfu.c dfu.h
-+dfu_util_static_LDFLAGS = -static
-+
-+# commands.c commands.h sam7dfu.c
-+
-diff --git a/tools/dfu-util/src/Makefile.in b/tools/dfu-util/src/Makefile.in
-new file mode 100644
-index 0000000..c18609f
---- /dev/null
-+++ b/tools/dfu-util/src/Makefile.in
-@@ -0,0 +1,425 @@
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-+# 2003, 2004, 2005 Free Software Foundation, Inc.
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+top_builddir = ..
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+INSTALL = @INSTALL@
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+bin_PROGRAMS = dfu-util$(EXEEXT) dfu-util_static$(EXEEXT)
-+subdir = src
-+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+ $(ACLOCAL_M4)
-+mkinstalldirs = $(install_sh) -d
-+CONFIG_HEADER = $(top_builddir)/config.h
-+CONFIG_CLEAN_FILES =
-+am__installdirs = "$(DESTDIR)$(bindir)"
-+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-+PROGRAMS = $(bin_PROGRAMS)
-+am_dfu_util_OBJECTS = main.$(OBJEXT) sam7dfu.$(OBJEXT) dfu.$(OBJEXT)
-+dfu_util_OBJECTS = $(am_dfu_util_OBJECTS)
-+dfu_util_LDADD = $(LDADD)
-+am_dfu_util_static_OBJECTS = main.$(OBJEXT) sam7dfu.$(OBJEXT) \
-+ dfu.$(OBJEXT)
-+dfu_util_static_OBJECTS = $(am_dfu_util_static_OBJECTS)
-+dfu_util_static_LDADD = $(LDADD)
-+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-+depcomp = $(SHELL) $(top_srcdir)/m4/depcomp
-+am__depfiles_maybe = depfiles
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+CCLD = $(CC)
-+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+SOURCES = $(dfu_util_SOURCES) $(dfu_util_static_SOURCES)
-+DIST_SOURCES = $(dfu_util_SOURCES) $(dfu_util_static_SOURCES)
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+ACLOCAL = @ACLOCAL@
-+AMDEP_FALSE = @AMDEP_FALSE@
-+AMDEP_TRUE = @AMDEP_TRUE@
-+AMTAR = @AMTAR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+GREP = @GREP@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LDFLAGS = @LDFLAGS@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-+MAKEINFO = @MAKEINFO@
-+OBJEXT = @OBJEXT@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+PKG_CONFIG = @PKG_CONFIG@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+USB_CFLAGS = @USB_CFLAGS@
-+USB_LIBS = @USB_LIBS@
-+VERSION = @VERSION@
-+ac_ct_CC = @ac_ct_CC@
-+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build_alias = @build_alias@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host_alias = @host_alias@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+AM_CFLAGS = -Wall
-+BUILT_SOURCES = dfu-version.h
-+dfu_util_SOURCES = main.c sam7dfu.c dfu.c dfu.h
-+dfu_util_static_SOURCES = main.c sam7dfu.c dfu.c dfu.h
-+dfu_util_static_LDFLAGS = -static
-+all: $(BUILT_SOURCES)
-+ $(MAKE) $(AM_MAKEFLAGS) all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .o .obj
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
-+ @for dep in $?; do \
-+ case '$(am__configure_deps)' in \
-+ *$$dep*) \
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-+ && exit 0; \
-+ exit 1;; \
-+ esac; \
-+ done; \
-+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
-+ cd $(top_srcdir) && \
-+ $(AUTOMAKE) --foreign src/Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+ @case '$?' in \
-+ *config.status*) \
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-+ *) \
-+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-+ esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+install-binPROGRAMS: $(bin_PROGRAMS)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
-+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
-+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-+ if test -f $$p \
-+ ; then \
-+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-+ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-+ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-+ else :; fi; \
-+ done
-+
-+uninstall-binPROGRAMS:
-+ @$(NORMAL_UNINSTALL)
-+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
-+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
-+ done
-+
-+clean-binPROGRAMS:
-+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-+dfu-util$(EXEEXT): $(dfu_util_OBJECTS) $(dfu_util_DEPENDENCIES)
-+ @rm -f dfu-util$(EXEEXT)
-+ $(LINK) $(dfu_util_LDFLAGS) $(dfu_util_OBJECTS) $(dfu_util_LDADD) $(LIBS)
-+dfu-util_static$(EXEEXT): $(dfu_util_static_OBJECTS) $(dfu_util_static_DEPENDENCIES)
-+ @rm -f dfu-util_static$(EXEEXT)
-+ $(LINK) $(dfu_util_static_LDFLAGS) $(dfu_util_static_OBJECTS) $(dfu_util_static_LDADD) $(LIBS)
-+
-+mostlyclean-compile:
-+ -rm -f *.$(OBJEXT)
-+
-+distclean-compile:
-+ -rm -f *.tab.c
-+
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dfu.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sam7dfu.Po@am__quote@
-+
-+.c.o:
-+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-+
-+.c.obj:
-+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-+uninstall-info-am:
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ mkid -fID $$unique
-+tags: TAGS
-+
-+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-+ test -n "$$unique" || unique=$$empty_fix; \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ $$tags $$unique; \
-+ fi
-+ctags: CTAGS
-+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
-+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+ $$tags $$unique
-+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && cd $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) $$here
-+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-+ list='$(DISTFILES)'; for file in $$list; do \
-+ case $$file in \
-+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-+ esac; \
-+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-+ dir="/$$dir"; \
-+ $(mkdir_p) "$(distdir)$$dir"; \
-+ else \
-+ dir=''; \
-+ fi; \
-+ if test -d $$d/$$file; then \
-+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-+ fi; \
-+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-+ else \
-+ test -f $(distdir)/$$file \
-+ || cp -p $$d/$$file $(distdir)/$$file \
-+ || exit 1; \
-+ fi; \
-+ done
-+check-am: all-am
-+check: $(BUILT_SOURCES)
-+ $(MAKE) $(AM_MAKEFLAGS) check-am
-+all-am: Makefile $(PROGRAMS)
-+installdirs:
-+ for dir in "$(DESTDIR)$(bindir)"; do \
-+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
-+ done
-+install: $(BUILT_SOURCES)
-+ $(MAKE) $(AM_MAKEFLAGS) install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+ `test -z '$(STRIP)' || \
-+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+
-+maintainer-clean-generic:
-+ @echo "This command is intended for maintainers to use"
-+ @echo "it deletes files that may require special tools to rebuild."
-+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-+clean: clean-am
-+
-+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
-+
-+distclean: distclean-am
-+ -rm -rf ./$(DEPDIR)
-+ -rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+ distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am:
-+
-+install-exec-am: install-binPROGRAMS
-+
-+install-info: install-info-am
-+
-+install-man:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+ -rm -rf ./$(DEPDIR)
-+ -rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic
-+
-+pdf: pdf-am
-+
-+pdf-am:
-+
-+ps: ps-am
-+
-+ps-am:
-+
-+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-+
-+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-+ clean-generic ctags distclean distclean-compile \
-+ distclean-generic distclean-tags distdir dvi dvi-am html \
-+ html-am info info-am install install-am install-binPROGRAMS \
-+ install-data install-data-am install-exec install-exec-am \
-+ install-info install-info-am install-man install-strip \
-+ installcheck installcheck-am installdirs maintainer-clean \
-+ maintainer-clean-generic mostlyclean mostlyclean-compile \
-+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-+ uninstall-am uninstall-binPROGRAMS uninstall-info-am
-+
-+
-+dfu-version.h:
-+ echo -e '#ifndef DFU_UTIL_VERSION' \
-+ '\n#define DFU_UTIL_VERSION "'`svnversion`'"' \
-+ '\n#endif' > dfu-version.h
-+
-+# commands.c commands.h sam7dfu.c
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff --git a/tools/dfu-util/src/commands.c b/tools/dfu-util/src/commands.c
-new file mode 100644
-index 0000000..e782be6
---- /dev/null
-+++ b/tools/dfu-util/src/commands.c
-@@ -0,0 +1,375 @@
-+/*
-+ * dfu-programmer
-+ *
-+ * $Id: commands.c,v 1.6 2006/06/25 00:01:37 schmidtw Exp $
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#include <stdio.h>
-+#include <string.h>
-+
-+#include "config.h"
-+#include "commands.h"
-+#include "arguments.h"
-+#include "intel_hex.h"
-+#include "atmel.h"
-+
-+
-+static int execute_erase( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ int result = 0;
-+
-+ if( 2 < debug ) {
-+ fprintf( stderr, "%s: erase %d bytes\n", __FUNCTION__,
-+ args.memory_size );
-+ }
-+
-+ result = atmel_erase_flash( device, interface, ATMEL_ERASE_ALL );
-+ if( 0 != result )
-+ return result;
-+
-+ return atmel_blank_check( device, interface, 0, args.top_memory_address );
-+}
-+
-+
-+static int execute_flash( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ char *hex_data = NULL;
-+ int usage = 0;
-+ int retval = -1;
-+ int result = 0;
-+ char *buffer = NULL;
-+ int i;
-+
-+ buffer = (char *) malloc( args.memory_size );
-+ if( NULL == buffer ) {
-+ fprintf( stderr, "Request for %d bytes of memory failed.\n",
-+ args.memory_size );
-+ goto error;
-+ }
-+
-+ memset( buffer, 0, args.memory_size );
-+
-+ hex_data = intel_hex_to_buffer( args.com_flash_data.file,
-+ args.memory_size, 0xff, &usage );
-+ if( NULL == hex_data ) {
-+ fprintf( stderr,
-+ "Something went wrong with creating the memory image.\n" );
-+ goto error;
-+ }
-+
-+ if( 2 < debug ) {
-+ fprintf( stderr, "%s: write %d/%d bytes\n", __FUNCTION__,
-+ usage, args.memory_size );
-+ }
-+
-+ result = atmel_flash( device, interface, 0, args.top_memory_address,
-+ hex_data );
-+
-+ if( args.memory_size != result ) {
-+ fprintf( stderr, "Error while flashing. (%d)\n", result );
-+ goto error;
-+ }
-+
-+ if( 0 == args.com_flash_data.suppress_validation ) {
-+ fprintf( stderr, "Validating...\n" );
-+
-+ result = atmel_read_flash( device, interface, 0,
-+ args.top_memory_address, buffer,
-+ args.memory_size );
-+
-+ if( args.memory_size != result ) {
-+ fprintf( stderr, "Error while validating.\n" );
-+ goto error;
-+ }
-+
-+ if( 0 != memcmp(hex_data, buffer, args.memory_size) ) {
-+ fprintf( stderr, "Image did not validate.\n" );
-+ goto error;
-+ }
-+ }
-+
-+ if( 0 == args.quiet ) {
-+ fprintf( stderr, "%d bytes used (%.02f%%)\n", usage,
-+ ((float)(usage*100)/(float)(args.top_memory_address)) );
-+ }
-+
-+ retval = 0;
-+
-+error:
-+ if( NULL != buffer ) {
-+ free( buffer );
-+ buffer = NULL;
-+ }
-+
-+ if( NULL != hex_data ) {
-+ free( hex_data );
-+ hex_data = NULL;
-+ }
-+
-+ return retval;
-+}
-+
-+
-+static int execute_start_app( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ return atmel_start_app( device, interface );
-+}
-+
-+
-+static int execute_get( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ struct atmel_device_info info;
-+ char *message = NULL;
-+ short value = 0;
-+ int status;
-+ int controller_error = 0;
-+
-+ if( device_8051 == args.device_type ) {
-+ status = atmel_read_config_8051( device, interface, &info );
-+ } else {
-+ status = atmel_read_config_avr( device, interface, &info );
-+ }
-+
-+ if( 0 != status ) {
-+ fprintf( stderr, "Error reading %s config information.\n",
-+ args.device_type_string );
-+ return status;
-+ }
-+
-+ switch( args.com_get_data.name ) {
-+ case get_bootloader:
-+ value = info.bootloaderVersion;
-+ message = "Bootloader Version";
-+ break;
-+ case get_ID1:
-+ value = info.bootID1;
-+ message = "Device boot ID 1";
-+ break;
-+ case get_ID2:
-+ value = info.bootID2;
-+ message = "Device boot ID 2";
-+ break;
-+ case get_BSB:
-+ value = info.bsb;
-+ message = "Boot Status Byte";
-+ if( device_8051 != args.device_type ) {
-+ controller_error = 1;
-+ }
-+ break;
-+ case get_SBV:
-+ value = info.sbv;
-+ message = "Software Boot Vector";
-+ if( device_8051 != args.device_type ) {
-+ controller_error = 1;
-+ }
-+ break;
-+ case get_SSB:
-+ value = info.ssb;
-+ message = "Software Security Byte";
-+ if( device_8051 != args.device_type ) {
-+ controller_error = 1;
-+ }
-+ break;
-+ case get_EB:
-+ value = info.eb;
-+ message = "Extra Byte";
-+ if( device_8051 != args.device_type ) {
-+ controller_error = 1;
-+ }
-+ break;
-+ case get_manufacturer:
-+ value = info.manufacturerCode;
-+ message = "Manufacturer Code";
-+ break;
-+ case get_family:
-+ value = info.familyCode;
-+ message = "Family Code";
-+ break;
-+ case get_product_name:
-+ value = info.productName;
-+ message = "Product Name";
-+ break;
-+ case get_product_rev:
-+ value = info.productRevision;
-+ message = "Product Revision";
-+ break;
-+ case get_HSB:
-+ value = info.hsb;
-+ message = "Hardware Security Byte";
-+ break;
-+ }
-+
-+ if( 0 != controller_error ) {
-+ fprintf( stderr, "%s requires 8051 based controller\n",
-+ message );
-+ return -1;
-+ }
-+
-+ if( value < 0 ) {
-+ fprintf( stderr, "The requested device info is unavailable.\n" );
-+ return -2;
-+ }
-+
-+ fprintf( stdout, "%s%s0x%02x (%d)\n",
-+ ((0 == args.quiet) ? message : ""),
-+ ((0 == args.quiet) ? ": " : ""),
-+ value, value );
-+ return 0;
-+}
-+
-+
-+static int execute_dump( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ int i = 0;
-+ char *buffer = NULL;
-+
-+ buffer = (char *) malloc( (args.memory_size) );
-+ if( NULL == buffer ) {
-+ fprintf( stderr, "Request for %d bytes of memory failed.\n",
-+ args.memory_size );
-+ goto error;
-+ }
-+
-+ if( 2 < debug ) {
-+ fprintf( stderr, "%s: dump %d bytes\n", __FUNCTION__,
-+ args.memory_size );
-+ }
-+
-+ if( args.memory_size != atmel_read_flash(device, interface, 0,
-+ args.top_memory_address, buffer,
-+ args.memory_size) )
-+ {
-+ fprintf( stderr, "Error while validating.\n" );
-+ return -1;
-+ }
-+
-+ for( i = 0; i < args.memory_size; i++ ) {
-+ fprintf( stdout, "%c", buffer[i] );
-+ }
-+
-+ fflush( stdout );
-+
-+error:
-+ if( NULL != buffer ) {
-+ free( buffer );
-+ buffer = NULL;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+static int execute_configure( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ int value = args.com_configure_data.value;
-+ int name = args.com_configure_data.name;
-+
-+ if( device_8051 != args.device_type ) {
-+ fprintf( stderr, "target doesn't support configure operation.\n" );
-+ return -1;
-+ }
-+
-+ if( (0xff & value) != value ) {
-+ fprintf( stderr, "Value to configure must be in range 0-255.\n" );
-+ return -1;
-+ }
-+
-+ if( 0 != atmel_set_config(device, interface, name, value) )
-+ {
-+ fprintf( stderr, "Configuration set failed.\n" );
-+ return -1;
-+ }
-+
-+ return 0;
-+}
-+
-+
-+static int execute_dnload( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ if( device_SAM7 != args.device_type || device_NEO1973 != args.device_type) {
-+ fprintf( stderr, "target doesn't support dfu download operation.\n" );
-+ return -1;
-+ }
-+
-+ if ( 0 > sam7dfu_do_dnloa(device, interface, 256, /* FIXME */
-+ args.com_flash_data.file) )
-+ {
-+ fprintf( stderr, "Download failed.\n" );
-+ return -1;
-+ }
-+}
-+
-+
-+static int execute_upload( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ if( device_SAM7 != args.device_type || device_NEO1973 != args.device_type) {
-+ fprintf( stderr, "target doesn't support dfu upload operation.\n" );
-+ return -1;
-+ }
-+
-+ if ( 0 > sam7dfu_do_upload(device, interface, 256, /* FIXME */
-+ args.com_flash_data.file) )
-+ {
-+ fprintf( stderr, "Download failed.\n" );
-+ return -1;
-+ }
-+}
-+
-+
-+int execute_command( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args )
-+{
-+ switch( args.command ) {
-+ case com_erase:
-+ return execute_erase( device, interface, args );
-+ case com_flash:
-+ return execute_flash( device, interface, args );
-+ case com_start_app:
-+ return execute_start_app( device, interface, args );
-+ case com_get:
-+ return execute_get( device, interface, args );
-+ case com_dump:
-+ return execute_dump( device, interface, args );
-+ case com_configure:
-+ return execute_configure( device, interface, args );
-+ case com_dnload:
-+ return execute_dnload( device, interface, args );
-+ case com_upload:
-+ return execute_upload( device, interface, args );
-+ default:
-+ fprintf( stderr, "Not supported at this time.\n" );
-+ }
-+
-+ return -1;
-+}
-diff --git a/tools/dfu-util/src/commands.h b/tools/dfu-util/src/commands.h
-new file mode 100644
-index 0000000..1d156e3
---- /dev/null
-+++ b/tools/dfu-util/src/commands.h
-@@ -0,0 +1,30 @@
-+/*
-+ * dfu-programmer
-+ *
-+ * $Id: commands.h,v 1.2 2005/09/25 01:27:42 schmidtw Exp $
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#ifndef __COMMANDS_H__
-+#define __COMMANDS_H__
-+
-+#include <usb.h>
-+#include "arguments.h"
-+
-+int execute_command( struct usb_dev_handle *device,
-+ int interface,
-+ struct programmer_arguments args );
-+#endif
-diff --git a/tools/dfu-util/src/dfu.c b/tools/dfu-util/src/dfu.c
-new file mode 100644
-index 0000000..c0b4f2b
---- /dev/null
-+++ b/tools/dfu-util/src/dfu.c
-@@ -0,0 +1,420 @@
-+/*
-+ * dfu-programmer
-+ *
-+ * $Id: dfu.c,v 1.3 2006/06/20 06:28:04 schmidtw Exp $
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#include <stdio.h>
-+#include <usb.h>
-+#include "dfu.h"
-+
-+/* DFU commands */
-+#define DFU_DETACH 0
-+#define DFU_DNLOAD 1
-+#define DFU_UPLOAD 2
-+#define DFU_GETSTATUS 3
-+#define DFU_CLRSTATUS 4
-+#define DFU_GETSTATE 5
-+#define DFU_ABORT 6
-+
-+#define INVALID_DFU_TIMEOUT -1
-+
-+static int dfu_timeout = INVALID_DFU_TIMEOUT;
-+static unsigned short transaction = 0;
-+
-+static int dfu_debug_level = 0;
-+
-+void dfu_init( const int timeout )
-+{
-+ if( timeout > 0 ) {
-+ dfu_timeout = timeout;
-+ } else {
-+ if( 0 != dfu_debug_level )
-+ fprintf( stderr, "dfu_init: Invalid timeout value.\n" );
-+ }
-+}
-+
-+static int dfu_verify_init( const char *function )
-+{
-+ if( INVALID_DFU_TIMEOUT == dfu_timeout ) {
-+ if( 0 != dfu_debug_level )
-+ fprintf( stderr,
-+ "%s: dfu system not property initialized.\n",
-+ function );
-+ return -1;
-+ }
-+
-+ return 0;
-+}
-+
-+void dfu_debug( const int level )
-+{
-+ dfu_debug_level = level;
-+}
-+
-+
-+/*
-+ * DFU_DETACH Request (DFU Spec 1.0, Section 5.1)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ * timeout - the timeout in ms the USB device should wait for a pending
-+ * USB reset before giving up and terminating the operation
-+ *
-+ * returns 0 or < 0 on error
-+ */
-+int dfu_detach( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ const unsigned short timeout )
-+{
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ return usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_DETACH,
-+ /* wValue */ timeout,
-+ /* wIndex */ interface,
-+ /* Data */ NULL,
-+ /* wLength */ 0,
-+ dfu_timeout );
-+}
-+
-+
-+/*
-+ * DFU_DNLOAD Request (DFU Spec 1.0, Section 6.1.1)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ * length - the total number of bytes to transfer to the USB
-+ * device - must be less than wTransferSize
-+ * data - the data to transfer
-+ *
-+ * returns the number of bytes written or < 0 on error
-+ */
-+int dfu_download( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ const unsigned short length,
-+ char* data )
-+{
-+ int status;
-+
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ /* Sanity checks */
-+ if( (0 != length) && (NULL == data) ) {
-+ if( 0 != dfu_debug_level )
-+ fprintf( stderr,
-+ "%s: data was NULL, but length != 0\n",
-+ __FUNCTION__ );
-+ return -1;
-+ }
-+
-+ if( (0 == length) && (NULL != data) ) {
-+ if( 0 != dfu_debug_level )
-+ fprintf( stderr,
-+ "%s: data was not NULL, but length == 0\n",
-+ __FUNCTION__ );
-+ return -2;
-+ }
-+
-+ status = usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_DNLOAD,
-+ /* wValue */ transaction++,
-+ /* wIndex */ interface,
-+ /* Data */ data,
-+ /* wLength */ length,
-+ dfu_timeout );
-+ if( status < 0 ) {
-+ fprintf( stderr, "%s error %d\n", __FUNCTION__, status );
-+ }
-+
-+ return status;
-+}
-+
-+
-+/*
-+ * DFU_UPLOAD Request (DFU Spec 1.0, Section 6.2)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ * length - the maximum number of bytes to receive from the USB
-+ * device - must be less than wTransferSize
-+ * data - the buffer to put the received data in
-+ *
-+ * returns the number of bytes received or < 0 on error
-+ */
-+int dfu_upload( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ const unsigned short length,
-+ char* data )
-+{
-+ int status;
-+
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ /* Sanity checks */
-+ if( (0 == length) || (NULL == data) ) {
-+ if( 0 != dfu_debug_level )
-+ fprintf( stderr,
-+ "%s: data was NULL, or length is 0\n",
-+ __FUNCTION__ );
-+ return -1;
-+ }
-+
-+ status = usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_UPLOAD,
-+ /* wValue */ transaction++,
-+ /* wIndex */ interface,
-+ /* Data */ data,
-+ /* wLength */ length,
-+ dfu_timeout );
-+ if( status < 0 ) {
-+ fprintf( stderr, "%s error %d\n", __FUNCTION__, status );
-+ }
-+
-+ return status;
-+}
-+
-+
-+/*
-+ * DFU_GETSTATUS Request (DFU Spec 1.0, Section 6.1.2)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ * status - the data structure to be populated with the results
-+ *
-+ * return the number of bytes read in or < 0 on an error
-+ */
-+int dfu_get_status( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ struct dfu_status *status )
-+{
-+ char buffer[6];
-+ int result;
-+
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ /* Initialize the status data structure */
-+ status->bStatus = DFU_STATUS_ERROR_UNKNOWN;
-+ status->bwPollTimeout = 0;
-+ status->bState = STATE_DFU_ERROR;
-+ status->iString = 0;
-+
-+ result = usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_GETSTATUS,
-+ /* wValue */ 0,
-+ /* wIndex */ interface,
-+ /* Data */ buffer,
-+ /* wLength */ 6,
-+ dfu_timeout );
-+
-+ if( 6 == result ) {
-+ status->bStatus = buffer[0];
-+ status->bwPollTimeout = ((0xff & buffer[3]) << 16) |
-+ ((0xff & buffer[2]) << 8) |
-+ (0xff & buffer[1]);
-+
-+ status->bState = buffer[4];
-+ status->iString = buffer[5];
-+ }
-+
-+ return result;
-+}
-+
-+
-+/*
-+ * DFU_CLRSTATUS Request (DFU Spec 1.0, Section 6.1.3)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ *
-+ * return 0 or < 0 on an error
-+ */
-+int dfu_clear_status( struct usb_dev_handle *device,
-+ const unsigned short interface )
-+{
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ return usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_OUT| USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_CLRSTATUS,
-+ /* wValue */ 0,
-+ /* wIndex */ interface,
-+ /* Data */ NULL,
-+ /* wLength */ 0,
-+ dfu_timeout );
-+}
-+
-+
-+/*
-+ * DFU_GETSTATE Request (DFU Spec 1.0, Section 6.1.5)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ * length - the maximum number of bytes to receive from the USB
-+ * device - must be less than wTransferSize
-+ * data - the buffer to put the received data in
-+ *
-+ * returns the state or < 0 on error
-+ */
-+int dfu_get_state( struct usb_dev_handle *device,
-+ const unsigned short interface )
-+{
-+ int result;
-+ char buffer[1];
-+
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ result = usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_GETSTATE,
-+ /* wValue */ 0,
-+ /* wIndex */ interface,
-+ /* Data */ buffer,
-+ /* wLength */ 1,
-+ dfu_timeout );
-+
-+ /* Return the error if there is one. */
-+ if( result < 1 ) {
-+ return result;
-+ }
-+
-+ /* Return the state. */
-+ return buffer[0];
-+}
-+
-+
-+/*
-+ * DFU_ABORT Request (DFU Spec 1.0, Section 6.1.4)
-+ *
-+ * device - the usb_dev_handle to communicate with
-+ * interface - the interface to communicate with
-+ *
-+ * returns 0 or < 0 on an error
-+ */
-+int dfu_abort( struct usb_dev_handle *device,
-+ const unsigned short interface )
-+{
-+ if( 0 != dfu_verify_init(__FUNCTION__) )
-+ return -1;
-+
-+ return usb_control_msg( device,
-+ /* bmRequestType */ USB_ENDPOINT_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-+ /* bRequest */ DFU_ABORT,
-+ /* wValue */ 0,
-+ /* wIndex */ interface,
-+ /* Data */ NULL,
-+ /* wLength */ 0,
-+ dfu_timeout );
-+}
-+
-+
-+char* dfu_state_to_string( int state )
-+{
-+ char *message = NULL;
-+
-+ switch( state ) {
-+ case STATE_APP_IDLE:
-+ message = "appIDLE";
-+ break;
-+ case STATE_APP_DETACH:
-+ message = "appDETACH";
-+ break;
-+ case STATE_DFU_IDLE:
-+ message = "dfuIDLE";
-+ break;
-+ case STATE_DFU_DOWNLOAD_SYNC:
-+ message = "dfuDNLOAD-SYNC";
-+ break;
-+ case STATE_DFU_DOWNLOAD_BUSY:
-+ message = "dfuDNBUSY";
-+ break;
-+ case STATE_DFU_DOWNLOAD_IDLE:
-+ message = "dfuDNLOAD-IDLE";
-+ break;
-+ case STATE_DFU_MANIFEST_SYNC:
-+ message = "dfuMANIFEST-SYNC";
-+ break;
-+ case STATE_DFU_MANIFEST:
-+ message = "dfuMANIFEST";
-+ break;
-+ case STATE_DFU_MANIFEST_WAIT_RESET:
-+ message = "dfuMANIFEST-WAIT-RESET";
-+ break;
-+ case STATE_DFU_UPLOAD_IDLE:
-+ message = "dfuUPLOAD-IDLE";
-+ break;
-+ case STATE_DFU_ERROR:
-+ message = "dfuERROR";
-+ break;
-+ }
-+
-+ return message;
-+}
-+
-+/* Chapter 6.1.2 */
-+static const char *dfu_status_names[] = {
-+ [DFU_STATUS_OK] = "No error condition is present",
-+ [DFU_STATUS_errTARGET] =
-+ "File is not targeted for use by this device",
-+ [DFU_STATUS_errFILE] =
-+ "File is for this device but fails some vendor-specific test",
-+ [DFU_STATUS_errWRITE] =
-+ "Device is unable to write memory",
-+ [DFU_STATUS_errERASE] =
-+ "Memory erase function failed",
-+ [DFU_STATUS_errCHECK_ERASED] =
-+ "Memory erase check failed",
-+ [DFU_STATUS_errPROG] =
-+ "Program memory function failed",
-+ [DFU_STATUS_errVERIFY] =
-+ "Programmed emmory failed verification",
-+ [DFU_STATUS_errADDRESS] =
-+ "Cannot program memory due to received address that is out of range",
-+ [DFU_STATUS_errNOTDONE] =
-+ "Received DFU_DNLOAD with wLength = 0, but device does not think that it has all data yet",
-+ [DFU_STATUS_errFIRMWARE] =
-+ "Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations",
-+ [DFU_STATUS_errVENDOR] =
-+ "iString indicates a vendor specific error",
-+ [DFU_STATUS_errUSBR] =
-+ "Device detected unexpected USB reset signalling",
-+ [DFU_STATUS_errPOR] =
-+ "Device detected unexpected power on reset",
-+ [DFU_STATUS_errUNKNOWN] =
-+ "Something went wrong, but the device does not know what it was",
-+ [DFU_STATUS_errSTALLEDPKT] =
-+ "Device stalled an unexpected request",
-+};
-+
-+
-+const char *dfu_status_to_string(int status)
-+{
-+ if (status > DFU_STATUS_errSTALLEDPKT)
-+ return "INVALID";
-+ return dfu_status_names[status];
-+}
-+
-diff --git a/tools/dfu-util/src/dfu.h b/tools/dfu-util/src/dfu.h
-new file mode 100644
-index 0000000..cd4b06c
---- /dev/null
-+++ b/tools/dfu-util/src/dfu.h
-@@ -0,0 +1,103 @@
-+/*
-+ * dfu-programmer
-+ *
-+ * $Id: dfu.h,v 1.2 2005/09/25 01:27:42 schmidtw Exp $
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#ifndef __DFU_H__
-+#define __DFU_H__
-+
-+#include <usb.h>
-+#include "usb_dfu.h"
-+
-+/* DFU states */
-+#define STATE_APP_IDLE 0x00
-+#define STATE_APP_DETACH 0x01
-+#define STATE_DFU_IDLE 0x02
-+#define STATE_DFU_DOWNLOAD_SYNC 0x03
-+#define STATE_DFU_DOWNLOAD_BUSY 0x04
-+#define STATE_DFU_DOWNLOAD_IDLE 0x05
-+#define STATE_DFU_MANIFEST_SYNC 0x06
-+#define STATE_DFU_MANIFEST 0x07
-+#define STATE_DFU_MANIFEST_WAIT_RESET 0x08
-+#define STATE_DFU_UPLOAD_IDLE 0x09
-+#define STATE_DFU_ERROR 0x0a
-+
-+
-+/* DFU status */
-+#define DFU_STATUS_OK 0x00
-+#define DFU_STATUS_ERROR_TARGET 0x01
-+#define DFU_STATUS_ERROR_FILE 0x02
-+#define DFU_STATUS_ERROR_WRITE 0x03
-+#define DFU_STATUS_ERROR_ERASE 0x04
-+#define DFU_STATUS_ERROR_CHECK_ERASED 0x05
-+#define DFU_STATUS_ERROR_PROG 0x06
-+#define DFU_STATUS_ERROR_VERIFY 0x07
-+#define DFU_STATUS_ERROR_ADDRESS 0x08
-+#define DFU_STATUS_ERROR_NOTDONE 0x09
-+#define DFU_STATUS_ERROR_FIRMWARE 0x0a
-+#define DFU_STATUS_ERROR_VENDOR 0x0b
-+#define DFU_STATUS_ERROR_USBR 0x0c
-+#define DFU_STATUS_ERROR_POR 0x0d
-+#define DFU_STATUS_ERROR_UNKNOWN 0x0e
-+#define DFU_STATUS_ERROR_STALLEDPKT 0x0f
-+
-+
-+/* This is based off of DFU_GETSTATUS
-+ *
-+ * 1 unsigned byte bStatus
-+ * 3 unsigned byte bwPollTimeout
-+ * 1 unsigned byte bState
-+ * 1 unsigned byte iString
-+*/
-+
-+struct dfu_status {
-+ unsigned char bStatus;
-+ unsigned int bwPollTimeout;
-+ unsigned char bState;
-+ unsigned char iString;
-+};
-+
-+void dfu_init( const int timeout );
-+void dfu_debug( const int level );
-+int dfu_detach( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ const unsigned short timeout );
-+int dfu_download( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ const unsigned short length,
-+ char* data );
-+int dfu_upload( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ const unsigned short length,
-+ char* data );
-+int dfu_get_status( struct usb_dev_handle *device,
-+ const unsigned short interface,
-+ struct dfu_status *status );
-+int dfu_clear_status( struct usb_dev_handle *device,
-+ const unsigned short interface );
-+int dfu_get_state( struct usb_dev_handle *device,
-+ const unsigned short interface );
-+int dfu_abort( struct usb_dev_handle *device,
-+ const unsigned short interface );
-+
-+char* dfu_state_to_string( int state );
-+
-+const char *dfu_status_to_string(int status);
-+
-+int debug;
-+#endif
-diff --git a/tools/dfu-util/src/index.html b/tools/dfu-util/src/index.html
-new file mode 100644
-index 0000000..850ccb6
---- /dev/null
-+++ b/tools/dfu-util/src/index.html
-@@ -0,0 +1,17 @@
-+<html><head><title>Revision 3573: /trunk/src/host/dfu-util/src</title></head>
-+<body>
-+ <h2>Revision 3573: /trunk/src/host/dfu-util/src</h2>
-+ <ul>
-+ <li><a href="../">..</a></li>
-+ <li><a href="Makefile.am">Makefile.am</a></li>
-+ <li><a href="commands.c">commands.c</a></li>
-+ <li><a href="commands.h">commands.h</a></li>
-+ <li><a href="dfu.c">dfu.c</a></li>
-+ <li><a href="dfu.h">dfu.h</a></li>
-+ <li><a href="main.c">main.c</a></li>
-+ <li><a href="sam7dfu.c">sam7dfu.c</a></li>
-+ <li><a href="sam7dfu.h">sam7dfu.h</a></li>
-+ <li><a href="usb_dfu.h">usb_dfu.h</a></li>
-+ </ul>
-+ <hr noshade><em>Powered by <a href="http://subversion.tigris.org/">Subversion</a> version 1.1.4 (r13838).</em>
-+</body></html>
-\ No newline at end of file
-diff --git a/tools/dfu-util/src/main.c b/tools/dfu-util/src/main.c
-new file mode 100644
-index 0000000..86591fe
---- /dev/null
-+++ b/tools/dfu-util/src/main.c
-@@ -0,0 +1,812 @@
-+/*
-+ * dfu-util
-+ *
-+ * (C) 2007 by OpenMoko, Inc.
-+ * Written by Harald Welte <laforge@openmoko.org>
-+ *
-+ * Based on existing code of dfu-programmer-0.4
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <getopt.h>
-+#include <usb.h>
-+#include <errno.h>
-+#include <byteswap.h>
-+#include <endian.h>
-+
-+#include "dfu.h"
-+#include "usb_dfu.h"
-+#include "sam7dfu.h"
-+#include "dfu-version.h"
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#ifdef HAVE_USBPATH_H
-+#include <usbpath.h>
-+#endif
-+
-+
-+int debug;
-+static int verbose = 0;
-+
-+#define DFU_IFF_DFU 0x0001 /* DFU Mode, (not Runtime) */
-+#define DFU_IFF_VENDOR 0x0100
-+#define DFU_IFF_PRODUCT 0x0200
-+#define DFU_IFF_CONFIG 0x0400
-+#define DFU_IFF_IFACE 0x0800
-+#define DFU_IFF_ALT 0x1000
-+#define DFU_IFF_DEVNUM 0x2000
-+#define DFU_IFF_PATH 0x4000
-+
-+struct usb_vendprod {
-+ u_int16_t vendor;
-+ u_int16_t product;
-+};
-+
-+struct dfu_if {
-+ u_int16_t vendor;
-+ u_int16_t product;
-+ u_int8_t configuration;
-+ u_int8_t interface;
-+ u_int8_t altsetting;
-+ int bus;
-+ u_int8_t devnum;
-+ const char *path;
-+ unsigned int flags;
-+ struct usb_device *dev;
-+
-+ struct usb_dev_handle *dev_handle;
-+};
-+
-+static int _get_first_cb(struct dfu_if *dif, void *v)
-+{
-+ struct dfu_if *v_dif = v;
-+
-+ memcpy(v_dif, dif, sizeof(*v_dif)-sizeof(struct usb_dev_handle *));
-+
-+ /* return a value that makes find_dfu_if return immediately */
-+ return 1;
-+}
-+
-+/* Find a DFU interface (and altsetting) in a given device */
-+static int find_dfu_if(struct usb_device *dev, int (*handler)(struct dfu_if *, void *), void *v)
-+{
-+ struct usb_config_descriptor *cfg;
-+ struct usb_interface_descriptor *intf;
-+ struct usb_interface *uif;
-+ struct dfu_if _dif, *dfu_if = &_dif;
-+ int cfg_idx, intf_idx, alt_idx;
-+ int rc;
-+
-+ memset(dfu_if, 0, sizeof(*dfu_if));
-+
-+ for (cfg_idx = 0; cfg_idx < dev->descriptor.bNumConfigurations;
-+ cfg_idx++) {
-+ cfg = &dev->config[cfg_idx];
-+ /* in some cases, noticably FreeBSD if uid != 0,
-+ * the configuration descriptors are empty */
-+ if (!cfg)
-+ return 0;
-+ for (intf_idx = 0; intf_idx < cfg->bNumInterfaces;
-+ intf_idx++) {
-+ uif = &cfg->interface[intf_idx];
-+ if (!uif)
-+ return 0;
-+ for (alt_idx = 0;
-+ alt_idx < uif->num_altsetting; alt_idx++) {
-+ intf = &uif->altsetting[alt_idx];
-+ if (!intf)
-+ return 0;
-+ if (intf->bInterfaceClass == 0xfe &&
-+ intf->bInterfaceSubClass == 1) {
-+ dfu_if->dev = dev;
-+ dfu_if->vendor =
-+ dev->descriptor.idVendor;
-+ dfu_if->product =
-+ dev->descriptor.idProduct;
-+ dfu_if->configuration = cfg_idx;
-+ dfu_if->interface =
-+ intf->bInterfaceNumber;
-+ dfu_if->altsetting =
-+ intf->bAlternateSetting;
-+ if (intf->bInterfaceProtocol == 2)
-+ dfu_if->flags |=
-+ DFU_IFF_DFU;
-+ else
-+ dfu_if->flags &=
-+ ~DFU_IFF_DFU;
-+ if (!handler)
-+ return 1;
-+ rc = handler(dfu_if, v);
-+ if (rc != 0)
-+ return rc;
-+ }
-+ }
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+static int get_first_dfu_if(struct dfu_if *dif)
-+{
-+ return find_dfu_if(dif->dev, &_get_first_cb, (void *) dif);
-+}
-+
-+#define MAX_STR_LEN 64
-+
-+static int print_dfu_if(struct dfu_if *dfu_if, void *v)
-+{
-+ struct usb_device *dev = dfu_if->dev;
-+ int if_name_str_idx;
-+ char name[MAX_STR_LEN+1] = "UNDEFINED";
-+
-+ if_name_str_idx = dev->config[dfu_if->configuration].interface[dfu_if->interface].altsetting[dfu_if->altsetting].iInterface;
-+ if (if_name_str_idx) {
-+ if (!dfu_if->dev_handle)
-+ dfu_if->dev_handle = usb_open(dfu_if->dev);
-+ if (dfu_if->dev_handle)
-+ usb_get_string_simple(dfu_if->dev_handle, if_name_str_idx, name, MAX_STR_LEN);
-+ }
-+
-+ printf("Found %s: [0x%04x:0x%04x] devnum=%u, cfg=%u, intf=%u, alt=%u, name=\"%s\"\n",
-+ dfu_if->flags & DFU_IFF_DFU ? "DFU" : "Runtime",
-+ dev->descriptor.idVendor, dev->descriptor.idProduct,
-+ dev->devnum, dfu_if->configuration, dfu_if->interface,
-+ dfu_if->altsetting, name);
-+
-+ return 0;
-+}
-+
-+static int alt_by_name(struct dfu_if *dfu_if, void *v)
-+{
-+ struct usb_device *dev = dfu_if->dev;
-+ int if_name_str_idx;
-+ char name[MAX_STR_LEN+1] = "UNDEFINED";
-+
-+ if_name_str_idx =
-+ dev->config[dfu_if->configuration].interface[dfu_if->interface].
-+ altsetting[dfu_if->altsetting].iInterface;
-+ if (!if_name_str_idx)
-+ return 0;
-+ if (!dfu_if->dev_handle)
-+ dfu_if->dev_handle = usb_open(dfu_if->dev);
-+ if (!dfu_if->dev_handle)
-+ return 0;
-+ if (usb_get_string_simple(dfu_if->dev_handle, if_name_str_idx, name,
-+ MAX_STR_LEN) < 0)
-+ return 0; /* should we return an error here ? */
-+ if (strcmp(name, v))
-+ return 0;
-+ /*
-+ * Return altsetting+1 so that we can use return value 0 to indicate
-+ * "not found".
-+ */
-+ return dfu_if->altsetting+1;
-+}
-+
-+static int _count_cb(struct dfu_if *dif, void *v)
-+{
-+ int *count = v;
-+
-+ (*count)++;
-+
-+ return 0;
-+}
-+
-+/* Count DFU interfaces within a single device */
-+static int count_dfu_interfaces(struct usb_device *dev)
-+{
-+ int num_found = 0;
-+
-+ find_dfu_if(dev, &_count_cb, (void *) &num_found);
-+
-+ return num_found;
-+}
-+
-+
-+/* Iterate over all matching DFU capable devices within system */
-+static int iterate_dfu_devices(struct dfu_if *dif,
-+ int (*action)(struct usb_device *dev, void *user), void *user)
-+{
-+ struct usb_bus *usb_bus;
-+ struct usb_device *dev;
-+
-+ /* Walk the tree and find our device. */
-+ for (usb_bus = usb_get_busses(); NULL != usb_bus;
-+ usb_bus = usb_bus->next) {
-+ for (dev = usb_bus->devices; NULL != dev; dev = dev->next) {
-+ int retval;
-+
-+ if (dif && (dif->flags &
-+ (DFU_IFF_VENDOR|DFU_IFF_PRODUCT)) &&
-+ (dev->descriptor.idVendor != dif->vendor ||
-+ dev->descriptor.idProduct != dif->product))
-+ continue;
-+ if (dif && (dif->flags & DFU_IFF_DEVNUM) &&
-+ (atoi(usb_bus->dirname) != dif->bus ||
-+ dev->devnum != dif->devnum))
-+ continue;
-+ if (!count_dfu_interfaces(dev))
-+ continue;
-+
-+ retval = action(dev, user);
-+ if (retval)
-+ return retval;
-+ }
-+ }
-+ return 0;
-+}
-+
-+
-+static int found_dfu_device(struct usb_device *dev, void *user)
-+{
-+ struct dfu_if *dif = user;
-+
-+ dif->dev = dev;
-+ return 1;
-+}
-+
-+
-+/* Find the first DFU-capable device, save it in dfu_if->dev */
-+static int get_first_dfu_device(struct dfu_if *dif)
-+{
-+ return iterate_dfu_devices(dif, found_dfu_device, dif);
-+}
-+
-+
-+static int count_one_dfu_device(struct usb_device *dev, void *user)
-+{
-+ int *num = user;
-+
-+ (*num)++;
-+ return 0;
-+}
-+
-+
-+/* Count DFU capable devices within system */
-+static int count_dfu_devices(struct dfu_if *dif)
-+{
-+ int num_found = 0;
-+
-+ iterate_dfu_devices(dif, count_one_dfu_device, &num_found);
-+ return num_found;
-+}
-+
-+
-+static int list_dfu_interfaces(void)
-+{
-+ struct usb_bus *usb_bus;
-+ struct usb_device *dev;
-+
-+ /* Walk the tree and find our device. */
-+ for (usb_bus = usb_get_busses(); NULL != usb_bus;
-+ usb_bus = usb_bus->next ) {
-+ for (dev = usb_bus->devices; NULL != dev; dev = dev->next) {
-+ find_dfu_if(dev, &print_dfu_if, NULL);
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int parse_vendprod(struct usb_vendprod *vp, const char *str)
-+{
-+ unsigned long vend, prod;
-+ const char *colon;
-+
-+ colon = strchr(str, ':');
-+ if (!colon || strlen(colon) < 2)
-+ return -EINVAL;
-+
-+ vend = strtoul(str, NULL, 16);
-+ prod = strtoul(colon+1, NULL, 16);
-+
-+ if (vend > 0xffff || prod > 0xffff)
-+ return -EINVAL;
-+
-+ vp->vendor = vend;
-+ vp->product = prod;
-+
-+ return 0;
-+}
-+
-+
-+#ifdef HAVE_USBPATH_H
-+
-+static int resolve_device_path(struct dfu_if *dif)
-+{
-+ int res;
-+
-+ res = usb_path2devnum(dif->path);
-+ if (res < 0)
-+ return -EINVAL;
-+ if (!res)
-+ return 0;
-+
-+ dif->bus = atoi(dif->path);
-+ dif->devnum = res;
-+ dif->flags |= DFU_IFF_DEVNUM;
-+ return res;
-+}
-+
-+#else /* HAVE_USBPATH_H */
-+
-+static int resolve_device_path(struct dfu_if *dif)
-+{
-+ fprintf(stderr,
-+ "USB device paths are not supported by this dfu-util.\n");
-+ exit(1);
-+}
-+
-+#endif /* !HAVE_USBPATH_H */
-+
-+
-+static void help(void)
-+{
-+ printf("Usage: dfu-util [options] ...\n"
-+ " -h --help\t\t\tPrint this help message\n"
-+ " -V --version\t\t\tPrint the version number\n"
-+ " -l --list\t\t\tList the currently attached DFU capable USB devices\n"
-+ " -d --device vendor:product\tSpecify Vendor/Product ID of DFU device\n"
-+ " -p --path bus-port. ... .port\tSpecify path to DFU device\n"
-+ " -c --cfg config_nr\t\tSpecify the Configuration of DFU device\n"
-+ " -i --intf intf_nr\t\tSpecify the DFU Interface number\n"
-+ " -a --alt alt\t\t\tSpecify the Altsetting of the DFU Interface\n"
-+ "\t\t\t\tby name or by number\n"
-+ " -t --transfer-size\t\tSpecify the number of bytes per USB Transfer\n"
-+ " -U --upload file\t\tRead firmware from device into <file>\n"
-+ " -D --download file\t\tWrite firmware from <file> into device\n"
-+ " -R --reset\t\t\tIssue USB Reset signalling once we're finished\n"
-+ );
-+}
-+
-+static void print_version(void)
-+{
-+ printf("dfu-util version %s\n", VERSION "+svn" DFU_UTIL_VERSION);
-+}
-+
-+static struct option opts[] = {
-+ { "help", 0, 0, 'h' },
-+ { "version", 0, 0, 'V' },
-+ { "verbose", 0, 0, 'v' },
-+ { "list", 0, 0, 'l' },
-+ { "device", 1, 0, 'd' },
-+ { "path", 1, 0, 'p' },
-+ { "configuration", 1, 0, 'c' },
-+ { "cfg", 1, 0, 'c' },
-+ { "interface", 1, 0, 'i' },
-+ { "intf", 1, 0, 'i' },
-+ { "altsetting", 1, 0, 'a' },
-+ { "alt", 1, 0, 'a' },
-+ { "transfer-size", 1, 0, 't' },
-+ { "upload", 1, 0, 'U' },
-+ { "download", 1, 0, 'D' },
-+ { "reset", 0, 0, 'R' },
-+};
-+
-+enum mode {
-+ MODE_NONE,
-+ MODE_UPLOAD,
-+ MODE_DOWNLOAD,
-+};
-+
-+int main(int argc, char **argv)
-+{
-+ struct usb_vendprod vendprod;
-+ struct dfu_if _rt_dif, _dif, *dif = &_dif;
-+ int num_devs;
-+ int num_ifs;
-+ unsigned int transfer_size = 0;
-+ enum mode mode = MODE_NONE;
-+ struct dfu_status status;
-+ struct usb_dfu_func_descriptor func_dfu;
-+ char *filename = NULL;
-+ char *alt_name = NULL; /* query alt name if non-NULL */
-+ char *end;
-+ int final_reset = 0;
-+ int page_size = getpagesize();
-+ int ret;
-+
-+ printf("dfu-util - (C) 2007 by OpenMoko Inc.\n"
-+ "This program is Free Software and has ABSOLUTELY NO WARRANTY\n\n");
-+
-+ memset(dif, 0, sizeof(*dif));
-+
-+ usb_init();
-+ //usb_set_debug(255);
-+ usb_find_busses();
-+ usb_find_devices();
-+
-+ while (1) {
-+ int c, option_index = 0;
-+ c = getopt_long(argc, argv, "hVvld:p:c:i:a:t:U:D:R", opts, &option_index);
-+ if (c == -1)
-+ break;
-+
-+ switch (c) {
-+ case 'h':
-+ help();
-+ exit(0);
-+ break;
-+ case 'V':
-+ print_version();
-+ exit(0);
-+ break;
-+ case 'v':
-+ verbose = 1;
-+ break;
-+ case 'l':
-+ list_dfu_interfaces();
-+ exit(0);
-+ break;
-+ case 'd':
-+ /* Parse device */
-+ if (parse_vendprod(&vendprod, optarg) < 0) {
-+ fprintf(stderr, "unable to parse `%s'\n", optarg);
-+ exit(2);
-+ }
-+ dif->vendor = vendprod.vendor;
-+ dif->product = vendprod.product;
-+ dif->flags |= (DFU_IFF_VENDOR | DFU_IFF_PRODUCT);
-+ break;
-+ case 'p':
-+ /* Parse device path */
-+ dif->path = optarg;
-+ dif->flags |= DFU_IFF_PATH;
-+ ret = resolve_device_path(dif);
-+ if (ret < 0) {
-+ fprintf(stderr, "unable to parse `%s'\n",
-+ optarg);
-+ exit(2);
-+ }
-+ if (!ret) {
-+ fprintf(stderr, "cannot find `%s'\n", optarg);
-+ exit(1);
-+ }
-+ break;
-+ case 'c':
-+ /* Configuration */
-+ dif->configuration = atoi(optarg);
-+ dif->flags |= DFU_IFF_CONFIG;
-+ break;
-+ case 'i':
-+ /* Interface */
-+ dif->interface = atoi(optarg);
-+ dif->flags |= DFU_IFF_IFACE;
-+ break;
-+ case 'a':
-+ /* Interface Alternate Setting */
-+ dif->altsetting = strtoul(optarg, &end, 0);
-+ if (*end)
-+ alt_name = optarg;
-+ dif->flags |= DFU_IFF_ALT;
-+ break;
-+ case 't':
-+ transfer_size = atoi(optarg);
-+ break;
-+ case 'U':
-+ mode = MODE_UPLOAD;
-+ filename = optarg;
-+ break;
-+ case 'D':
-+ mode = MODE_DOWNLOAD;
-+ filename = optarg;
-+ break;
-+ case 'R':
-+ final_reset = 1;
-+ break;
-+ default:
-+ help();
-+ exit(2);
-+ }
-+ }
-+
-+ if (mode == MODE_NONE) {
-+ fprintf(stderr, "You need to specify one of -D or -U\n");
-+ help();
-+ exit(2);
-+ }
-+
-+ if (!filename) {
-+ fprintf(stderr, "You need to specify a filename to -D -r -U\n");
-+ help();
-+ exit(2);
-+ }
-+
-+ dfu_init(5000);
-+
-+ num_devs = count_dfu_devices(dif);
-+ if (num_devs == 0) {
-+ fprintf(stderr, "No DFU capable USB device found\n");
-+ exit(1);
-+ } else if (num_devs > 1) {
-+ /* We cannot safely support more than one DFU capable device
-+ * with same vendor/product ID, since during DFU we need to do
-+ * a USB bus reset, after which the target device will get a
-+ * new address */
-+ fprintf(stderr, "More than one DFU capable USB device found, "
-+ "you might try `--list' and then disconnect all but one "
-+ "device\n");
-+ exit(3);
-+ }
-+ if (!get_first_dfu_device(dif))
-+ exit(3);
-+
-+ /* We have exactly one device. It's usb_device is now in dif->dev */
-+
-+ printf("Opening USB Device 0x%04x:0x%04x...\n", dif->vendor, dif->product);
-+ dif->dev_handle = usb_open(dif->dev);
-+ if (!dif->dev_handle) {
-+ fprintf(stderr, "Cannot open device: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+
-+ /* try to find first DFU interface of device */
-+ memcpy(&_rt_dif, dif, sizeof(_rt_dif));
-+ if (!get_first_dfu_if(&_rt_dif))
-+ exit(1);
-+
-+ if (!_rt_dif.flags & DFU_IFF_DFU) {
-+ /* In the 'first round' during runtime mode, there can only be one
-+ * DFU Interface descriptor according to the DFU Spec. */
-+
-+ /* FIXME: check if the selected device really has only one */
-+
-+ printf("Claiming USB DFU Runtime Interface...\n");
-+ if (usb_claim_interface(_rt_dif.dev_handle, _rt_dif.interface) < 0) {
-+ fprintf(stderr, "Cannot claim interface: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+
-+ printf("Determining device status: ");
-+ if (dfu_get_status(_rt_dif.dev_handle, _rt_dif.interface, &status ) < 0) {
-+ fprintf(stderr, "error get_status: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+ printf("state = %s, status = %d\n", dfu_state_to_string(status.bState), status.bStatus);
-+
-+ switch (status.bState) {
-+ case DFU_STATE_appIDLE:
-+ case DFU_STATE_appDETACH:
-+ printf("Device really in Runtime Mode, send DFU detach request...\n");
-+ if (dfu_detach(_rt_dif.dev_handle, _rt_dif.interface, 1000) < 0) {
-+ fprintf(stderr, "error detaching: %s\n", usb_strerror());
-+ exit(1);
-+ break;
-+ }
-+ printf("Resetting USB...\n");
-+ ret = usb_reset(_rt_dif.dev_handle);
-+ if (ret < 0 && ret != -ENODEV)
-+ fprintf(stderr, "error resetting after detach: %s\n",
-+ usb_strerror());
-+ sleep(2);
-+ break;
-+ case DFU_STATE_dfuERROR:
-+ printf("dfuERROR, clearing status\n");
-+ if (dfu_clear_status(_rt_dif.dev_handle, _rt_dif.interface) < 0) {
-+ fprintf(stderr, "error clear_status: %s\n", usb_strerror());
-+ exit(1);
-+ break;
-+ }
-+ break;
-+ default:
-+ fprintf(stderr, "WARNING: Runtime device already in DFU state ?!?\n");
-+ goto dfustate;
-+ break;
-+ }
-+
-+ /* now we need to re-scan the bus and locate our device */
-+ if (usb_find_devices() < 2)
-+ printf("not at least 2 device changes found ?!?\n");
-+
-+ if (dif->flags & DFU_IFF_PATH) {
-+ ret = resolve_device_path(dif);
-+ if (ret < 0) {
-+ fprintf(stderr,
-+ "internal error: cannot re-parse `%s'\n",
-+ dif->path);
-+ abort();
-+ }
-+ if (!ret) {
-+ fprintf(stderr,
-+ "Can't resolve path after RESET?\n");
-+ exit(1);
-+ }
-+ }
-+
-+ num_devs = count_dfu_devices(dif);
-+ if (num_devs == 0) {
-+ fprintf(stderr, "Lost device after RESET?\n");
-+ exit(1);
-+ } else if (num_devs > 1) {
-+ fprintf(stderr, "More than one DFU capable USB device found, "
-+ "you might try `--list' and then disconnect all but one "
-+ "device\n");
-+ exit(1);
-+ }
-+ if (!get_first_dfu_device(dif))
-+ exit(3);
-+
-+ printf("Opening USB Device...\n");
-+ dif->dev_handle = usb_open(dif->dev);
-+ if (!dif->dev_handle) {
-+ fprintf(stderr, "Cannot open device: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+ } else {
-+ /* we're already in DFU mode, so we can skip the detach/reset
-+ * procedure */
-+ }
-+
-+dfustate:
-+ if (alt_name) {
-+ int n;
-+
-+ n = find_dfu_if(dif->dev, &alt_by_name, alt_name);
-+ if (!n) {
-+ fprintf(stderr, "No such Alternate Setting: \"%s\"\n",
-+ alt_name);
-+ exit(1);
-+ }
-+ if (n < 0) {
-+ fprintf(stderr, "Error %d in name lookup\n", n);
-+ exit(1);
-+ }
-+ dif->altsetting = n-1;
-+ }
-+
-+ print_dfu_if(dif, NULL);
-+
-+ num_ifs = count_dfu_interfaces(dif->dev);
-+ if (num_ifs < 0) {
-+ fprintf(stderr, "No DFU Interface after RESET?!?\n");
-+ exit(1);
-+ } else if (num_ifs == 1) {
-+ if (!get_first_dfu_if(dif)) {
-+ fprintf(stderr, "Can't find the single available DFU IF\n");
-+ exit(1);
-+ }
-+ } else if (num_ifs > 1 && !dif->flags & (DFU_IFF_IFACE|DFU_IFF_ALT)) {
-+ fprintf(stderr, "We have %u DFU Interfaces/Altsettings, "
-+ "you have to specify one via --intf / --alt options\n",
-+ num_ifs);
-+ exit(1);
-+ }
-+
-+#if 0
-+ printf("Setting Configuration %u...\n", dif->configuration);
-+ if (usb_set_configuration(dif->dev_handle, dif->configuration) < 0) {
-+ fprintf(stderr, "Cannot set configuration: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+#endif
-+ printf("Claiming USB DFU Interface...\n");
-+ if (usb_claim_interface(dif->dev_handle, dif->interface) < 0) {
-+ fprintf(stderr, "Cannot claim interface: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+
-+ printf("Setting Alternate Setting ...\n");
-+ if (usb_set_altinterface(dif->dev_handle, dif->altsetting) < 0) {
-+ fprintf(stderr, "Cannot set alternate interface: %s\n",
-+ usb_strerror());
-+ exit(1);
-+ }
-+
-+status_again:
-+ printf("Determining device status: ");
-+ if (dfu_get_status(dif->dev_handle, dif->interface, &status ) < 0) {
-+ fprintf(stderr, "error get_status: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+ printf("state = %s, status = %d\n", dfu_state_to_string(status.bState), status.bStatus);
-+
-+ switch (status.bState) {
-+ case DFU_STATE_appIDLE:
-+ case DFU_STATE_appDETACH:
-+ fprintf(stderr, "Device still in Runtime Mode!\n");
-+ exit(1);
-+ break;
-+ case DFU_STATE_dfuERROR:
-+ printf("dfuERROR, clearing status\n");
-+ if (dfu_clear_status(dif->dev_handle, dif->interface) < 0) {
-+ fprintf(stderr, "error clear_status: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+ goto status_again;
-+ break;
-+ case DFU_STATE_dfuDNLOAD_IDLE:
-+ case DFU_STATE_dfuUPLOAD_IDLE:
-+ printf("aborting previous incomplete transfer\n");
-+ if (dfu_abort(dif->dev_handle, dif->interface) < 0) {
-+ fprintf(stderr, "can't send DFU_ABORT: %s\n", usb_strerror());
-+ exit(1);
-+ }
-+ goto status_again;
-+ break;
-+ case DFU_STATE_dfuIDLE:
-+ printf("dfuIDLE, continuing\n");
-+ break;
-+ }
-+
-+ if (!transfer_size) {
-+ /* Obtain DFU functional descriptor */
-+ ret = usb_get_descriptor(dif->dev_handle, 0x21, dif->interface,
-+ &func_dfu, sizeof(func_dfu));
-+ if (ret < 0) {
-+ fprintf(stderr, "Error obtaining DFU functional "
-+ "descriptor: %s\n", usb_strerror());
-+ transfer_size = page_size;
-+ } else {
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+ func_dfu.wTransferSize = bswap_16(func_dfu.wTransferSize);
-+#endif
-+ transfer_size = func_dfu.wTransferSize;
-+ }
-+ }
-+
-+ if (transfer_size > page_size)
-+ transfer_size = page_size;
-+
-+ printf("Transfer Size = 0x%04x\n", transfer_size);
-+
-+ if (DFU_STATUS_OK != status.bStatus ) {
-+ printf("WARNING: DFU Status: '%s'\n",
-+ dfu_status_to_string(status.bStatus));
-+ /* Clear our status & try again. */
-+ dfu_clear_status(dif->dev_handle, dif->interface);
-+ dfu_get_status(dif->dev_handle, dif->interface, &status);
-+
-+ if (DFU_STATUS_OK != status.bStatus) {
-+ fprintf(stderr, "Error: %d\n", status.bStatus);
-+ exit(1);
-+ }
-+ }
-+
-+ switch (mode) {
-+ case MODE_UPLOAD:
-+ if (sam7dfu_do_upload(dif->dev_handle, dif->interface,
-+ transfer_size, filename) < 0)
-+ exit(1);
-+ break;
-+ case MODE_DOWNLOAD:
-+ if (sam7dfu_do_dnload(dif->dev_handle, dif->interface,
-+ transfer_size, filename) < 0)
-+ exit(1);
-+ break;
-+ default:
-+ fprintf(stderr, "Unsupported mode: %u\n", mode);
-+ exit(1);
-+ }
-+
-+ if (final_reset) {
-+ if (dfu_detach(dif->dev_handle, dif->interface, 1000) < 0) {
-+ fprintf(stderr, "can't detach: %s\n", usb_strerror());
-+ }
-+ printf("Resetting USB to switch back to runtime mode\n");
-+ ret = usb_reset(dif->dev_handle);
-+ if (ret < 0 && ret != -ENODEV) {
-+ fprintf(stderr, "error resetting after download: %s\n",
-+ usb_strerror());
-+ }
-+ }
-+
-+ exit(0);
-+}
-+
-diff --git a/tools/dfu-util/src/sam7dfu.c b/tools/dfu-util/src/sam7dfu.c
-new file mode 100644
-index 0000000..536b2e1
---- /dev/null
-+++ b/tools/dfu-util/src/sam7dfu.c
-@@ -0,0 +1,205 @@
-+/* This is supposed to be a "real" DFU implementation, just as specified in the
-+ * USB DFU 1.0 Spec. Not overloaded like the Atmel one...
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <string.h>
-+#include <usb.h>
-+
-+#include "config.h"
-+#include "dfu.h"
-+#include "usb_dfu.h"
-+
-+/* ugly hack for Win32 */
-+#ifndef O_BINARY
-+#define O_BINARY 0
-+#endif
-+
-+int sam7dfu_do_upload(struct usb_dev_handle *usb_handle, int interface,
-+ int xfer_size, const char *fname)
-+{
-+ int ret, fd, total_bytes = 0;
-+ char *buf = malloc(xfer_size);
-+
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ fd = creat(fname, 0644);
-+ if (fd < 0) {
-+ perror(fname);
-+ ret = fd;
-+ goto out_free;
-+ }
-+
-+ while (1) {
-+ int rc, write_rc;
-+ rc = dfu_upload(usb_handle, interface, xfer_size, buf);
-+ if (rc < 0) {
-+ ret = rc;
-+ goto out_close;
-+ }
-+ write_rc = write(fd, buf, rc);
-+ if (write_rc < rc) {
-+ fprintf(stderr, "Short write: %s\n",
-+ strerror(errno));
-+ ret = total_bytes;
-+ goto out_close;
-+ }
-+ total_bytes += rc;
-+ if (rc < xfer_size) {
-+ /* last block, return */
-+ ret = total_bytes;
-+ goto out_close;
-+ }
-+ }
-+ ret = 0;
-+
-+out_close:
-+ close(fd);
-+out_free:
-+ free(buf);
-+
-+ return ret;
-+}
-+
-+#define PROGRESS_BAR_WIDTH 50
-+
-+int sam7dfu_do_dnload(struct usb_dev_handle *usb_handle, int interface,
-+ int xfer_size, const char *fname)
-+{
-+ int ret, fd, bytes_sent = 0;
-+ unsigned int bytes_per_hash, hashes = 0;
-+ char *buf = malloc(xfer_size);
-+ struct stat st;
-+ struct dfu_status dst;
-+
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ fd = open(fname, O_RDONLY|O_BINARY);
-+ if (fd < 0) {
-+ perror(fname);
-+ ret = fd;
-+ goto out_free;
-+ }
-+
-+ ret = fstat(fd, &st);
-+ if (ret < 0) {
-+ perror(fname);
-+ goto out_close;
-+ perror(fname);
-+ }
-+
-+ if (st.st_size <= 0 /* + DFU_HDR */) {
-+ fprintf(stderr, "File seems a bit too small...\n");
-+ ret = -EINVAL;
-+ goto out_close;
-+ }
-+
-+ bytes_per_hash = st.st_size / PROGRESS_BAR_WIDTH;
-+ if (bytes_per_hash == 0)
-+ bytes_per_hash = 1;
-+ printf("bytes_per_hash=%u\n", bytes_per_hash);
-+#if 0
-+ read(fd, DFU_HDR);
-+#endif
-+ printf("Starting download: [");
-+ fflush(stdout);
-+ while (bytes_sent < st.st_size /* - DFU_HDR */) {
-+ int hashes_todo;
-+
-+ ret = read(fd, buf, xfer_size);
-+ if (ret < 0) {
-+ perror(fname);
-+ goto out_close;
-+ }
-+ ret = dfu_download(usb_handle, interface, ret, ret ? buf : NULL);
-+ if (ret < 0) {
-+ fprintf(stderr, "Error during download\n");
-+ goto out_close;
-+ }
-+ bytes_sent += ret;
-+
-+ do {
-+ ret = dfu_get_status(usb_handle, interface, &dst);
-+ if (ret < 0) {
-+ fprintf(stderr, "Error during download get_status\n");
-+ goto out_close;
-+ }
-+ usleep(5000);
-+ } while (dst.bState != DFU_STATE_dfuDNLOAD_IDLE);
-+ if (dst.bStatus != DFU_STATUS_OK) {
-+ printf(" failed!\n");
-+ printf("state(%u) = %s, status(%u) = %s\n", dst.bState,
-+ dfu_state_to_string(dst.bState), dst.bStatus,
-+ dfu_status_to_string(dst.bStatus));
-+ ret = -1;
-+ goto out_close;
-+ }
-+
-+ hashes_todo = (bytes_sent / bytes_per_hash) - hashes;
-+ hashes += hashes_todo;
-+ while (hashes_todo--)
-+ putchar('#');
-+ fflush(stdout);
-+ }
-+
-+ /* send one zero sized download request to signalize end */
-+ ret = dfu_download(usb_handle, interface, 0, NULL);
-+ if (ret >= 0)
-+ ret = bytes_sent;
-+
-+ printf("] finished!\n");
-+ fflush(stdout);
-+
-+get_status:
-+ /* Transition to MANIFEST_SYNC state */
-+ ret = dfu_get_status(usb_handle, interface, &dst);
-+ if (ret < 0) {
-+ fprintf(stderr, "unable to read DFU status\n");
-+ goto out_close;
-+ }
-+ printf("state(%u) = %s, status(%u) = %s\n", dst.bState,
-+ dfu_state_to_string(dst.bState), dst.bStatus,
-+ dfu_status_to_string(dst.bStatus));
-+
-+ /* FIXME: deal correctly with ManifestationTolerant=0 / WillDetach bits */
-+ switch (dst.bState) {
-+ case DFU_STATE_dfuMANIFEST_SYNC:
-+ case DFU_STATE_dfuMANIFEST:
-+ /* some devices (e.g. TAS1020b) need some time before we
-+ * can obtain the status */
-+ sleep(1);
-+ goto get_status;
-+ break;
-+ case DFU_STATE_dfuIDLE:
-+ break;
-+ }
-+#if 0
-+ printf("Resetting USB...\n");
-+ if (usb_reset(usb_handle) < 0) {
-+ fprintf(stderr, "error resetting after download: %s\n",
-+ usb_strerror());
-+ }
-+#endif
-+ printf("Done!\n");
-+out_close:
-+ close(fd);
-+out_free:
-+ free(buf);
-+
-+ return ret;
-+}
-+
-+void sam7dfu_init()
-+{
-+ dfu_debug( debug );
-+ dfu_init( 5000 );
-+}
-+
-+
-diff --git a/tools/dfu-util/src/sam7dfu.h b/tools/dfu-util/src/sam7dfu.h
-new file mode 100644
-index 0000000..8ebe5a2
---- /dev/null
-+++ b/tools/dfu-util/src/sam7dfu.h
-@@ -0,0 +1,9 @@
-+#ifndef _SAM7DFU_H
-+#define _SAM7DFU_H
-+
-+int sam7dfu_do_upload(struct usb_dev_handle *usb_handle, int interface,
-+ int xfer_size, const char *fname);
-+int sam7dfu_do_dnload(struct usb_dev_handle *usb_handle, int interface,
-+ int xfer_size, const char *fname);
-+
-+#endif
-diff --git a/tools/dfu-util/src/usb_dfu.h b/tools/dfu-util/src/usb_dfu.h
-new file mode 100644
-index 0000000..117d73c
---- /dev/null
-+++ b/tools/dfu-util/src/usb_dfu.h
-@@ -0,0 +1,94 @@
-+#ifndef _USB_DFU_H
-+#define _USB_DFU_H
-+/* USB Device Firmware Update Implementation for OpenPCD
-+ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de>
-+ *
-+ * Protocol definitions for USB DFU
-+ *
-+ * This ought to be compliant to the USB DFU Spec 1.0 as available from
-+ * http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
-+ *
-+ */
-+
-+#include <sys/types.h>
-+
-+#define USB_DT_DFU 0x21
-+
-+struct usb_dfu_func_descriptor {
-+ u_int8_t bLength;
-+ u_int8_t bDescriptorType;
-+ u_int8_t bmAttributes;
-+#define USB_DFU_CAN_DOWNLOAD (1 << 0)
-+#define USB_DFU_CAN_UPLOAD (1 << 1)
-+#define USB_DFU_MANIFEST_TOL (1 << 2)
-+#define USB_DFU_WILL_DETACH (1 << 3)
-+ u_int16_t wDetachTimeOut;
-+ u_int16_t wTransferSize;
-+ u_int16_t bcdDFUVersion;
-+} __attribute__ ((packed));
-+
-+#define USB_DT_DFU_SIZE 9
-+
-+#define USB_TYPE_DFU (USB_TYPE_CLASS|USB_RECIP_INTERFACE)
-+
-+/* DFU class-specific requests (Section 3, DFU Rev 1.1) */
-+#define USB_REQ_DFU_DETACH 0x00
-+#define USB_REQ_DFU_DNLOAD 0x01
-+#define USB_REQ_DFU_UPLOAD 0x02
-+#define USB_REQ_DFU_GETSTATUS 0x03
-+#define USB_REQ_DFU_CLRSTATUS 0x04
-+#define USB_REQ_DFU_GETSTATE 0x05
-+#define USB_REQ_DFU_ABORT 0x06
-+
-+#if 0
-+struct dfu_status {
-+ u_int8_t bStatus;
-+ u_int8_t bwPollTimeout[3];
-+ u_int8_t bState;
-+ u_int8_t iString;
-+} __attribute__((packed));
-+#endif
-+
-+#define DFU_STATUS_OK 0x00
-+#define DFU_STATUS_errTARGET 0x01
-+#define DFU_STATUS_errFILE 0x02
-+#define DFU_STATUS_errWRITE 0x03
-+#define DFU_STATUS_errERASE 0x04
-+#define DFU_STATUS_errCHECK_ERASED 0x05
-+#define DFU_STATUS_errPROG 0x06
-+#define DFU_STATUS_errVERIFY 0x07
-+#define DFU_STATUS_errADDRESS 0x08
-+#define DFU_STATUS_errNOTDONE 0x09
-+#define DFU_STATUS_errFIRMWARE 0x0a
-+#define DFU_STATUS_errVENDOR 0x0b
-+#define DFU_STATUS_errUSBR 0x0c
-+#define DFU_STATUS_errPOR 0x0d
-+#define DFU_STATUS_errUNKNOWN 0x0e
-+#define DFU_STATUS_errSTALLEDPKT 0x0f
-+
-+enum dfu_state {
-+ DFU_STATE_appIDLE = 0,
-+ DFU_STATE_appDETACH = 1,
-+ DFU_STATE_dfuIDLE = 2,
-+ DFU_STATE_dfuDNLOAD_SYNC = 3,
-+ DFU_STATE_dfuDNBUSY = 4,
-+ DFU_STATE_dfuDNLOAD_IDLE = 5,
-+ DFU_STATE_dfuMANIFEST_SYNC = 6,
-+ DFU_STATE_dfuMANIFEST = 7,
-+ DFU_STATE_dfuMANIFEST_WAIT_RST = 8,
-+ DFU_STATE_dfuUPLOAD_IDLE = 9,
-+ DFU_STATE_dfuERROR = 10,
-+};
-+
-+/* this is the 'swapped' definition, i.e. after/before mirroring */
-+struct dfu_file_suffix {
-+ u_int32_t dwCRC; /* CRC32 ANSI X3.66 */
-+ u_int8_t bLength; /* 16 bytes */
-+ char ucDfuSignature[3]; /* "DFU" */
-+ u_int16_t bcdDFU; /* Version */
-+ u_int16_t idVendor; /* VendorID */
-+ u_int16_t idProduct; /* ProductID */
-+ u_int16_t bcdDevice; /* Device Revision, or 0xffff */
-+} __attribute__ ((packed));
-+
-+#endif /* _USB_DFU_H */
-diff --git a/tools/mkudfu/Makefile b/tools/mkudfu/Makefile
-new file mode 100644
-index 0000000..e02b94a
---- /dev/null
-+++ b/tools/mkudfu/Makefile
-@@ -0,0 +1,7 @@
-+CC=gcc
-+
-+all: mkudfu.c usb_dfu_trailer.h
-+ $(CC) mkudfu.c -o mkudfu -I.
-+
-+clean:
-+ rm mkudfu
-diff --git a/tools/mkudfu/mkudfu.c b/tools/mkudfu/mkudfu.c
-new file mode 100644
-index 0000000..6924ada
---- /dev/null
-+++ b/tools/mkudfu/mkudfu.c
-@@ -0,0 +1,314 @@
-+/*
-+ * USB DFU file trailer tool
-+ * (C) Copyright by OpenMoko, Inc.
-+ * Author: Harald Welte <laforge@openmoko.org>
-+ *
-+ * based on mkimage.c, copyright information as follows:
-+ *
-+ * (C) Copyright 2000-2004
-+ * DENX Software Engineering
-+ * Wolfgang Denk, wd@denx.de
-+ * All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#ifndef __WIN32__
-+#include <netinet/in.h> /* for host / network byte order conversions */
-+#endif
-+#include <sys/mman.h>
-+#include <sys/stat.h>
-+#include <time.h>
-+#include <unistd.h>
-+
-+#if defined(__BEOS__) || defined(__NetBSD__) || defined(__APPLE__)
-+#include <inttypes.h>
-+#endif
-+
-+#ifdef __WIN32__
-+typedef unsigned int __u32;
-+
-+#define SWAP_LONG(x) \
-+ ((__u32)( \
-+ (((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
-+ (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
-+ (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
-+ (((__u32)(x) & (__u32)0xff000000UL) >> 24) ))
-+typedef unsigned char uint8_t;
-+typedef unsigned short uint16_t;
-+typedef unsigned int uint32_t;
-+
-+#define ntohl(a) SWAP_LONG(a)
-+#define htonl(a) SWAP_LONG(a)
-+#endif /* __WIN32__ */
-+
-+#ifndef O_BINARY /* should be define'd on __WIN32__ */
-+#define O_BINARY 0
-+#endif
-+
-+#include <usb_dfu_trailer.h>
-+
-+extern int errno;
-+
-+#ifndef MAP_FAILED
-+#define MAP_FAILED (-1)
-+#endif
-+
-+static char *cmdname;
-+
-+static char *datafile;
-+static char *imagefile;
-+
-+
-+static void usage()
-+{
-+ fprintf (stderr, "%s - create / display u-boot DFU trailer\n", cmdname);
-+ fprintf (stderr, "Usage: %s -l image\n"
-+ " -l ==> list image header information\n"
-+ " %s -v VID -p PID -r REV -d data_file image\n",
-+ cmdname, cmdname);
-+ fprintf (stderr, " -v ==> set vendor ID to 'VID'\n"
-+ " -p ==> set product ID system to 'PID'\n"
-+ " -r ==> set hardware revision to 'REV'\n"
-+ " -d ==> use 'data_file' as input file\n"
-+ );
-+ exit (EXIT_FAILURE);
-+}
-+
-+static void print_trailer(struct uboot_dfu_trailer *trailer)
-+{
-+ printf("===> DFU Trailer information:\n");
-+ printf("Trailer Vers.: %d\n", trailer->version);
-+ printf("Trailer Length: %d\n", trailer->length);
-+ printf("VendorID: 0x%04x\n", trailer->vendor);
-+ printf("ProductID: 0x%04x\n", trailer->product);
-+ printf("HW Revision: 0x%04x\n", trailer->revision);
-+}
-+
-+static void copy_file (int ifd, const char *datafile, int pad)
-+{
-+ int dfd;
-+ struct stat sbuf;
-+ unsigned char *ptr;
-+ int tail;
-+ int zero = 0;
-+ int offset = 0;
-+ int size;
-+
-+ if ((dfd = open(datafile, O_RDONLY|O_BINARY)) < 0) {
-+ fprintf (stderr, "%s: Can't open %s: %s\n",
-+ cmdname, datafile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ if (fstat(dfd, &sbuf) < 0) {
-+ fprintf (stderr, "%s: Can't stat %s: %s\n",
-+ cmdname, datafile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ ptr = (unsigned char *)mmap(0, sbuf.st_size,
-+ PROT_READ, MAP_SHARED, dfd, 0);
-+ if (ptr == (unsigned char *)MAP_FAILED) {
-+ fprintf (stderr, "%s: Can't read %s: %s\n",
-+ cmdname, datafile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ size = sbuf.st_size - offset;
-+ if (write(ifd, ptr + offset, size) != size) {
-+ fprintf (stderr, "%s: Write error on %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ if (pad && ((tail = size % 4) != 0)) {
-+
-+ if (write(ifd, (char *)&zero, 4-tail) != 4-tail) {
-+ fprintf (stderr, "%s: Write error on %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+ }
-+
-+ (void) munmap((void *)ptr, sbuf.st_size);
-+ (void) close (dfd);
-+}
-+
-+
-+int main(int argc, char **argv)
-+{
-+ int ifd;
-+ int lflag = 0;
-+ struct stat sbuf;
-+ u_int16_t opt_vendor, opt_product, opt_revision;
-+ struct uboot_dfu_trailer _hdr, _mirror, *hdr = &_hdr;
-+
-+ opt_vendor = opt_product = opt_revision = 0;
-+
-+ cmdname = *argv;
-+
-+ while (--argc > 0 && **++argv == '-') {
-+ while (*++*argv) {
-+ switch (**argv) {
-+ case 'l':
-+ lflag = 1;
-+ break;
-+ case 'v':
-+ if (--argc <= 0)
-+ usage ();
-+ opt_vendor = strtoul(*++argv, NULL, 16);
-+ goto NXTARG;
-+ case 'p':
-+ if (--argc <= 0)
-+ usage ();
-+ opt_product = strtoul(*++argv, NULL, 16);
-+ goto NXTARG;
-+ case 'r':
-+ if (--argc <= 0)
-+ usage ();
-+ opt_revision = strtoul(*++argv, NULL, 16);
-+ goto NXTARG;
-+ case 'd':
-+ if (--argc <= 0)
-+ usage ();
-+ datafile = *++argv;
-+ goto NXTARG;
-+ case 'h':
-+ usage();
-+ break;
-+ default:
-+ usage();
-+ }
-+ }
-+NXTARG: ;
-+ }
-+
-+ if (argc != 1)
-+ usage();
-+
-+ imagefile = *argv;
-+
-+ if (lflag)
-+ ifd = open(imagefile, O_RDONLY|O_BINARY);
-+ else
-+ ifd = open(imagefile, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666);
-+
-+ if (ifd < 0) {
-+ fprintf (stderr, "%s: Can't open %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ if (lflag) {
-+ unsigned char *ptr;
-+ /* list header information of existing image */
-+ if (fstat(ifd, &sbuf) < 0) {
-+ fprintf (stderr, "%s: Can't stat %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ if ((unsigned)sbuf.st_size < sizeof(struct uboot_dfu_trailer)) {
-+ fprintf (stderr,
-+ "%s: Bad size: \"%s\" is no valid image\n",
-+ cmdname, imagefile);
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ ptr = (unsigned char *)mmap(0, sbuf.st_size,
-+ PROT_READ, MAP_SHARED, ifd, 0);
-+ if ((caddr_t)ptr == (caddr_t)-1) {
-+ fprintf (stderr, "%s: Can't read %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ dfu_trailer_mirror(hdr, ptr+sbuf.st_size);
-+
-+ if (hdr->magic != UBOOT_DFU_TRAILER_MAGIC) {
-+ fprintf (stderr,
-+ "%s: Bad Magic Number: \"%s\" is no valid image\n",
-+ cmdname, imagefile);
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ /* for multi-file images we need the data part, too */
-+ print_trailer(hdr);
-+
-+ (void) munmap((void *)ptr, sbuf.st_size);
-+ (void) close (ifd);
-+
-+ exit (EXIT_SUCCESS);
-+ }
-+
-+ /* if we're not listing: */
-+
-+ copy_file (ifd, datafile, 0);
-+
-+ memset (hdr, 0, sizeof(struct uboot_dfu_trailer));
-+
-+ /* Build new header */
-+ hdr->version = UBOOT_DFU_TRAILER_V1;
-+ hdr->magic = UBOOT_DFU_TRAILER_MAGIC;
-+ hdr->length = sizeof(struct uboot_dfu_trailer);
-+ hdr->vendor = opt_vendor;
-+ hdr->product = opt_product;
-+ hdr->revision = opt_revision;
-+
-+ print_trailer(hdr);
-+ dfu_trailer_mirror(&_mirror, (unsigned char *)hdr+sizeof(*hdr));
-+
-+ if (write(ifd, &_mirror, sizeof(struct uboot_dfu_trailer))
-+ != sizeof(struct uboot_dfu_trailer)) {
-+ fprintf (stderr, "%s: Write error on %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ /* We're a bit of paranoid */
-+#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__) && !defined(__FreeBSD__)
-+ (void) fdatasync (ifd);
-+#else
-+ (void) fsync (ifd);
-+#endif
-+
-+ if (fstat(ifd, &sbuf) < 0) {
-+ fprintf (stderr, "%s: Can't stat %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ /* We're a bit of paranoid */
-+#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__) && !defined(__FreeBSD__)
-+ (void) fdatasync (ifd);
-+#else
-+ (void) fsync (ifd);
-+#endif
-+
-+ if (close(ifd)) {
-+ fprintf (stderr, "%s: Write error on %s: %s\n",
-+ cmdname, imagefile, strerror(errno));
-+ exit (EXIT_FAILURE);
-+ }
-+
-+ exit (EXIT_SUCCESS);
-+}
-diff --git a/tools/mkudfu/usb_dfu_trailer.h b/tools/mkudfu/usb_dfu_trailer.h
-new file mode 100644
-index 0000000..3903b85
---- /dev/null
-+++ b/tools/mkudfu/usb_dfu_trailer.h
-@@ -0,0 +1,31 @@
-+#ifndef _USB_DFU_TRAILER_H
-+#define _USB_DFU_TRAILER_H
-+
-+/* trailer handling for DFU files */
-+
-+#define UBOOT_DFU_TRAILER_V1 1
-+#define UBOOT_DFU_TRAILER_MAGIC 0x19731978
-+struct uboot_dfu_trailer {
-+ u_int32_t magic;
-+ u_int16_t version;
-+ u_int16_t length;
-+ u_int16_t vendor;
-+ u_int16_t product;
-+ u_int32_t revision;
-+} __attribute__((packed));
-+
-+/* we mirror the trailer because we want it to be longer in later versions
-+ * while keeping backwards compatibility */
-+static inline void dfu_trailer_mirror(struct uboot_dfu_trailer *trailer,
-+ unsigned char *eof)
-+{
-+ int i;
-+ int len = sizeof(struct uboot_dfu_trailer);
-+ unsigned char *src = eof - len;
-+ unsigned char *dst = (unsigned char *) trailer;
-+
-+ for (i = 0; i < len; i++)
-+ dst[len-1-i] = src[i];
-+}
-+
-+#endif /* _USB_DFU_TRAILER_H */
diff --git a/recipes/u-boot/files/rootfs.patch b/recipes/u-boot/files/rootfs.patch
deleted file mode 100644
index 655c040500..0000000000
--- a/recipes/u-boot/files/rootfs.patch
+++ /dev/null
@@ -1,62 +0,0 @@
---- git/include/configs/omap3_overo.h-orig 2009-09-17 13:06:08.000000000 -0700
-+++ git/include/configs/omap3_overo.h 2009-09-17 13:06:49.000000000 -0700
-@@ -158,20 +158,24 @@
- "vram=12M\0" \
- "dvimode=1024x768MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-+ "mmcroot=/dev/mmcblk0p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "nandroot=/dev/mtdblock4 rw\0" \
-+ "nandrootfstype=jffs2\0" \
- "mmcargs=setenv bootargs console=${console} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
- "omapdss.def_disp=${defaultdisplay} " \
-- "root=/dev/mmcblk0p2 rw " \
-- "rootfstype=ext3 rootwait\0" \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
- "omapdss.def_disp=${defaultdisplay} " \
-- "root=/dev/mtdblock4 rw " \
-- "rootfstype=jffs2\0" \
-+ "root=${nandroot} " \
-+ "rootfstype=${nandrootfstype}\0" \
- "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source ${loadaddr}\0" \
---- git/include/configs/omap3_beagle.h-orig 2009-09-17 14:48:55.000000000 -0700
-+++ git/include/configs/omap3_beagle.h 2009-09-19 22:15:01.000000000 -0700
-@@ -167,20 +167,24 @@
- "vram=12M\0" \
- "dvimode=1024x768MR-16@60\0" \
- "defaultdisplay=dvi\0" \
-+ "mmcroot=/dev/mmcblk0p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "nandroot=/dev/mtdblock4 rw\0" \
-+ "nandrootfstype=jffs2\0" \
- "mmcargs=setenv bootargs console=${console} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
- "omapdss.def_disp=${defaultdisplay} " \
-- "root=/dev/mmcblk0p2 rw " \
-- "rootfstype=ext3 rootwait\0" \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
- "omapfb.debug=y " \
- "omapdss.def_disp=${defaultdisplay} " \
-- "root=/dev/mtdblock4 rw " \
-- "rootfstype=jffs2\0" \
-+ "root=${nandroot} " \
-+ "rootfstype=${nandrootfstype}\0" \
- "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source ${loadaddr}\0" \
diff --git a/recipes/u-boot/files/sffsdr-u-boot.patch b/recipes/u-boot/files/sffsdr-u-boot.patch
deleted file mode 100644
index dcb34e2c51..0000000000
--- a/recipes/u-boot/files/sffsdr-u-boot.patch
+++ /dev/null
@@ -1,830 +0,0 @@
-X-Mozilla-Status: 0001
-X-Mozilla-Status2: 00000000
-X-Mozilla-Keys:
-Return-Path: <u-boot-users-bounces@lists.sourceforge.net>
-Received: from mail5.zoneedit.com (mail5.zoneedit.com [69.64.89.63])
- by www.balister.org (8.13.8/8.13.5) with ESMTP id m56KcqTB024438
- for <balister@www.balister.org>; Fri, 6 Jun 2008 16:38:53 -0400
-Received: from lists-outbound.sourceforge.net (lists-outbound.sourceforge.net [66.35.250.225])
- by mail5.zoneedit.com (Postfix) with ESMTP id BD2E51594778
- for <philip@balister.org>; Fri, 6 Jun 2008 13:26:54 -0700 (PDT)
-Received: from sc8-sf-list1-new.sourceforge.net (sc8-sf-list1-new-b.sourceforge.net [10.3.1.93])
- by sc8-sf-spam2.sourceforge.net (Postfix) with ESMTP
- id 4C55A12A74; Fri, 6 Jun 2008 13:38:52 -0700 (PDT)
-Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.91]
- helo=mail.sourceforge.net)
- by sc8-sf-list1-new.sourceforge.net with esmtp (Exim 4.43)
- id 1K4ii2-00059t-CF
- for u-boot-users@lists.sourceforge.net; Fri, 06 Jun 2008 13:38:50 -0700
-Received: from 201-217-static-ppp.3menatwork.com ([64.235.217.201]
- helo=server.hugovil.com)
- by mail.sourceforge.net with esmtp (Exim 4.44) id 1K4ihy-0003RQ-Od
- for u-boot-users@lists.sourceforge.net; Fri, 06 Jun 2008 13:38:50 -0700
-Received: from localhost.localdomain (mail.lyrtech.com [204.101.172.90])
- by server.hugovil.com (8.13.6/8.13.6) with ESMTP id m56KcjQC031450;
- Fri, 6 Jun 2008 16:38:46 -0400
-From: Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
-To: u-boot-users@lists.sourceforge.net
-Date: Fri, 6 Jun 2008 16:39:10 -0400
-Message-Id: <1212784750-10682-1-git-send-email-hugo.villeneuve@lyrtech.com>
-X-Mailer: git-send-email 1.5.4.5
-X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-3.0
- (server.hugovil.com [64.235.217.201]);
- Fri, 06 Jun 2008 16:38:46 -0400 (EDT)
-X-Spam-Score: 1.2 (+)
-X-Spam-Report: Spam Filtering performed by sourceforge.net.
- See http://spamassassin.org/tag/ for more details.
- Report problems to
- http://sf.net/tracker/?func=add&group_id=1&atid=200001
- 1.0 FORGED_RCVD_HELO Received: contains a forged HELO
- 0.2 UPPERCASE_25_50 message body is 25-50% uppercase
- 0.0 DRUGS_SLEEP Refers to a sleep aid drug
-Cc: "Philip Balister, OpenSDR" <philip@opensdr.com>
-Subject: [U-Boot-Users] [PATCH V8] ARM: Add support for Lyrtech SFF-SDR
- board (ARM926EJS)
-X-BeenThere: u-boot-users@lists.sourceforge.net
-X-Mailman-Version: 2.1.8
-Precedence: list
-List-Id: Universal Boot Loader general discussion
- <u-boot-users.lists.sourceforge.net>
-List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/u-boot-users>,
- <mailto:u-boot-users-request@lists.sourceforge.net?subject=unsubscribe>
-List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=u-boot-users>
-List-Post: <mailto:u-boot-users@lists.sourceforge.net>
-List-Help: <mailto:u-boot-users-request@lists.sourceforge.net?subject=help>
-List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/u-boot-users>,
- <mailto:u-boot-users-request@lists.sourceforge.net?subject=subscribe>
-MIME-Version: 1.0
-Content-Type: text/plain; charset="us-ascii"
-Content-Transfer-Encoding: 7bit
-Sender: u-boot-users-bounces@lists.sourceforge.net
-Errors-To: u-boot-users-bounces@lists.sourceforge.net
-
-ARM: This patch adds support for the Lyrtech SFF-SDR
-board, based on the TI DaVinci architecture (ARM926EJS).
-
-Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
-Signed-off-by: Philip Balister, OpenSDR <philip@opensdr.com>
-
----
-
- CREDITS | 5 +
- MAKEALL | 1 +
- Makefile | 3 +
- board/davinci/sffsdr/Makefile | 51 ++++++
- board/davinci/sffsdr/board_init.S | 32 ++++
- board/davinci/sffsdr/config.mk | 42 +++++
- board/davinci/sffsdr/sffsdr.c | 306 +++++++++++++++++++++++++++++++++++++
- board/davinci/sffsdr/u-boot.lds | 52 +++++++
- include/asm-arm/mach-types.h | 13 ++
- include/configs/davinci_sffsdr.h | 148 ++++++++++++++++++
- 10 files changed, 653 insertions(+), 0 deletions(-)
-
-diff --git a/CREDITS b/CREDITS
-index e84ef38..b855904 100644
---- a/CREDITS
-+++ b/CREDITS
-@@ -533,3 +533,8 @@ N: Timo Tuunainen
- E: timo.tuunainen@sysart.fi
- D: Support for Artila M-501 starter kit
- W: http://www.sysart.fi/
-+
-+N: Philip Balister
-+E: philip@opensdr.com
-+D: Port to Lyrtech SFFSDR development board.
-+W: www.opensdr.com
-diff --git a/MAKEALL b/MAKEALL
-index 37b4334..f53ceec 100755
---- a/MAKEALL
-+++ b/MAKEALL
-@@ -496,6 +496,7 @@ LIST_ARM9=" \
- voiceblue \
- davinci_dvevm \
- davinci_schmoogie \
-+ davinci_sffsdr \
- davinci_sonata \
- "
-
-diff --git a/Makefile b/Makefile
-index 6548f8e..05d90aa 100644
---- a/Makefile
-+++ b/Makefile
-@@ -2408,6 +2408,9 @@ davinci_dvevm_config : unconfig
- davinci_schmoogie_config : unconfig
- @$(MKCONFIG) $(@:_config=) arm arm926ejs schmoogie davinci davinci
-
-+davinci_sffsdr_config : unconfig
-+ @$(MKCONFIG) $(@:_config=) arm arm926ejs sffsdr davinci davinci
-+
- davinci_sonata_config : unconfig
- @$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci
-
-diff --git a/board/davinci/sffsdr/Makefile b/board/davinci/sffsdr/Makefile
-new file mode 100644
-index 0000000..4413b33
---- /dev/null
-+++ b/board/davinci/sffsdr/Makefile
-@@ -0,0 +1,51 @@
-+#
-+# (C) Copyright 2000, 2001, 2002
-+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+#
-+# Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
-+#
-+# See file CREDITS for list of people who contributed to this
-+# project.
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of
-+# the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+
-+include $(TOPDIR)/config.mk
-+
-+LIB = $(obj)lib$(BOARD).a
-+
-+COBJS := $(BOARD).o
-+SOBJS := board_init.o
-+
-+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-+OBJS := $(addprefix $(obj),$(COBJS))
-+SOBJS := $(addprefix $(obj),$(SOBJS))
-+
-+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
-+ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-+
-+clean:
-+ rm -f $(SOBJS) $(OBJS)
-+
-+distclean: clean
-+ rm -f $(LIB) core *.bak *~ .depend
-+
-+#########################################################################
-+# This is for $(obj).depend target
-+include $(SRCTREE)/rules.mk
-+
-+sinclude $(obj).depend
-+
-+#########################################################################
-diff --git a/board/davinci/sffsdr/board_init.S b/board/davinci/sffsdr/board_init.S
-new file mode 100644
-index 0000000..84ecd96
---- /dev/null
-+++ b/board/davinci/sffsdr/board_init.S
-@@ -0,0 +1,32 @@
-+/*
-+ * Board-specific low level initialization code. Called at the very end
-+ * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
-+ * initialization required.
-+ *
-+ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#include <config.h>
-+
-+.globl dv_board_init
-+dv_board_init:
-+
-+ mov pc, lr
-diff --git a/board/davinci/sffsdr/config.mk b/board/davinci/sffsdr/config.mk
-new file mode 100644
-index 0000000..b1c4ead
---- /dev/null
-+++ b/board/davinci/sffsdr/config.mk
-@@ -0,0 +1,42 @@
-+#
-+# Lyrtech SFF SDR board (ARM926EJS) cpu
-+#
-+# (C) Copyright 2002
-+# Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
-+# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch>
-+#
-+# Copyright (C) 2008 Lyrtech <www.lyrtech.com>
-+# Copyright (C) 2008 Philip Balister, OpenSDR <philip@opensdr.com>
-+#
-+# See file CREDITS for list of people who contributed to this
-+# project.
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of
-+# the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+
-+#
-+# SFF SDR board has 1 bank of 128 MB DDR RAM
-+# Physical Address:
-+# 8000'0000 to 87FF'FFFF
-+#
-+# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
-+# (mem base + reserved)
-+#
-+# Integrity kernel is expected to be at 8000'0000, entry 8000'00D0,
-+# up to 81FF'FFFF (uses up to 32 MB of memory for text, heap, etc).
-+#
-+# we load ourself to 8400'0000 to provide at least 32MB spacing
-+# between us and the Integrity kernel image
-+TEXT_BASE = 0x84000000
-diff --git a/board/davinci/sffsdr/sffsdr.c b/board/davinci/sffsdr/sffsdr.c
-new file mode 100644
-index 0000000..31e0f24
---- /dev/null
-+++ b/board/davinci/sffsdr/sffsdr.c
-@@ -0,0 +1,306 @@
-+/*
-+ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
-+ *
-+ * Copyright (C) 2008 Lyrtech <www.lyrtech.com>
-+ * Copyright (C) 2008 Philip Balister, OpenSDR <philip@opensdr.com>
-+ *
-+ * Parts are shamelessly stolen from various TI sources, original copyright
-+ * follows:
-+ *
-+ * Copyright (C) 2004 Texas Instruments.
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#include <common.h>
-+#include <i2c.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/emac_defs.h>
-+
-+#define DAVINCI_A3CR (0x01E00014) /* EMIF-A CS3 config register. */
-+#define DAVINCI_A3CR_VAL (0x3FFFFFFD) /* EMIF-A CS3 value for FPGA. */
-+
-+#define INTEGRITY_SYSCFG_OFFSET 0x7E8
-+#define INTEGRITY_CHECKWORD_OFFSET 0x7F8
-+#define INTEGRITY_CHECKWORD_VALUE 0x10ADBEEF
-+
-+DECLARE_GLOBAL_DATA_PTR;
-+
-+extern void timer_init(void);
-+extern int eth_hw_init(void);
-+extern phy_t phy;
-+
-+
-+/* Works on Always On power domain only (no PD argument) */
-+void lpsc_on(unsigned int id)
-+{
-+ dv_reg_p mdstat, mdctl;
-+
-+ if (id >= DAVINCI_LPSC_GEM)
-+ return; /* Don't work on DSP Power Domain */
-+
-+ mdstat = REG_P(PSC_MDSTAT_BASE + (id * 4));
-+ mdctl = REG_P(PSC_MDCTL_BASE + (id * 4));
-+
-+ while (REG(PSC_PTSTAT) & 0x01);
-+
-+ if ((*mdstat & 0x1f) == 0x03)
-+ return; /* Already on and enabled */
-+
-+ *mdctl |= 0x03;
-+
-+ /* Special treatment for some modules as for sprue14 p.7.4.2 */
-+ switch (id) {
-+ case DAVINCI_LPSC_VPSSSLV:
-+ case DAVINCI_LPSC_EMAC:
-+ case DAVINCI_LPSC_EMAC_WRAPPER:
-+ case DAVINCI_LPSC_MDIO:
-+ case DAVINCI_LPSC_USB:
-+ case DAVINCI_LPSC_ATA:
-+ case DAVINCI_LPSC_VLYNQ:
-+ case DAVINCI_LPSC_UHPI:
-+ case DAVINCI_LPSC_DDR_EMIF:
-+ case DAVINCI_LPSC_AEMIF:
-+ case DAVINCI_LPSC_MMC_SD:
-+ case DAVINCI_LPSC_MEMSTICK:
-+ case DAVINCI_LPSC_McBSP:
-+ case DAVINCI_LPSC_GPIO:
-+ *mdctl |= 0x200;
-+ break;
-+ }
-+
-+ REG(PSC_PTCMD) = 0x01;
-+
-+ while (REG(PSC_PTSTAT) & 0x03);
-+ while ((*mdstat & 0x1f) != 0x03); /* Probably an overkill... */
-+}
-+
-+void dsp_on(void)
-+{
-+ int i;
-+
-+ if (REG(PSC_PDSTAT1) & 0x1f)
-+ return; /* Already on */
-+
-+ REG(PSC_GBLCTL) |= 0x01;
-+ REG(PSC_PDCTL1) |= 0x01;
-+ REG(PSC_PDCTL1) &= ~0x100;
-+ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_GEM * 4)) |= 0x03;
-+ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_GEM * 4)) &= 0xfffffeff;
-+ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_IMCOP * 4)) |= 0x03;
-+ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_IMCOP * 4)) &= 0xfffffeff;
-+ REG(PSC_PTCMD) = 0x02;
-+
-+ for (i = 0; i < 100; i++) {
-+ if (REG(PSC_EPCPR) & 0x02)
-+ break;
-+ }
-+
-+ REG(PSC_CHP_SHRTSW) = 0x01;
-+ REG(PSC_PDCTL1) |= 0x100;
-+ REG(PSC_EPCCR) = 0x02;
-+
-+ for (i = 0; i < 100; i++) {
-+ if (!(REG(PSC_PTSTAT) & 0x02))
-+ break;
-+ }
-+
-+ REG(PSC_GBLCTL) &= ~0x1f;
-+}
-+
-+int board_init(void)
-+{
-+ /* arch number of the board */
-+ gd->bd->bi_arch_number = MACH_TYPE_SFFSDR;
-+
-+ /* address of boot parameters */
-+ gd->bd->bi_boot_params = LINUX_BOOT_PARAM_ADDR;
-+
-+ /* Workaround for TMS320DM6446 errata 1.3.22 */
-+ REG(PSC_SILVER_BULLET) = 0;
-+
-+ /* Power on required peripherals */
-+ lpsc_on(DAVINCI_LPSC_EMAC);
-+ lpsc_on(DAVINCI_LPSC_EMAC_WRAPPER);
-+ lpsc_on(DAVINCI_LPSC_MDIO);
-+ lpsc_on(DAVINCI_LPSC_I2C);
-+ lpsc_on(DAVINCI_LPSC_UART0);
-+ lpsc_on(DAVINCI_LPSC_TIMER1);
-+ lpsc_on(DAVINCI_LPSC_GPIO);
-+
-+ /* Powerup the DSP */
-+ dsp_on();
-+
-+ /* Bringup UART0 out of reset */
-+ REG(UART0_PWREMU_MGMT) = 0x0000e003;
-+
-+ /* Enable GIO3.3V cells used for EMAC */
-+ REG(VDD3P3V_PWDN) = 0;
-+
-+ /* Enable UART0 MUX lines */
-+ REG(PINMUX1) |= 1;
-+
-+ /* Enable EMAC and AEMIF pins */
-+ REG(PINMUX0) = 0x80000c1f;
-+
-+ /* Enable I2C pin Mux */
-+ REG(PINMUX1) |= (1 << 7);
-+
-+ /* Set the Bus Priority Register to appropriate value */
-+ REG(VBPR) = 0x20;
-+
-+ timer_init();
-+
-+ return(0);
-+}
-+
-+/* Read ethernet MAC address from Integrity data structure inside EEPROM. */
-+int read_mac_address(uint8_t *buf)
-+{
-+ u_int32_t value, mac[2], address;
-+
-+ /* Read Integrity data structure checkword. */
-+ if (i2c_read(CFG_I2C_EEPROM_ADDR, INTEGRITY_CHECKWORD_OFFSET,
-+ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4))
-+ goto err;
-+ if (value != INTEGRITY_CHECKWORD_VALUE)
-+ return 1;
-+
-+ /* Read SYSCFG structure offset. */
-+ if (i2c_read(CFG_I2C_EEPROM_ADDR, INTEGRITY_SYSCFG_OFFSET,
-+ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4))
-+ goto err;
-+ address = 0x800 + (int) value; /* Address of SYSCFG structure. */
-+
-+ /* Read NET CONFIG structure offset. */
-+ if (i2c_read(CFG_I2C_EEPROM_ADDR, address,
-+ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4))
-+ goto err;
-+ address = 0x800 + (int) value; /* Address of NET CONFIG structure. */
-+ address += 12; /* Address of NET INTERFACE CONFIG structure. */
-+
-+ /* Read NET INTERFACE CONFIG 2 structure offset. */
-+ if (i2c_read(CFG_I2C_EEPROM_ADDR, address,
-+ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4))
-+ goto err;
-+ address = 0x800 + 16 + (int) value; /* Address of NET INTERFACE
-+ * CONFIG 2 structure. */
-+
-+ /* Read MAC address. */
-+ if (i2c_read(CFG_I2C_EEPROM_ADDR, address,
-+ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &mac[0], 8))
-+ goto err;
-+
-+ buf[0] = mac[0] >> 24;
-+ buf[1] = mac[0] >> 16;
-+ buf[2] = mac[0] >> 8;
-+ buf[3] = mac[0];
-+ buf[4] = mac[1] >> 24;
-+ buf[5] = mac[1] >> 16;
-+
-+ return 0;
-+
-+err:
-+ printf("Read from EEPROM @ 0x%02x failed\n", CFG_I2C_EEPROM_ADDR);
-+ return 1;
-+}
-+
-+/* Platform dependent initialisation. */
-+int misc_init_r(void)
-+{
-+ int i;
-+ u_int8_t i2cbuf;
-+ u_int8_t env_enetaddr[6], eeprom_enetaddr[6];
-+ char *tmp = getenv("ethaddr");
-+ char *end;
-+ int clk;
-+
-+ /* EMIF-A CS3 configuration for FPGA. */
-+ REG(DAVINCI_A3CR) = DAVINCI_A3CR_VAL;
-+
-+ clk = ((REG(PLL2_PLLM) + 1) * 27) / ((REG(PLL2_DIV2) & 0x1f) + 1);
-+
-+ printf("ARM Clock: %dMHz\n", ((REG(PLL1_PLLM) + 1) * 27) / 2);
-+ printf("DDR Clock: %dMHz\n", (clk / 2));
-+
-+ /* Configure I2C switch (PCA9543) to enable channel 0. */
-+ i2cbuf = CFG_I2C_PCA9543_ENABLE_CH0;
-+ if (i2c_write(CFG_I2C_PCA9543_ADDR, 0,
-+ CFG_I2C_PCA9543_ADDR_LEN, &i2cbuf, 1)) {
-+ printf("Write to MUX @ 0x%02x failed\n", CFG_I2C_PCA9543_ADDR);
-+ return 1;
-+ }
-+
-+ /* Read Ethernet MAC address from the U-Boot environment. */
-+ for (i = 0; i < 6; i++) {
-+ env_enetaddr[i] = tmp ? simple_strtoul(tmp, &end, 16) : 0;
-+ if (tmp)
-+ tmp = (*end) ? end+1 : end;
-+ }
-+
-+ /* Read Ethernet MAC address from EEPROM. */
-+ if (read_mac_address(eeprom_enetaddr) == 0) {
-+ if (memcmp(env_enetaddr, "\0\0\0\0\0\0", 6) != 0 &&
-+ memcmp(env_enetaddr, eeprom_enetaddr, 6) != 0) {
-+ printf("\nWarning: MAC addresses don't match:\n");
-+ printf("\tHW MAC address: "
-+ "%02X:%02X:%02X:%02X:%02X:%02X\n",
-+ eeprom_enetaddr[0], eeprom_enetaddr[1],
-+ eeprom_enetaddr[2], eeprom_enetaddr[3],
-+ eeprom_enetaddr[4], eeprom_enetaddr[5]);
-+ printf("\t\"ethaddr\" value: "
-+ "%02X:%02X:%02X:%02X:%02X:%02X\n",
-+ env_enetaddr[0], env_enetaddr[1],
-+ env_enetaddr[2], env_enetaddr[3],
-+ env_enetaddr[4], env_enetaddr[5]) ;
-+ debug("### Set MAC addr from environment\n");
-+ memcpy(eeprom_enetaddr, env_enetaddr, 6);
-+ }
-+ if (!tmp) {
-+ char ethaddr[20];
-+
-+ sprintf(ethaddr, "%02X:%02X:%02X:%02X:%02X:%02X",
-+ eeprom_enetaddr[0], eeprom_enetaddr[1],
-+ eeprom_enetaddr[2], eeprom_enetaddr[3],
-+ eeprom_enetaddr[4], eeprom_enetaddr[5]) ;
-+ debug("### Set environment from HW MAC addr = \"%s\"\n",
-+ ethaddr);
-+ setenv("ethaddr", ethaddr);
-+ }
-+ }
-+
-+ if (!eth_hw_init()) {
-+ printf("Ethernet init failed\n");
-+ } else {
-+ printf("ETH PHY: %s\n", phy.name);
-+ }
-+
-+ /* On this platform, U-Boot is copied in RAM by the UBL,
-+ * so we are always in the relocated state. */
-+ gd->flags |= GD_FLG_RELOC;
-+
-+ return(0);
-+}
-+
-+int dram_init(void)
-+{
-+ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-+ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-+
-+ return(0);
-+}
-diff --git a/board/davinci/sffsdr/u-boot.lds b/board/davinci/sffsdr/u-boot.lds
-new file mode 100644
-index 0000000..a4fcd1a
---- /dev/null
-+++ b/board/davinci/sffsdr/u-boot.lds
-@@ -0,0 +1,52 @@
-+/*
-+ * (C) Copyright 2002
-+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-+OUTPUT_ARCH(arm)
-+ENTRY(_start)
-+SECTIONS
-+{
-+ . = 0x00000000;
-+ . = ALIGN(4);
-+ .text :
-+ {
-+ cpu/arm926ejs/start.o (.text)
-+ *(.text)
-+ }
-+ . = ALIGN(4);
-+ .rodata : { *(.rodata) }
-+ . = ALIGN(4);
-+ .data : { *(.data) }
-+ . = ALIGN(4);
-+ .got : { *(.got) }
-+
-+ . = .;
-+ __u_boot_cmd_start = .;
-+ .u_boot_cmd : { *(.u_boot_cmd) }
-+ __u_boot_cmd_end = .;
-+
-+ . = ALIGN(4);
-+ __bss_start = .;
-+ .bss (NOLOAD) : { *(.bss) }
-+ _end = .;
-+}
-diff --git a/include/asm-arm/mach-types.h b/include/asm-arm/mach-types.h
-index aaf2ea2..b347857 100644
---- a/include/asm-arm/mach-types.h
-+++ b/include/asm-arm/mach-types.h
-@@ -1595,6 +1595,7 @@ extern unsigned int __machine_arch_type;
- #define MACH_TYPE_P300 1602
- #define MACH_TYPE_XDACOMET 1603
- #define MACH_TYPE_DEXFLEX2 1604
-+#define MACH_TYPE_SFFSDR 1657
-
- #ifdef CONFIG_ARCH_EBSA110
- # ifdef machine_arch_type
-@@ -16500,6 +16501,18 @@ extern unsigned int __machine_arch_type;
- # define machine_is_schmoogie() (0)
- #endif
-
-+#ifdef CONFIG_MACH_SFFSDR
-+# ifdef machine_arch_type
-+# undef machine_arch_type
-+# define machine_arch_type __machine_arch_type
-+# else
-+# define machine_arch_type MACH_TYPE_SFFSDR
-+# endif
-+# define machine_is_sffsdr() (machine_arch_type == MACH_TYPE_SFFSDR)
-+#else
-+# define machine_is_sffsdr() (0)
-+#endif
-+
- #ifdef CONFIG_MACH_AZTOOL
- # ifdef machine_arch_type
- # undef machine_arch_type
-diff --git a/include/configs/davinci_sffsdr.h b/include/configs/davinci_sffsdr.h
-new file mode 100644
-index 0000000..897e9e5
---- /dev/null
-+++ b/include/configs/davinci_sffsdr.h
-@@ -0,0 +1,148 @@
-+/*
-+ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
-+ *
-+ * Copyright (C) 2008 Lyrtech <www.lyrtech.com>
-+ * Copyright (C) 2008 Philip Balister, OpenSDR <philip@opensdr.com>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#ifndef __CONFIG_H
-+#define __CONFIG_H
-+#include <asm/sizes.h>
-+
-+/* Board */
-+#define SFFSDR
-+#define CFG_NAND_LARGEPAGE
-+#define CFG_USE_NAND
-+/* SoC Configuration */
-+#define CONFIG_ARM926EJS /* arm926ejs CPU core */
-+#define CONFIG_SYS_CLK_FREQ 297000000 /* Arm Clock frequency */
-+#define CFG_TIMERBASE 0x01c21400 /* use timer 0 */
-+#define CFG_HZ_CLOCK 27000000 /* Timer Input clock freq */
-+#define CFG_HZ 1000
-+/* EEPROM definitions for Atmel 24LC64 EEPROM chip */
-+#define CFG_I2C_EEPROM_ADDR_LEN 2
-+#define CFG_I2C_EEPROM_ADDR 0x50
-+#define CFG_EEPROM_PAGE_WRITE_BITS 5
-+#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 20
-+/* Memory Info */
-+#define CFG_MALLOC_LEN (0x10000 + 256*1024) /* malloc() len */
-+#define CFG_GBL_DATA_SIZE 128 /* reserved for initial data */
-+#define CFG_MEMTEST_START 0x80000000 /* memtest start address */
-+#define CFG_MEMTEST_END 0x81000000 /* 16MB RAM test */
-+#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
-+#define CONFIG_STACKSIZE (256*1024) /* regular stack */
-+#define PHYS_SDRAM_1 0x80000000 /* DDR Start */
-+#define PHYS_SDRAM_1_SIZE 0x08000000 /* DDR size 128MB */
-+#define DDR_4BANKS /* 4-bank DDR2 (128MB) */
-+/* Serial Driver info */
-+#define CFG_NS16550
-+#define CFG_NS16550_SERIAL
-+#define CFG_NS16550_REG_SIZE 4 /* NS16550 register size */
-+#define CFG_NS16550_COM1 0x01c20000 /* Base address of UART0 */
-+#define CFG_NS16550_CLK 27000000 /* Input clock to NS16550 */
-+#define CONFIG_CONS_INDEX 1 /* use UART0 for console */
-+#define CONFIG_BAUDRATE 115200 /* Default baud rate */
-+#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
-+/* I2C Configuration */
-+#define CONFIG_HARD_I2C
-+#define CONFIG_DRIVER_DAVINCI_I2C
-+#define CFG_I2C_SPEED 80000 /* 100Kbps won't work, silicon bug */
-+#define CFG_I2C_SLAVE 10 /* Bogus, master-only in U-Boot */
-+/* Network & Ethernet Configuration */
-+#define CONFIG_DRIVER_TI_EMAC
-+#define CONFIG_MII
-+#define CONFIG_BOOTP_DEFAULT
-+#define CONFIG_BOOTP_DNS
-+#define CONFIG_BOOTP_DNS2
-+#define CONFIG_BOOTP_SEND_HOSTNAME
-+#define CONFIG_NET_RETRY_COUNT 10
-+#define CONFIG_OVERWRITE_ETHADDR_ONCE
-+/* Flash & Environment */
-+#undef CFG_ENV_IS_IN_FLASH
-+#define CFG_NO_FLASH
-+#define CFG_ENV_IS_IN_NAND /* U-Boot env in NAND Flash */
-+#define CFG_ENV_SECT_SIZE 2048 /* Env sector Size */
-+#define CFG_ENV_SIZE SZ_128K
-+#define CONFIG_SKIP_LOWLEVEL_INIT /* U-Boot is loaded by a bootloader */
-+#define CONFIG_SKIP_RELOCATE_UBOOT /* to a proper address, init done */
-+#define CFG_NAND_BASE 0x02000000
-+#define CFG_NAND_HW_ECC
-+#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
-+#define NAND_MAX_CHIPS 1
-+#define CFG_ENV_OFFSET 0x0 /* Block 0--not used by bootcode */
-+/* I2C switch definitions for PCA9543 chip */
-+#define CFG_I2C_PCA9543_ADDR 0x70
-+#define CFG_I2C_PCA9543_ADDR_LEN 0 /* Single register. */
-+#define CFG_I2C_PCA9543_ENABLE_CH0 0x01 /* Enable channel 0. */
-+/* U-Boot general configuration */
-+#undef CONFIG_USE_IRQ /* No IRQ/FIQ in U-Boot */
-+#define CONFIG_MISC_INIT_R
-+#define CONFIG_BOOTDELAY 5 /* Autoboot after 5 seconds. */
-+#define CONFIG_BOOTFILE "uImage" /* Boot file name */
-+#define CFG_PROMPT "U-Boot > " /* Monitor Command Prompt */
-+#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */
-+#define CFG_PBSIZE \
-+ (CFG_CBSIZE + sizeof(CFG_PROMPT) + 16) /* Print buffer size */
-+#define CFG_MAXARGS 16 /* max number of command args */
-+#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
-+#define CFG_LOAD_ADDR 0x80700000 /* Default Linux kernel
-+ * load address. */
-+#define CONFIG_VERSION_VARIABLE
-+#define CONFIG_AUTO_COMPLETE /* Won't work with hush so far,
-+ * may be later */
-+#define CFG_HUSH_PARSER
-+#define CFG_PROMPT_HUSH_PS2 "> "
-+#define CONFIG_CMDLINE_EDITING
-+#define CFG_LONGHELP
-+#define CONFIG_CRC32_VERIFY
-+#define CONFIG_MX_CYCLIC
-+/* Linux Information */
-+#define LINUX_BOOT_PARAM_ADDR 0x80000100
-+#define CONFIG_CMDLINE_TAG
-+#define CONFIG_SETUP_MEMORY_TAGS
-+#define CONFIG_BOOTARGS \
-+ "mem=56M " \
-+ "console=ttyS0,115200n8 " \
-+ "root=/dev/nfs rw noinitrd ip=dhcp " \
-+ "nfsroot=${serverip}:/nfsroot/sffsdr " \
-+ "nwhwconf=device:eth0,hwaddr:${ethaddr}"
-+#define CONFIG_BOOTCOMMAND \
-+ "nand read 87A00000 100000 300000;" \
-+ "bootelf 87A00000"
-+/* U-Boot commands */
-+#include <config_cmd_default.h>
-+#define CONFIG_CMD_ASKENV
-+#define CONFIG_CMD_DHCP
-+#define CONFIG_CMD_DIAG
-+#define CONFIG_CMD_I2C
-+#define CONFIG_CMD_MII
-+#define CONFIG_CMD_PING
-+#define CONFIG_CMD_SAVES
-+#define CONFIG_CMD_NAND
-+#define CONFIG_CMD_EEPROM
-+#undef CONFIG_CMD_BDI
-+#undef CONFIG_CMD_FPGA
-+#undef CONFIG_CMD_SETGETDCR
-+#undef CONFIG_CMD_FLASH
-+#undef CONFIG_CMD_IMLS
-+/* KGDB support (if any) */
-+#ifdef CONFIG_CMD_KGDB
-+#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */
-+#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */
-+#endif
-+#endif /* __CONFIG_H */
-
--------------------------------------------------------------------------
-Check out the new SourceForge.net Marketplace.
-It's the best place to buy or sell services for
-just about anything Open Source.
-http://sourceforge.net/services/buy/index.php
-_______________________________________________
-U-Boot-Users mailing list
-U-Boot-Users@lists.sourceforge.net
-https://lists.sourceforge.net/lists/listinfo/u-boot-users
-
diff --git a/recipes/u-boot/files/u-boot-20061030-ext2load_hex.patch b/recipes/u-boot/files/u-boot-20061030-ext2load_hex.patch
deleted file mode 100644
index 3cecb7485d..0000000000
--- a/recipes/u-boot/files/u-boot-20061030-ext2load_hex.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-This patch adds the hex-printing of the file size read by 'ext2load'
-Index: u-boot.git/common/cmd_ext2.c
-===================================================================
---- u-boot.git.orig/common/cmd_ext2.c 2007-01-02 18:26:17.000000000 +0100
-+++ u-boot.git/common/cmd_ext2.c 2007-01-02 18:26:27.000000000 +0100
-@@ -279,7 +279,7 @@
- /* Loading ok, update default load address */
- load_addr = addr;
-
-- printf ("\n%ld bytes read\n", filelen);
-+ printf ("\n%ld (0x%lx) bytes read\n", filelen, filelen);
- sprintf(buf, "%lX", filelen);
- setenv("filesize", buf);
-
diff --git a/recipes/u-boot/files/uboot-20070311-tools_makefile_ln_sf.patch b/recipes/u-boot/files/uboot-20070311-tools_makefile_ln_sf.patch
deleted file mode 100644
index eca50615ad..0000000000
--- a/recipes/u-boot/files/uboot-20070311-tools_makefile_ln_sf.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: git/tools/Makefile
-===================================================================
---- git.orig/tools/Makefile 2008-03-03 13:32:32.000000000 +0800
-+++ git/tools/Makefile 2008-03-03 13:40:23.000000000 +0800
-@@ -208,18 +208,18 @@
-
- $(obj)environment.c:
- @rm -f $(obj)environment.c
-- ln -s $(src)../common/environment.c $(obj)environment.c
-+ ln -sf $(src)../common/environment.c $(obj)environment.c
-
- $(obj)environment.o: $(obj)environment.c
- $(CC) -g $(HOST_ENVIRO_CFLAGS) $(CPPFLAGS) -c -o $@ $<
-
- $(obj)crc32.c:
- @rm -f $(obj)crc32.c
-- ln -s $(src)../lib_generic/crc32.c $(obj)crc32.c
-+ ln -sf $(src)../lib_generic/crc32.c $(obj)crc32.c
-
- $(obj)sha1.c:
- @rm -f $(obj)sha1.c
-- ln -s $(src)../lib_generic/sha1.c $(obj)sha1.c
-+ ln -sf $(src)../lib_generic/sha1.c $(obj)sha1.c
-
- $(LOGO_H): $(obj)bmp_logo $(LOGO_BMP)
- $(obj)./bmp_logo $(LOGO_BMP) >$@
diff --git a/recipes/u-boot/files/uboot-eabi-fix-HACK.patch b/recipes/u-boot/files/uboot-eabi-fix-HACK.patch
deleted file mode 100644
index 65b212917d..0000000000
--- a/recipes/u-boot/files/uboot-eabi-fix-HACK.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-Index: git/lib_arm/div0.c
-===================================================================
---- git.orig/lib_arm/div0.c
-+++ git/lib_arm/div0.c
-@@ -22,9 +22,3 @@
- */
-
- /* Replacement (=dummy) for GNU/Linux division-by zero handler */
--void __div0 (void)
--{
-- extern void hang (void);
--
-- hang();
--}
-Index: git/board/neo1973/common/bootmenu.c
-===================================================================
---- git.orig/board/neo1973/common/bootmenu.c
-+++ git/board/neo1973/common/bootmenu.c
-@@ -118,3 +118,14 @@ void neo1973_bootmenu(void)
- bootmenu_add("Factory reset", factory_reset, NULL);
- bootmenu();
- }
-+
-+void raise()
-+{
-+ serial_printf( "*** something's wrong... please reset ***\n" );
-+}
-+
-+void abort()
-+{
-+ serial_printf( "*** something's wrong... please reset ***\n" );
-+}
-+
-Index: git/board/neo1973/gta01/u-boot.lds
-===================================================================
---- git.orig/board/neo1973/gta01/u-boot.lds
-+++ git/board/neo1973/gta01/u-boot.lds
-@@ -39,6 +39,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/board/neo1973/gta02/u-boot.lds
-===================================================================
---- git.orig/board/neo1973/gta02/u-boot.lds
-+++ git/board/neo1973/gta02/u-boot.lds
-@@ -39,6 +39,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/board/neo1973/common/lowlevel_foo.lds
-===================================================================
---- git.orig/board/neo1973/common/lowlevel_foo.lds
-+++ git/board/neo1973/common/lowlevel_foo.lds
-@@ -37,6 +37,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/board/hxd8/hxd8.c
-===================================================================
---- git.orig/board/hxd8/hxd8.c
-+++ git/board/hxd8/hxd8.c
-@@ -187,3 +187,6 @@ unsigned int dynpart_size[] = {
- char *dynpart_names[] = {
- "u-boot", "u-boot_env", "kernel", "splash", "rootfs", NULL };
-
-+void raise() {}
-+
-+void abort() {}
-Index: git/board/hxd8/u-boot.lds
-===================================================================
---- git.orig/board/hxd8/u-boot.lds
-+++ git/board/hxd8/u-boot.lds
-@@ -39,6 +39,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/board/hxd8/lowlevel_foo.lds
-===================================================================
---- git.orig/board/hxd8/lowlevel_foo.lds
-+++ git/board/hxd8/lowlevel_foo.lds
-@@ -37,6 +37,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/board/qt2410/qt2410.c
-===================================================================
---- git.orig/board/qt2410/qt2410.c
-+++ git/board/qt2410/qt2410.c
-@@ -156,3 +156,7 @@ unsigned int dynpart_size[] = {
- char *dynpart_names[] = {
- "u-boot", "u-boot_env", "kernel", "splash", "rootfs", NULL };
-
-+void raise() {}
-+
-+void abort() {}
-+
-Index: git/board/qt2410/u-boot.lds
-===================================================================
---- git.orig/board/qt2410/u-boot.lds
-+++ git/board/qt2410/u-boot.lds
-@@ -39,6 +39,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -225,7 +225,7 @@ LIBS := $(addprefix $(obj),$(LIBS))
- .PHONY : $(LIBS)
-
- # Add GCC lib
--PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
-+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lgcc_eh
-
- # The "tools" are needed early, so put this first
- # Don't include stuff already done in $(LIBS)
-Index: git/board/smdk2440/smdk2440.c
-===================================================================
---- git.orig/board/smdk2440/smdk2440.c
-+++ git/board/smdk2440/smdk2440.c
-@@ -150,3 +150,6 @@ char *dynpart_names[] = {
- "u-boot", "u-boot_env", "kernel", "splash", "rootfs", NULL };
-
-
-+void raise() {}
-+void abort() {}
-+
-Index: git/board/smdk2440/u-boot.lds
-===================================================================
---- git.orig/board/smdk2440/u-boot.lds
-+++ git/board/smdk2440/u-boot.lds
-@@ -39,6 +39,10 @@ SECTIONS
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+ __exidx_start = .;
-+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+ __exidx_end = .;
-
- . = ALIGN(4);
- .data : { *(.data) }
-Index: git/board/neo1973/gta02/gta02.c
-===================================================================
---- git.orig/board/neo1973/gta02/gta02.c
-+++ git/board/neo1973/gta02/gta02.c
-@@ -321,3 +321,7 @@ int neo1973_set_charge_mode(enum neo1973
- /* FIXME */
- return 0;
- }
-+
-+void raise() {}
-+void abort() {}
-+
diff --git a/recipes/u-boot/u-boot-1.2.0/uboot-qnap.diff b/recipes/u-boot/u-boot-1.2.0/uboot-qnap.diff
deleted file mode 100644
index 2b2a17da7f..0000000000
--- a/recipes/u-boot/u-boot-1.2.0/uboot-qnap.diff
+++ /dev/null
@@ -1,1100 +0,0 @@
---- u-boot-1.2.0.vanilla/board/qnap/config.mk 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.2.0/board/qnap/config.mk 2007-02-26 01:55:37.000000000 +0100
-@@ -0,0 +1,35 @@
-+#
-+# (C) Copyright 2000, 2001
-+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+#
-+# See file CREDITS for list of people who contributed to this
-+# project.
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of
-+# the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+#
-+# Valid values for TEXT_BASE are:
-+#
-+# Standard configuration
-+# 0xFFF00000 boot from flash
-+#
-+# Standard configuration
-+# 0xFFE60000 chain boot from flash
-+#
-+
-+
-+TEXT_BASE = 0xFFE60000
-+
-+PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
---- u-boot-1.2.0.vanilla/board/qnap/ide.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.2.0/board/qnap/ide.c 2007-02-26 01:55:37.000000000 +0100
-@@ -0,0 +1,67 @@
-+/*
-+ * (C) Copyright 2000
-+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+ #include <common.h>
-+
-+#ifdef CFG_CMD_IDE
-+#include <ata.h>
-+#include <ide.h>
-+#include <pci.h>
-+
-+extern ulong ide_bus_offset[CFG_IDE_MAXBUS];
-+extern struct pci_controller hose;
-+
-+int ide_preinit (void)
-+{
-+ int status;
-+ pci_dev_t devbusfn;
-+ int l;
-+
-+ status = 1;
-+ for (l = 0; l < CFG_IDE_MAXBUS; l++) {
-+ ide_bus_offset[l] = -ATA_STATUS;
-+ }
-+ devbusfn = pci_find_device (0x1095, 0x3512, 0);
-+
-+ if (devbusfn != -1) {
-+
-+ status = 0;
-+
-+ pci_read_config_dword (devbusfn, PCI_BASE_ADDRESS_0,
-+ (u32 *) &ide_bus_offset[0]);
-+ ide_bus_offset[0] &= 0xfffffffe;
-+ ide_bus_offset[0] = pci_hose_bus_to_phys(&hose,
-+ ide_bus_offset[0] & 0xfffffffe,
-+ PCI_REGION_IO);
-+
-+ pci_read_config_dword (devbusfn, PCI_BASE_ADDRESS_2,
-+ (u32 *) &ide_bus_offset[1]);
-+ ide_bus_offset[1] &= 0xfffffffe;
-+ ide_bus_offset[1] = pci_hose_bus_to_phys(&hose,
-+ ide_bus_offset[1] & 0xfffffffe,
-+ PCI_REGION_IO);
-+ }
-+ return (status);
-+}
-+
-+#endif /* of CONFIG_CMDS_IDE */
---- u-boot-1.2.0.vanilla/board/qnap/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.2.0/board/qnap/Makefile 2007-02-26 01:55:37.000000000 +0100
-@@ -0,0 +1,40 @@
-+#
-+# (C) Copyright 2000
-+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+#
-+# See file CREDITS for list of people who contributed to this
-+# project.
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of
-+# the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+#
-+
-+include $(TOPDIR)/config.mk
-+
-+LIB = lib$(BOARD).a
-+
-+OBJS = $(BOARD).o ide.o
-+
-+$(LIB): .depend $(OBJS)
-+ $(AR) crv $@ $(OBJS)
-+
-+#########################################################################
-+
-+.depend: Makefile $(OBJS:.o=.c)
-+ $(CC) -M $(CFLAGS) $(OBJS:.o=.c) > $@
-+
-+sinclude .depend
-+
-+#########################################################################
---- u-boot-1.2.0.vanilla/board/qnap/qnap.c 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.2.0/board/qnap/qnap.c 2007-02-26 01:55:37.000000000 +0100
-@@ -0,0 +1,126 @@
-+/*
-+ * Copyright (C) 2006 Andrew Luyten <u-boot@luyten.org.uk>
-+ *
-+ * Copyright (C) 2000
-+ * Rob Taylor, Flying Pig Systems. robt@flyingpig.com.
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ *
-+ */
-+
-+#include <common.h>
-+#include <mpc824x.h>
-+#include <pci.h>
-+
-+int checkboard (void)
-+{
-+ ulong busfreq = get_bus_freq(0);
-+ char buf[32];
-+
-+ printf("Board: QNAP TS-101/TS-201 local bus at %s MHz\n", strmhz(buf, busfreq));
-+ return 0;
-+}
-+
-+
-+long int initdram (int board_type)
-+{
-+ long size;
-+ long new_bank0_end;
-+ long mear1;
-+ long emear1;
-+
-+ size = get_ram_size(CFG_SDRAM_BASE, CFG_MAX_RAM_SIZE);
-+
-+ new_bank0_end = size - 1;
-+ mear1 = mpc824x_mpc107_getreg(MEAR1);
-+ emear1 = mpc824x_mpc107_getreg(EMEAR1);
-+ mear1 = (mear1 & 0xFFFFFF00) |
-+ ((new_bank0_end & MICR_ADDR_MASK) >> MICR_ADDR_SHIFT);
-+ emear1 = (emear1 & 0xFFFFFF00) |
-+ ((new_bank0_end & MICR_ADDR_MASK) >> MICR_EADDR_SHIFT);
-+ mpc824x_mpc107_setreg(MEAR1, mear1);
-+ mpc824x_mpc107_setreg(EMEAR1, emear1);
-+
-+ return (size);
-+}
-+
-+/*
-+ * Initialize PCI Devices, report devices found.
-+ */
-+#ifndef CONFIG_PCI_PNP
-+
-+static struct pci_config_table pci_qnap_config_table[] = {
-+ /* vendor, device, class */
-+ /* bus, dev, func */
-+
-+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-+ PCI_ANY_ID, 0x0f, 0, /* RTL8110SC or Intel 82540EM */
-+ /* Gigabit ethernet controller */
-+ pci_cfgfunc_config_device, { PCI_ETH_IOADDR,
-+ PCI_ETH_MEMADDR,
-+ PCI_COMMAND_IO |
-+ PCI_COMMAND_MEMORY |
-+ PCI_COMMAND_MASTER }},
-+
-+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-+ PCI_ANY_ID, 0x0d, 0, /* SII3512 */
-+ /* SATA controller */
-+ pci_cfgfunc_config_device, { PCI_IDE_IOADDR,
-+ PCI_IDE_MEMADDR,
-+ PCI_COMMAND_IO |
-+ PCI_COMMAND_MEMORY |
-+ PCI_COMMAND_MASTER }},
-+
-+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-+ PCI_ANY_ID, 0x0e, 0, /* D720101 USB controller, 1st USB 1.1 */
-+ pci_cfgfunc_config_device, { PCI_USB0_IOADDR,
-+ PCI_USB0_MEMADDR,
-+ PCI_COMMAND_MEMORY |
-+ PCI_COMMAND_MASTER }},
-+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-+ PCI_ANY_ID, 0x0e, 1, /* D720101 USB controller, 2nd USB 1.1 */
-+ pci_cfgfunc_config_device, { PCI_USB1_IOADDR,
-+ PCI_USB1_MEMADDR,
-+ PCI_COMMAND_MEMORY |
-+ PCI_COMMAND_MASTER }},
-+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-+ PCI_ANY_ID, 0x0e, 2, /* D720101 USB controller, USB 2.0 */
-+ pci_cfgfunc_config_device, { PCI_USB2_IOADDR,
-+ PCI_USB2_MEMADDR,
-+ PCI_COMMAND_MEMORY |
-+ PCI_COMMAND_MASTER }},
-+ { }
-+};
-+#endif
-+
-+struct pci_controller hose = {
-+#ifndef CONFIG_PCI_PNP
-+ config_table: pci_qnap_config_table,
-+#endif
-+};
-+
-+void pci_init_board(void)
-+{
-+ pci_mpc824x_init(&hose);
-+
-+ /* Reset USB 1.1 !/
-+ out_le32(PCI_USB0_MEMADDR+8, 1);
-+ out_le32(PCI_USB1_MEMADDR+8, 1);
-+ */
-+}
---- u-boot-1.2.0.vanilla/board/qnap/README 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.2.0/board/qnap/README 2007-02-26 01:55:37.000000000 +0100
-@@ -0,0 +1,10 @@
-+*This port of U-Boot will run on a QNAP TS-101/TS-201 NAS*
-+Andrew Luyten (u-boot@luyten.org.uk)
-+
-+Adapted from a Linkstation port by Mihai Georgian
-+http://http://www.linuxnotincluded.org.uk/
-+
-+Adapted from Motorola Sandpoint 3 development system equipped with
-+a Unity X4 PPMC card (MPC8240 CPU) only. It is a snapshot of work
-+in progress and far from being completed.
-+Thomas Koeller
---- u-boot-1.2.0.vanilla/board/qnap/u-boot.lds 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.2.0/board/qnap/u-boot.lds 2007-02-26 01:55:37.000000000 +0100
-@@ -0,0 +1,136 @@
-+/*
-+ * (C) Copyright 2001
-+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+OUTPUT_ARCH(powerpc)
-+SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib);
-+/* Do we need any of these for elf?
-+ __DYNAMIC = 0; */
-+SECTIONS
-+{
-+ /* Read-only sections, merged into text segment: */
-+ . = + SIZEOF_HEADERS;
-+ .interp : { *(.interp) }
-+ .hash : { *(.hash) }
-+ .dynsym : { *(.dynsym) }
-+ .dynstr : { *(.dynstr) }
-+ .rel.text : { *(.rel.text) }
-+ .rela.text : { *(.rela.text) }
-+ .rel.data : { *(.rel.data) }
-+ .rela.data : { *(.rela.data) }
-+ .rel.rodata : { *(.rel.rodata) }
-+ .rela.rodata : { *(.rela.rodata) }
-+ .rel.got : { *(.rel.got) }
-+ .rela.got : { *(.rela.got) }
-+ .rel.ctors : { *(.rel.ctors) }
-+ .rela.ctors : { *(.rela.ctors) }
-+ .rel.dtors : { *(.rel.dtors) }
-+ .rela.dtors : { *(.rela.dtors) }
-+ .rel.bss : { *(.rel.bss) }
-+ .rela.bss : { *(.rela.bss) }
-+ .rel.plt : { *(.rel.plt) }
-+ .rela.plt : { *(.rela.plt) }
-+ .init : { *(.init) }
-+ .plt : { *(.plt) }
-+ .text :
-+ {
-+ cpu/mpc824x/start.o (.text)
-+ lib_ppc/board.o (.text)
-+ lib_ppc/ppcstring.o (.text)
-+ lib_generic/vsprintf.o (.text)
-+ lib_generic/crc32.o (.text)
-+ lib_generic/zlib.o (.text)
-+
-+ . = DEFINED(env_offset) ? env_offset : .;
-+ common/environment.o (.text)
-+
-+ *(.text)
-+
-+ *(.fixup)
-+ *(.got1)
-+ . = ALIGN(16);
-+ *(.rodata)
-+ *(.rodata1)
-+ *(.rodata.str1.4)
-+ *(.eh_frame)
-+ }
-+ .fini : { *(.fini) } =0
-+ .ctors : { *(.ctors) }
-+ .dtors : { *(.dtors) }
-+
-+ /* Read-write section, merged into data segment: */
-+ . = (. + 0x0FFF) & 0xFFFFF000;
-+ _erotext = .;
-+ PROVIDE (erotext = .);
-+ .reloc :
-+ {
-+ *(.got)
-+ _GOT2_TABLE_ = .;
-+ *(.got2)
-+ _FIXUP_TABLE_ = .;
-+ *(.fixup)
-+ }
-+ __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
-+ __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
-+
-+ .data :
-+ {
-+ *(.data)
-+ *(.data1)
-+ *(.sdata)
-+ *(.sdata2)
-+ *(.dynamic)
-+ CONSTRUCTORS
-+ }
-+ _edata = .;
-+ PROVIDE (edata = .);
-+
-+ . = .;
-+ __u_boot_cmd_start = .;
-+ .u_boot_cmd : { *(.u_boot_cmd) }
-+ __u_boot_cmd_end = .;
-+
-+
-+ . = .;
-+ __start___ex_table = .;
-+ __ex_table : { *(__ex_table) }
-+ __stop___ex_table = .;
-+
-+ . = ALIGN(4096);
-+ __init_begin = .;
-+ .text.init : { *(.text.init) }
-+ .data.init : { *(.data.init) }
-+ . = ALIGN(4096);
-+ __init_end = .;
-+
-+ __bss_start = .;
-+ .bss :
-+ {
-+ *(.sbss) *(.scommon)
-+ *(.dynbss)
-+ *(.bss)
-+ *(COMMON)
-+ }
-+
-+ _end = . ;
-+ PROVIDE (end = .);
-+}
---- u-boot-1.2.0.vanilla/cpu/mpc824x/cpu.c 2007-01-07 00:13:11.000000000 +0100
-+++ u-boot-1.2.0/cpu/mpc824x/cpu.c 2007-02-26 01:55:37.000000000 +0100
-@@ -44,7 +44,11 @@
- break;
-
- case CPU_TYPE_8245:
-+#ifdef CONFIG_MPC8241
-+ puts ("MPC8241"); /* impossible to distinguish using chip registers */
-+#else
- puts ("MPC8245");
-+#endif
- break;
-
- default:
---- u-boot-1.2.0.vanilla/drivers/rtl8169.c 2007-01-07 00:13:11.000000000 +0100
-+++ u-boot-1.2.0/drivers/rtl8169.c 2007-02-26 01:55:37.000000000 +0100
-@@ -48,7 +48,10 @@
- *
- * Indent Options: indent -kr -i8
- ***************************************************************************/
--
-+/*
-+ * 26 August 2006 Mihai Georgian <u-boot@linuxnotincluded.org.uk>
-+ * Modified to use le32_to_cpu and cpu_to_le32 properly
-+ */
- #include <common.h>
- #include <malloc.h>
- #include <net.h>
-@@ -68,6 +71,7 @@
- static u32 ioaddr;
-
- /* Condensed operations for readability. */
-+#define virt_to_bus(addr) cpu_to_le32(addr)
- #define virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr))
- #define le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr))
-
-@@ -247,8 +251,15 @@
- u8 version; /* depend on RTL8169 docs */
- u32 RxConfigMask; /* should clear the bits supported by this chip */
- } rtl_chip_info[] = {
-- {"RTL-8169", 0x00, 0xff7e1880,},
-- {"RTL-8169", 0x04, 0xff7e1880,},
-+ {"RTL8169", 0x00, 0xff7e1880,},
-+ {"RTL8169s/8110s", 0x02, 0xff7e1880,},
-+ {"RTL8169s/8110s", 0x04, 0xff7e1880,},
-+ {"RTL8169sb/8110sb", 0x10, 0xff7e1880,},
-+ {"RTL8169sc/8110sc", 0x18, 0xff7e1880,},
-+ {"RTL8168b/8111sb", 0x30, 0xff7e1880,},
-+ {"RTL8168b/8111sb", 0x38, 0xff7e1880,},
-+ {"RTL8101e", 0x34, 0xff7e1880,},
-+ {"RTL8100e", 0x32, 0xff7e1880,},
- };
-
- enum _DescStatusBit {
-@@ -315,6 +326,7 @@
-
- static struct pci_device_id supported[] = {
- {PCI_VENDOR_ID_REALTEK, 0x8169},
-+ {PCI_VENDOR_ID_REALTEK, 0x8167},
- {}
- };
-
-@@ -383,13 +395,15 @@
- for (i = ARRAY_SIZE(rtl_chip_info) - 1; i >= 0; i--){
- if (tmp == rtl_chip_info[i].version) {
- tpc->chipset = i;
-+ printf ("%s... ", rtl_chip_info[i].name);
- goto match;
- }
- }
-
- /* if unknown chip, assume array element #0, original RTL-8169 in this case */
- printf("PCI device %s: unknown chip version, assuming RTL-8169\n", dev->name);
-- printf("PCI device: TxConfig = 0x%hX\n", (unsigned long) RTL_R32(TxConfig));
-+ printf("PCI device: TxConfig = 0x%lX\n", (unsigned long) RTL_R32(TxConfig));
-+
- tpc->chipset = 0;
-
- match:
-@@ -413,23 +427,23 @@
- ioaddr = dev->iobase;
-
- cur_rx = tpc->cur_rx;
-- if ((tpc->RxDescArray[cur_rx].status & OWNbit) == 0) {
-- if (!(tpc->RxDescArray[cur_rx].status & RxRES)) {
-+ if ((le32_to_cpu(tpc->RxDescArray[cur_rx].status) & OWNbit) == 0) {
-+ if (!(le32_to_cpu(tpc->RxDescArray[cur_rx].status) & RxRES)) {
- unsigned char rxdata[RX_BUF_LEN];
-- length = (int) (tpc->RxDescArray[cur_rx].
-- status & 0x00001FFF) - 4;
-+ length = (int) (le32_to_cpu(tpc->RxDescArray[cur_rx].
-+ status) & 0x00001FFF) - 4;
-
- memcpy(rxdata, tpc->RxBufferRing[cur_rx], length);
- NetReceive(rxdata, length);
-
- if (cur_rx == NUM_RX_DESC - 1)
- tpc->RxDescArray[cur_rx].status =
-- (OWNbit | EORbit) + RX_BUF_SIZE;
-+ cpu_to_le32((OWNbit | EORbit) + RX_BUF_SIZE);
- else
- tpc->RxDescArray[cur_rx].status =
-- OWNbit + RX_BUF_SIZE;
-+ cpu_to_le32(OWNbit + RX_BUF_SIZE);
- tpc->RxDescArray[cur_rx].buf_addr =
-- virt_to_bus(tpc->RxBufferRing[cur_rx]);
-+ cpu_to_le32((u32)tpc->RxBufferRing[cur_rx]);
- } else {
- puts("Error Rx");
- }
-@@ -454,6 +468,7 @@
- u8 *ptxb;
- int entry = tpc->cur_tx % NUM_TX_DESC;
- u32 len = length;
-+ int ret;
-
- #ifdef DEBUG_RTL8169_TX
- int stime = currticks();
-@@ -465,39 +480,46 @@
-
- /* point to the current txb incase multiple tx_rings are used */
- ptxb = tpc->Tx_skbuff[entry * MAX_ETH_FRAME_SIZE];
-+#ifdef DEBUG_RTL8169_TX
-+ printf("ptxb: %08X, length: %d\n", ptxb, (int)length);
-+#endif
- memcpy(ptxb, (char *)packet, (int)length);
-
- while (len < ETH_ZLEN)
- ptxb[len++] = '\0';
-
-- tpc->TxDescArray[entry].buf_addr = virt_to_bus(ptxb);
-+ tpc->TxDescArray[entry].buf_addr = cpu_to_le32((u32)ptxb);
- if (entry != (NUM_TX_DESC - 1)) {
- tpc->TxDescArray[entry].status =
-- (OWNbit | FSbit | LSbit) | ((len > ETH_ZLEN) ?
-- len : ETH_ZLEN);
-+ cpu_to_le32((OWNbit | FSbit | LSbit) |
-+ ((len > ETH_ZLEN) ? len : ETH_ZLEN));
- } else {
- tpc->TxDescArray[entry].status =
-- (OWNbit | EORbit | FSbit | LSbit) |
-- ((len > ETH_ZLEN) ? length : ETH_ZLEN);
-+ cpu_to_le32((OWNbit | EORbit | FSbit | LSbit) |
-+ ((len > ETH_ZLEN) ? len : ETH_ZLEN));
- }
- RTL_W8(TxPoll, 0x40); /* set polling bit */
-
- tpc->cur_tx++;
- to = currticks() + TX_TIMEOUT;
-- while ((tpc->TxDescArray[entry].status & OWNbit) && (currticks() < to)); /* wait */
-+ while ((le32_to_cpu(tpc->TxDescArray[entry].status) & OWNbit)
-+ && (currticks() < to)); /* wait */
-
- if (currticks() >= to) {
- #ifdef DEBUG_RTL8169_TX
- puts ("tx timeout/error\n");
- printf ("%s elapsed time : %d\n", __FUNCTION__, currticks()-stime);
- #endif
-- return 0;
-+ ret = 0;
- } else {
- #ifdef DEBUG_RTL8169_TX
- puts("tx done\n");
- #endif
-- return length;
-+ ret = length;
- }
-+ /* Delay to make net console (nc) work properly */
-+ udelay(20);
-+ return ret;
- }
-
- static void rtl8169_set_rx_mode(struct eth_device *dev)
-@@ -564,8 +586,8 @@
-
- tpc->cur_rx = 0;
-
-- RTL_W32(TxDescStartAddr, virt_to_le32desc(tpc->TxDescArray));
-- RTL_W32(RxDescStartAddr, virt_to_le32desc(tpc->RxDescArray));
-+ RTL_W32(TxDescStartAddr, virt_to_le32desc((u32)tpc->TxDescArray));
-+ RTL_W32(RxDescStartAddr, virt_to_le32desc((u32)tpc->RxDescArray));
- RTL_W8(Cfg9346, Cfg9346_Lock);
- udelay(10);
-
-@@ -603,13 +625,14 @@
- for (i = 0; i < NUM_RX_DESC; i++) {
- if (i == (NUM_RX_DESC - 1))
- tpc->RxDescArray[i].status =
-- (OWNbit | EORbit) + RX_BUF_SIZE;
-+ cpu_to_le32((OWNbit | EORbit) + RX_BUF_SIZE);
- else
-- tpc->RxDescArray[i].status = OWNbit + RX_BUF_SIZE;
-+ tpc->RxDescArray[i].status =
-+ cpu_to_le32(OWNbit + RX_BUF_SIZE);
-
- tpc->RxBufferRing[i] = &rxb[i * RX_BUF_SIZE];
- tpc->RxDescArray[i].buf_addr =
-- virt_to_bus(tpc->RxBufferRing[i]);
-+ cpu_to_le32((u32)tpc->RxBufferRing[i]);
- }
-
- #ifdef DEBUG_RTL8169
-@@ -620,7 +643,7 @@
- /**************************************************************************
- RESET - Finish setting up the ethernet interface
- ***************************************************************************/
--static void rtl_reset(struct eth_device *dev, bd_t *bis)
-+static int rtl_reset(struct eth_device *dev, bd_t *bis)
- {
- int i;
- u8 diff;
-@@ -635,21 +658,27 @@
- if (tpc->TxDescArrays == 0)
- puts("Allot Error");
- /* Tx Desscriptor needs 256 bytes alignment; */
-- TxPhyAddr = virt_to_bus(tpc->TxDescArrays);
-+ TxPhyAddr = (u32)tpc->TxDescArrays;
- diff = 256 - (TxPhyAddr - ((TxPhyAddr >> 8) << 8));
- TxPhyAddr += diff;
- tpc->TxDescArray = (struct TxDesc *) (tpc->TxDescArrays + diff);
-+#ifdef DEBUG_RTL8169
-+ printf("tpc->TxDescArray: %08X\n", tpc->TxDescArray);
-+#endif
-
- tpc->RxDescArrays = rx_ring;
- /* Rx Desscriptor needs 256 bytes alignment; */
-- RxPhyAddr = virt_to_bus(tpc->RxDescArrays);
-+ RxPhyAddr = (u32)tpc->RxDescArrays;
- diff = 256 - (RxPhyAddr - ((RxPhyAddr >> 8) << 8));
- RxPhyAddr += diff;
- tpc->RxDescArray = (struct RxDesc *) (tpc->RxDescArrays + diff);
-+#ifdef DEBUG_RTL8169
-+ printf("tpc->RxDescArray: %08X\n", tpc->RxDescArray);
-+#endif
-
- if (tpc->TxDescArrays == NULL || tpc->RxDescArrays == NULL) {
- puts("Allocate RxDescArray or TxDescArray failed\n");
-- return;
-+ return 0;
- }
-
- rtl8169_init_ring(dev);
-@@ -669,6 +698,7 @@
- #ifdef DEBUG_RTL8169
- printf ("%s elapsed time : %d\n", __FUNCTION__, currticks()-stime);
- #endif
-+ return 1;
- }
-
- /**************************************************************************
-@@ -733,7 +763,7 @@
-
- /* Get MAC address. FIXME: read EEPROM */
- for (i = 0; i < MAC_ADDR_LEN; i++)
-- dev->enetaddr[i] = RTL_R8(MAC0 + i);
-+ bis->bi_enetaddr[i] = dev->enetaddr[i] = RTL_R8(MAC0 + i);
-
- #ifdef DEBUG_RTL8169
- printf("MAC Address");
-@@ -814,17 +844,14 @@
- if (option & _1000bpsF) {
- #ifdef DEBUG_RTL8169
- printf("%s: 1000Mbps Full-duplex operation.\n",
-- dev->name);
-+ dev->name);
- #endif
- } else {
- #ifdef DEBUG_RTL8169
-- printf
-- ("%s: %sMbps %s-duplex operation.\n",
-- dev->name,
-- (option & _100bps) ? "100" :
-- "10",
-- (option & FullDup) ? "Full" :
-- "Half");
-+ printf("%s: %sMbps %s-duplex operation.\n",
-+ dev->name,
-+ (option & _100bps) ? "100" : "10",
-+ (option & FullDup) ? "Full" : "Half");
- #endif
- }
- break;
-@@ -886,3 +913,5 @@
- }
-
- #endif
-+
-+/* vim: set ts=4: */
-Index: u-boot-1.2.0/include/configs/qnap.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ u-boot-1.2.0/include/configs/qnap.h 2007-04-07 21:56:55.376393000 +0200
-@@ -0,0 +1,363 @@
-+/*
-+ * Copyright (C) 2006 Andrew Luyten <u-boot@luyten.org.uk>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+/* ------------------------------------------------------------------------- */
-+
-+/*
-+ * board/config.h - configuration options, board specific
-+ */
-+
-+#ifndef __CONFIG_H
-+#define __CONFIG_H
-+
-+/*
-+ * High Level Configuration Options
-+ * (easy to change)
-+ */
-+
-+#define CONFIG_MPC824X 1
-+#define CONFIG_MPC8245 1
-+#define CONFIG_MPC8241 1
-+
-+#define CONFIG_IDENT_STRING " OpenTS(c)"
-+#define CONFIG_TIMESTAMP
-+#define CFG_HUSH_PARSER 1
-+#define CFG_PROMPT_HUSH_PS2 "turbostation> "
-+#define CONFIG_BOOTDELAY 3
-+
-+
-+/*----------------------------------------------------------------------
-+ * Define supported commands
-+ */
-+
-+#define CONFIG_COMMANDS ( \
-+ CONFIG_CMD_DFL | \
-+ CFG_CMD_ELF | \
-+ CFG_CMD_I2C | \
-+ CFG_CMD_PING | \
-+ CFG_CMD_DHCP | \
-+ CFG_CMD_IDE | \
-+ CFG_CMD_EXT2 | \
-+ CFG_CMD_DATE | \
-+ CFG_CMD_PCI )
-+
-+/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
-+#include <cmd_confdefs.h>
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Miscellaneous configurable options
-+ */
-+
-+#define CFG_LONGHELP 1 /* undef to save memory */
-+#define CFG_PROMPT "=> " /* Monitor Command Prompt*/
-+#define CFG_CBSIZE 256 /* Console I/O Buffer Size*/
-+#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size*/
-+#define CFG_MAXARGS 16 /* max number of command args*/
-+#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size*/
-+#define CFG_LOAD_ADDR 0x00100000 /* default load address */
-+#define CFG_HZ 1000 /* decrementer freq:1 ms ticks*/
-+
-+
-+/*-----------------------------------------------------------------------
-+ * PCI
-+ *
-+ */
-+
-+#define CONFIG_PCI
-+#undef CONFIG_PCI_PNP
-+
-+#define PCI_ETH_IOADDR 0xbffe00
-+#define PCI_ETH_MEMADDR 0xbfffce00
-+
-+#define PCI_IDE_IOADDR 0xbfffd0
-+#define PCI_IDE_MEMADDR 0xbffffe00
-+
-+#define PCI_USB0_IOADDR 0
-+#define PCI_USB0_MEMADDR 0xbfffe000
-+#define PCI_USB1_IOADDR 0
-+#define PCI_USB1_MEMADDR 0xbfffd000
-+#define PCI_USB2_IOADDR 0
-+#define PCI_USB2_MEMADDR 0xbfffcf00
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Start addresses for the final memory configuration
-+ * (Set up by the startup code)
-+ */
-+
-+#define CFG_SDRAM_BASE 0x00000000
-+#define CFG_MONITOR_BASE TEXT_BASE
-+#undef CFG_RAMBOOT
-+
-+#define CFG_PCI_MEM_ADDR 0xB0000000
-+#define CFG_EUMB_ADDR 0xFC000000
-+#define CFG_FLASH_BASE 0xFF000000
-+
-+#define CFG_RESET_ADDRESS 0xFFF00100
-+
-+#define CFG_MONITOR_LEN (256 << 10)
-+#define CFG_MALLOC_LEN (512 << 10)
-+
-+#define CFG_MEMTEST_START 0x00000000 /* memtest works on */
-+#define CFG_MEMTEST_END 0x04000000 /* 0 ... 32 MB in DRAM */
-+#define CFG_MAX_RAM_SIZE 0x10000000 /* up to 256M of SDRAM */
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Definitions for initial stack pointer and data area
-+ */
-+
-+#define CFG_INIT_RAM_ADDR 0x40000000
-+#define CFG_INIT_RAM_END 0x1000
-+#define CFG_GBL_DATA_SIZE 128
-+#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
-+
-+
-+/*-----------------------------------------------------------------------
-+ * FLASH organization
-+ */
-+
-+#define CFG_FLASH_CFI 1
-+#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */
-+#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
-+#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip*/
-+#define CFG_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
-+#define CFG_FLASH_USE_BUFFER_WRITE /* faster writes */
-+
-+#define CFG_ENV_IS_IN_FLASH 1
-+#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x00EA0000)
-+#define CFG_ENV_SECT_SIZE 0x00020000 /* Total Size of Environment Sector*/
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Gigabit Ethernet
-+ */
-+
-+#define CONFIG_NET_MULTI
-+#define CONFIG_RTL8169
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Filesystems
-+ */
-+
-+#define CONFIG_MAC_PARTITION
-+#define CONFIG_DOS_PARTITION
-+//#define CONFIG_ISO_PARTITION
-+
-+
-+/*-----------------------------------------------------------------------
-+ * IDE/ATA
-+ */
-+
-+#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
-+#undef CONFIG_IDE_LED /* no led for ide supported */
-+#undef CONFIG_IDE_RESET /* no reset for ide supported */
-+#undef CONFIG_ATAPI /* no ATAPI support */
-+
-+#define CONFIG_IDE_PREINIT /* To set up MMIO adresses */
-+#define CONFIG_LBA48 /* Large disk support */
-+
-+#define CFG_IDE_MAXBUS 2 /* Two channels x 1 device each */
-+#define CFG_IDE_MAXDEVICE (CFG_IDE_MAXBUS*1)
-+
-+#define CFG_ATA_BASE_ADDR 0x0000 /* Set up in board specific code */
-+#define CFG_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
-+#define CFG_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
-+#define CFG_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
-+
-+
-+/*----------------------------------------------------------------------
-+ * On Chip Serial configuration
-+ */
-+
-+#define CONFIG_CONS_INDEX 1
-+#define CONFIG_BAUDRATE 115200
-+#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
-+
-+#define CFG_NS16550
-+#define CFG_NS16550_SERIAL
-+
-+#define CFG_NS16550_REG_SIZE 1
-+#define CFG_NS16550_CLK get_bus_freq(0)
-+
-+#define CFG_NS16550_COM1 (CFG_EUMB_ADDR + 0x4500) /* Console port */
-+#define CFG_NS16550_COM2 (CFG_EUMB_ADDR + 0x4600) /* PIC ? */
-+
-+
-+/*----------------------------------------------------------------------
-+ * i2c support configuration
-+ */
-+
-+#define CONFIG_HARD_I2C 1 /* To enable I2C support */
-+#undef CONFIG_SOFT_I2C /* I2C bit-banged */
-+#define CFG_I2C_SPEED 400000 /* I2C speed and slave address */
-+#define CFG_I2C_SLAVE 0x7F
-+
-+#define CONFIG_RTC_RS5C372A /* Real-time clock chip */
-+
-+
-+/*----------------------------------------------------------------------
-+ * Low Level Configuration Settings
-+ * (address mappings, register initial values, etc.)
-+ * You should know what you are doing if you make changes here.
-+ */
-+
-+#define CONFIG_SYS_CLK_FREQ 33333333 /* external frequency to pll */
-+
-+#define CFG_ROMNAL 7 /*rom/flash next access time */
-+#define CFG_ROMFAL 11 /*rom/flash access time */
-+
-+#define CFG_REFINT 430 /* no of clock cycles between CBR refresh cycles */
-+
-+/* the following are for SDRAM only*/
-+#define CFG_BSTOPRE 121 /* Burst To Precharge, sets open page interval */
-+#define CFG_REFREC 8 /* Refresh to activate interval */
-+#define CFG_RDLAT 4 /* data latency from read command */
-+#define CFG_PRETOACT 3 /* Precharge to activate interval */
-+#define CFG_ACTTOPRE 5 /* Activate to Precharge interval */
-+#define CFG_ACTORW 3 /* Activate to R/W */
-+#define CFG_SDMODE_CAS_LAT 3 /* SDMODE CAS latency */
-+#define CFG_SDMODE_WRAP 0 /* SDMODE wrap type */
-+
-+#define CFG_REGISTERD_TYPE_BUFFER 1
-+#define CFG_EXTROM 1
-+#define CFG_REGDIMM 0
-+
-+
-+/*----------------------------------------------------------------------
-+ * memory bank settings
-+ *
-+ * only bits 20-29 are actually used from these vales to set the
-+ * start/end address the upper two bits will be 0, and the lower 20
-+ * bits will be set to 0x00000 for a start address, or 0xfffff for an
-+ * end address
-+ */
-+
-+#define CFG_BANK0_START 0x00000000
-+#define CFG_BANK0_END (CFG_MAX_RAM_SIZE - 1)
-+#define CFG_BANK0_ENABLE 1
-+#define CFG_BANK1_START 0x3ff00000
-+#define CFG_BANK1_END 0x3fffffff
-+#define CFG_BANK1_ENABLE 0
-+#define CFG_BANK2_START 0x3ff00000
-+#define CFG_BANK2_END 0x3fffffff
-+#define CFG_BANK2_ENABLE 0
-+#define CFG_BANK3_START 0x3ff00000
-+#define CFG_BANK3_END 0x3fffffff
-+#define CFG_BANK3_ENABLE 0
-+#define CFG_BANK4_START 0x00000000
-+#define CFG_BANK4_END 0x00000000
-+#define CFG_BANK4_ENABLE 0
-+#define CFG_BANK5_START 0x00000000
-+#define CFG_BANK5_END 0x00000000
-+#define CFG_BANK5_ENABLE 0
-+#define CFG_BANK6_START 0x00000000
-+#define CFG_BANK6_END 0x00000000
-+#define CFG_BANK6_ENABLE 0
-+#define CFG_BANK7_START 0x00000000
-+#define CFG_BANK7_END 0x00000000
-+#define CFG_BANK7_ENABLE 0
-+
-+
-+/*
-+ * Memory bank enable bitmask, specifying which of the banks defined above
-+ are actually present. MSB is for bank #7, LSB is for bank #0.
-+ */
-+#define CFG_BANK_ENABLE 0x01
-+
-+#define CFG_ODCR 0xff /* configures line driver impedances, */
-+ /* see 8240 book for bit definitions */
-+#define CFG_PGMAX 0x32 /* how long the 8240 retains the */
-+ /* currently accessed page in memory */
-+ /* see 8240 book for details */
-+#define CFG_DBUS_SIZE2 1
-+#define CFG_BANK0_ROW 2
-+
-+
-+/*----------------------------------------------------------------------
-+ * Initial BAT mappings
-+ */
-+
-+/* SDRAM 0 - 256MB */
-+#define CFG_IBAT0L (CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
-+#define CFG_IBAT0U (CFG_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
-+
-+/* stack in DCACHE @ 1GB (no backing mem) */
-+#define CFG_IBAT1L (CFG_INIT_RAM_ADDR | BATL_PP_10 | BATL_MEMCOHERENCE)
-+#define CFG_IBAT1U (CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
-+
-+/* PCI memory */
-+#define CFG_IBAT2L (CFG_PCI_MEM_ADDR | BATL_PP_10 | BATL_CACHEINHIBIT)
-+#define CFG_IBAT2U (CFG_PCI_MEM_ADDR | BATU_BL_256M | BATU_VS | BATU_VP)
-+
-+/* Flash, config addrs, etc */
-+#define CFG_IBAT3L (0xF0000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
-+#define CFG_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
-+
-+#define CFG_DBAT0L CFG_IBAT0L
-+#define CFG_DBAT0U CFG_IBAT0U
-+#define CFG_DBAT1L CFG_IBAT1L
-+#define CFG_DBAT1U CFG_IBAT1U
-+#define CFG_DBAT2L CFG_IBAT2L
-+#define CFG_DBAT2U CFG_IBAT2U
-+#define CFG_DBAT3L CFG_IBAT3L
-+#define CFG_DBAT3U CFG_IBAT3U
-+
-+/*
-+ * For booting Linux, the board info and command line data
-+ * have to be in the first 8 MB of memory, since this is
-+ * the maximum mapped by the Linux kernel during initialization.
-+ */
-+#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Cache Configuration
-+ */
-+
-+#define CFG_CACHELINE_SIZE 32 /* For MPC8240 CPU */
-+#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-+# define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */
-+#endif
-+
-+
-+/*-----------------------------------------------------------------------
-+ * Internal Definitions
-+ *
-+ * Boot Flags
-+ */
-+#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
-+#define BOOTFLAG_WARM 0x02 /* Software reboot */
-+
-+/* pass open firmware flat tree */
-+#define CONFIG_OF_FLAT_TREE 1
-+
-+/* maximum size of the flat tree (8K) */
-+#define OF_FLAT_TREE_MAX_SIZE 8192
-+
-+#define OF_CPU "PowerPC,603e"
-+#define OF_STDOUT_PATH "/soc10x/serial@fc004500"
-+
-+#endif /* __CONFIG_H */
-+
---- u-boot-1.2.0.vanilla/Makefile 2007-01-07 00:13:11.000000000 +0100
-+++ u-boot-1.2.0/Makefile 2007-02-26 01:55:37.000000000 +0100
-@@ -1296,6 +1296,9 @@
- PN62_config: unconfig
- @$(MKCONFIG) $(@:_config=) ppc mpc824x pn62
-
-+qnap_config: unconfig
-+ @$(MKCONFIG) $(@:_config=) ppc mpc824x qnap
-+
- Sandpoint8240_config: unconfig
- @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint
-
diff --git a/recipes/u-boot/u-boot-1.3.2/boc01/006-081205-EEPROM_INTERSIL.patch b/recipes/u-boot/u-boot-1.3.2/boc01/006-081205-EEPROM_INTERSIL.patch
deleted file mode 100644
index 21d7cba1a3..0000000000
--- a/recipes/u-boot/u-boot-1.3.2/boc01/006-081205-EEPROM_INTERSIL.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: u-boot-1.3.2/include/configs/MPC8313ERDB.h
-===================================================================
---- u-boot-1.3.2.orig/include/configs/MPC8313ERDB.h 2008-12-09 16:30:51.000000000 +0100
-+++ u-boot-1.3.2/include/configs/MPC8313ERDB.h 2008-12-09 16:31:01.000000000 +0100
-@@ -269,9 +269,9 @@
- */
- #define CONFIG_CMD_EEPROM
- #define CFG_I2C_EEPROM_ADDR_LEN 2 /* 16-bit EEPROM address */
--#define CFG_I2C_EEPROM_ADDR 0x50 /* Atmel: AT24C256*/
-+#define CFG_I2C_EEPROM_ADDR 0x57 /* Intersil 12024 (eeprom)*/
- #define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10 /* 10ms of delay */
--#define CFG_EEPROM_PAGE_WRITE_BITS 6 /* 64-Byte Page Write Mode */
-+#define CFG_EEPROM_PAGE_WRITE_BITS 4 /* 16-Byte Page Write Mode */
- #define CFG_EEPROM_PAGE_WRITE_ENABLE
-
- /* TSEC */
diff --git a/recipes/u-boot/u-boot-1.3.2/mpc8313e-rdb-watchdog.patch b/recipes/u-boot/u-boot-1.3.2/mpc8313e-rdb-watchdog.patch
deleted file mode 100644
index db92fea35c..0000000000
--- a/recipes/u-boot/u-boot-1.3.2/mpc8313e-rdb-watchdog.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: u-boot-1.3.2/include/configs/MPC8313ERDB.h
-===================================================================
---- u-boot-1.3.2.orig/include/configs/MPC8313ERDB.h 2008-09-12 18:47:22.000000000 +0200
-+++ u-boot-1.3.2/include/configs/MPC8313ERDB.h 2008-09-12 18:48:11.000000000 +0200
-@@ -460,6 +460,10 @@
- HRCWH_BIG_ENDIAN |\
- HRCWH_LALE_NORMAL)
-
-+/* Watchdog */
-+#define CONFIG_WATCHDOG
-+#define CFG_WATCHDOG_VALUE 0xFFFF
-+
- /* System IO Config */
- #define CFG_SICRH (SICRH_TSOBI1 | SICRH_TSOBI2) /* RGMII */
- #define CFG_SICRL SICRL_USBDR /* Enable Internal USB Phy */
diff --git a/recipes/u-boot/u-boot-2009.01/u-boot-2009.01-exp-001-config.patch b/recipes/u-boot/u-boot-2009.01/u-boot-2009.01-exp-001-config.patch
deleted file mode 100644
index f1c30aa1ba..0000000000
--- a/recipes/u-boot/u-boot-2009.01/u-boot-2009.01-exp-001-config.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-diff -urN u-boot-2008.10-0rig//doc/README.at91 u-boot-2008.10/doc/README.at91
---- u-boot-2008.10-0rig//doc/README.at91 1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-2008.10/doc/README.at91 2008-12-31 12:16:34.000000000 +0100
-@@ -0,0 +1,88 @@
-+Atmel AT91 Evaluation kits
-+
-+http://atmel.com/dyn/products/tools.asp?family_id=605#1443
-+
-+------------------------------------------------------------------------------
-+AT91SAM9260EK
-+------------------------------------------------------------------------------
-+
-+Memory map
-+ 0x20000000 - 23FFFFFF SDRAM (64 MB)
-+ 0xC0000000 - Cxxxxxxx Atmel Dataflash card (J13)
-+ 0xD0000000 - Dxxxxxxx Soldered Atmel Dataflash
-+
-+Environment variables
-+
-+ U-Boot environment variables can be stored at different places:
-+ - Dataflash on SPI chip select 1 (default)
-+ - Dataflash on SPI chip select 0 (dataflash card)
-+ - Nand flash.
-+
-+ You can choose your storage location at config step (here for at91sam9260ek) :
-+ make at91sam9260ek_config - use data flash (spi cs1) (default)
-+ make at91sam9260ek_nandflash_config - use nand flash
-+ make at91sam9260ek_dataflash_cs0_config - use data flash (spi cs0)
-+ make at91sam9260ek_dataflash_cs1_config - use data flash (spi cs1)
-+
-+
-+------------------------------------------------------------------------------
-+AT91SAM9261EK
-+------------------------------------------------------------------------------
-+
-+Memory map
-+ 0x20000000 - 23FFFFFF SDRAM (64 MB)
-+ 0xC0000000 - Cxxxxxxx Soldered Atmel Dataflash
-+ 0xD0000000 - Dxxxxxxx Atmel Dataflash card (J22)
-+
-+Environment variables
-+
-+ U-Boot environment variables can be stored at different places:
-+ - Dataflash on SPI chip select 0 (default)
-+ - Dataflash on SPI chip select 3 (dataflash card)
-+ - Nand flash.
-+
-+ You can choose your storage location at config step (here for at91sam9260ek) :
-+ make at91sam9261ek_config - use data flash (spi cs0) (default)
-+ make at91sam9261ek_nandflash_config - use nand flash
-+ make at91sam9261ek_dataflash_cs0_config - use data flash (spi cs0)
-+ make at91sam9261ek_dataflash_cs3_config - use data flash (spi cs3)
-+
-+
-+------------------------------------------------------------------------------
-+AT91SAM9263EK
-+------------------------------------------------------------------------------
-+
-+Memory map
-+ 0x20000000 - 23FFFFFF SDRAM (64 MB)
-+ 0xC0000000 - Cxxxxxxx Atmel Dataflash card (J9)
-+
-+Environment variables
-+
-+ U-Boot environment variables can be stored at different places:
-+ - Dataflash on SPI chip select 0 (dataflash card)
-+ - Nand flash.
-+
-+ You can choose your storage location at config step (here for at91sam9260ek) :
-+ make at91sam9263ek_config - use data flash (spi cs0) (default)
-+ make at91sam9263ek_nandflash_config - use nand flash
-+ make at91sam9263ek_dataflash_cs0_config - use data flash (spi cs0)
-+
-+
-+------------------------------------------------------------------------------
-+AT91SAM9RLEK
-+------------------------------------------------------------------------------
-+
-+Memory map
-+ 0x20000000 - 23FFFFFF SDRAM (64 MB)
-+ 0xC0000000 - Cxxxxxxx Soldered Atmel Dataflash
-+
-+Environment variables
-+
-+ U-Boot environment variables can be stored at different places:
-+ - Dataflash on SPI chip select 0
-+ - Nand flash.
-+
-+ You can choose your storage location at config step (here for at91sam9260ek) :
-+ make at91sam9263ek_config - use data flash (spi cs0) (default)
-+ make at91sam9263ek_nandflash_config - use nand flash
-+ make at91sam9263ek_dataflash_cs0_config - use data flash (spi cs0)
-diff -urN u-boot-2008.10-0rig//include/configs/at91sam9260ek.h u-boot-2008.10/include/configs/at91sam9260ek.h
---- u-boot-2008.10-0rig//include/configs/at91sam9260ek.h 2008-12-31 12:15:59.000000000 +0100
-+++ u-boot-2008.10/include/configs/at91sam9260ek.h 2008-12-31 12:16:34.000000000 +0100
-@@ -127,10 +127,6 @@
- #define CFG_MEMTEST_START PHYS_SDRAM
- #define CFG_MEMTEST_END 0x23e00000
-
--#undef CFG_USE_DATAFLASH_CS0
--#define CFG_USE_DATAFLASH_CS1 1
--#undef CFG_USE_NANDFLASH
--
- #ifdef CFG_USE_DATAFLASH_CS0
-
- /* bootstrap + u-boot + env + linux in dataflash on CS0 */
-diff -urN u-boot-2008.10-0rig//include/configs/at91sam9261ek.h u-boot-2008.10/include/configs/at91sam9261ek.h
---- u-boot-2008.10-0rig//include/configs/at91sam9261ek.h 2008-12-31 12:15:59.000000000 +0100
-+++ u-boot-2008.10/include/configs/at91sam9261ek.h 2008-12-31 12:16:34.000000000 +0100
-@@ -142,9 +142,6 @@
- #define CFG_MEMTEST_START PHYS_SDRAM
- #define CFG_MEMTEST_END 0x23e00000
-
--#define CFG_USE_DATAFLASH_CS0 1
--#undef CFG_USE_NANDFLASH
--
- #ifdef CFG_USE_DATAFLASH_CS0
-
- /* bootstrap + u-boot + env + linux in dataflash on CS0 */
-@@ -157,6 +154,20 @@
- #define CONFIG_BOOTARGS "console=ttyS0,115200 " \
- "root=/dev/mtdblock0 " \
- "mtdparts=at91_nand:-(root) " \
-+ "rw rootfstype=jffs2"
-+
-+#elif CFG_USE_DATAFLASH_CS3
-+
-+/* bootstrap + u-boot + env + linux in dataflash on CS3 */
-+#define CFG_ENV_IS_IN_DATAFLASH 1
-+#define CFG_MONITOR_BASE (CFG_DATAFLASH_LOGIC_ADDR_CS3 + 0x8400)
-+#define CFG_ENV_OFFSET 0x4200
-+#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS3 + CFG_ENV_OFFSET)
-+#define CFG_ENV_SIZE 0x4200
-+#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
-+#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
-+ "root=/dev/mtdblock0 " \
-+ "mtdparts=at91_nand:-(root) " \
- "rw rootfstype=jffs2"
-
- #else /* CFG_USE_NANDFLASH */
-diff -urN u-boot-2008.10-0rig//include/configs/at91sam9263ek.h u-boot-2008.10/include/configs/at91sam9263ek.h
---- u-boot-2008.10-0rig//include/configs/at91sam9263ek.h 2008-12-31 12:15:59.000000000 +0100
-+++ u-boot-2008.10/include/configs/at91sam9263ek.h 2008-12-31 12:16:34.000000000 +0100
-@@ -148,9 +148,6 @@
- #define CFG_MEMTEST_START PHYS_SDRAM
- #define CFG_MEMTEST_END 0x23e00000
-
--#define CFG_USE_DATAFLASH 1
--#undef CFG_USE_NANDFLASH
--
- #ifdef CFG_USE_DATAFLASH
-
- /* bootstrap + u-boot + env + linux in dataflash on CS0 */
-diff -urN u-boot-2008.10-0rig//include/configs/at91sam9rlek.h u-boot-2008.10/include/configs/at91sam9rlek.h
---- u-boot-2008.10-0rig//include/configs/at91sam9rlek.h 2008-12-31 12:15:59.000000000 +0100
-+++ u-boot-2008.10/include/configs/at91sam9rlek.h 2008-12-31 12:16:34.000000000 +0100
-@@ -117,9 +117,6 @@
- #define CFG_MEMTEST_START PHYS_SDRAM
- #define CFG_MEMTEST_END 0x23e00000
-
--#define CFG_USE_DATAFLASH 1
--#undef CFG_USE_NANDFLASH
--
- #ifdef CFG_USE_DATAFLASH
-
- /* bootstrap + u-boot + env + linux in dataflash on CS0 */
-diff -urN u-boot-2008.10-0rig//Makefile u-boot-2008.10/Makefile
---- u-boot-2008.10-0rig//Makefile 2008-12-31 12:15:55.000000000 +0100
-+++ u-boot-2008.10/Makefile 2008-12-31 12:18:31.000000000 +0100
-@@ -2487,15 +2487,6 @@
- at91rm9200dk_config : unconfig
- @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200
-
--at91sam9261ek_config : unconfig
-- @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91
--
--at91sam9263ek_config : unconfig
-- @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91
--
--at91sam9rlek_config : unconfig
-- @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9rlek atmel at91
--
- cmc_pu2_config : unconfig
- @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
-
-@@ -2518,8 +2509,79 @@
- at91cap9adk_config : unconfig
- @$(MKCONFIG) $(@:_config=) arm arm926ejs at91cap9adk atmel at91
-
-+at91sam9260ek_nandflash_config \
-+at91sam9260ek_dataflash_cs0_config \
-+at91sam9260ek_dataflash_cs1_config \
- at91sam9260ek_config : unconfig
-- @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9260ek atmel at91
-+ @if [ "$(findstring _nandflash,$@)" ] ; then \
-+ echo "#define CFG_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in NAND FLASH" ; \
-+ elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
-+ echo "#define CFG_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
-+ else \
-+ echo "#define CFG_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \
-+ fi;
-+ @$(MKCONFIG) -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
-+
-+at91sam9xeek_nandflash_config \
-+at91sam9xeek_dataflash_cs0_config \
-+at91sam9xeek_dataflash_cs1_config \
-+at91sam9xeek_config : unconfig
-+ @if [ "$(findstring _nandflash,$@)" ] ; then \
-+ echo "#define CFG_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in NAND FLASH" ; \
-+ elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
-+ echo "#define CFG_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
-+ else \
-+ echo "#define CFG_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \
-+ fi;
-+ @$(MKCONFIG) -n at91sam9xeek -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
-+
-+at91sam9261ek_nandflash_config \
-+at91sam9261ek_dataflash_cs0_config \
-+at91sam9261ek_dataflash_cs3_config \
-+at91sam9261ek_config : unconfig
-+ @if [ "$(findstring _nandflash,$@)" ] ; then \
-+ echo "#define CFG_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in NAND FLASH" ; \
-+ elif [ "$(findstring dataflash_cs3,$@)" ] ; then \
-+ echo "#define CFG_USE_DATAFLASH_CS3 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS3" ; \
-+ else \
-+ echo "#define CFG_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
-+ fi;
-+ @$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91
-+
-+at91sam9263ek_nandflash_config \
-+at91sam9263ek_dataflash_config \
-+at91sam9263ek_dataflash_cs0_config \
-+at91sam9263ek_config : unconfig
-+ @if [ "$(findstring _nandflash,$@)" ] ; then \
-+ echo "#define CFG_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in NAND FLASH" ; \
-+ else \
-+ echo "#define CFG_USE_DATAFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
-+ fi;
-+ @$(MKCONFIG) -a at91sam9263ek arm arm926ejs at91sam9263ek atmel at91
-+
-+at91sam9rlek_nandflash_config \
-+at91sam9rlek_dataflash_config \
-+at91sam9rlek_dataflash_cs0_config \
-+at91sam9rlek_config : unconfig
-+ @if [ "$(findstring _nandflash,$@)" ] ; then \
-+ echo "#define CFG_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in NAND FLASH" ; \
-+ else \
-+ echo "#define CFG_USE_DATAFLASH 1" >>$(obj)include/config.h ; \
-+ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
-+ fi;
-+ @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91
-
- ########################################################################
- ## ARM Integrator boards - see doc/README-integrator for more info.
diff --git a/recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff b/recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff
deleted file mode 100644
index 73f955b69a..0000000000
--- a/recipes/u-boot/u-boot-git/Cortex-A8-erratum-725233.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
-Date: Wed, 24 Feb 2010 04:56:36 +0000 (-0500)
-Subject: OMAP3: workaround for ARM Cortex-A8 erratum 725233
-X-Git-Url: http://git.denx.de/?p=u-boot%2Fu-boot-arm.git;a=commitdiff_plain;h=42d97d08838d4e010d80c92ad1300c426320dd18
-
-OMAP3: workaround for ARM Cortex-A8 erratum 725233
-
-725233: PLD instructions executed with PLD data forwarding
-enabled can result in a processor deadlock
-
-This deadlock can happen when NEON load instructions are used together
-with cache preload instructions (PLD). The problematic conditions
-can be triggered in-the-wild by NEON optimized functions from pixman
-library (http://cgit.freedesktop.org/pixman), which perform dynamic
-adjustment of prefetch distance.
-
-The workaround disables PLD data forwarding by setting PLD_FWD bit
-in L2 Cache Auxiliary Control Register as recommended in ARM Cortex-A8
-errata list.
-
-The deadlock can only happen on r1pX revisions of Cortex-A8 (used in
-OMAP34xx/OMAP35xx). Performance impact of the workaround is practically
-non-existant.
-
-Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
-Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
----
-
-diff --git a/cpu/arm_cortexa8/omap3/board.c b/cpu/arm_cortexa8/omap3/board.c
-index 2aa69b3..7b78fa4 100644
---- a/cpu/arm_cortexa8/omap3/board.c
-+++ b/cpu/arm_cortexa8/omap3/board.c
-@@ -146,6 +146,12 @@ void setup_auxcr()
- __asm__ __volatile__("orr r0, r0, #1 << 5");
- /* SMI instruction to call ROM Code API */
- __asm__ __volatile__(".word 0xE1600070");
-+ /* Set PLD_FWD bit in L2AUXCR (Cortex-A8 erratum 725233 workaround) */
-+ __asm__ __volatile__("mov r12, #0x2");
-+ __asm__ __volatile__("mrc p15, 1, r0, c9, c0, 2");
-+ __asm__ __volatile__("orr r0, r0, #1 << 27");
-+ /* SMI instruction to call ROM Code API */
-+ __asm__ __volatile__(".word 0xE1600070");
- __asm__ __volatile__("mov r0, %0":"=r"(i));
- __asm__ __volatile__("mov r12, %0":"=r"(j));
- }
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0040-BeagleBoard-Check-for-ramdisk-on-boot.patch b/recipes/u-boot/u-boot-git/beagleboard/0040-BeagleBoard-Check-for-ramdisk-on-boot.patch
deleted file mode 100644
index c3ba38fc38..0000000000
--- a/recipes/u-boot/u-boot-git/beagleboard/0040-BeagleBoard-Check-for-ramdisk-on-boot.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From bfeec530621dd8b30d81917abe94c3c55eed0fba Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Wed, 2 Jun 2010 18:27:38 -0500
-Subject: [PATCH] BeagleBoard: Check for ramdisk on boot
-
-To simplify booting into various boot configurations, there is now a
-test for an existing ramdisk.gz image if loading the boot script fails.
-
-Adding additional boot arguments can also be done using optargs.
-
-(cherry picked from commit e96988f27cfa51f353ae4f678c59445deb161c5e)
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- include/configs/omap3_beagle.h | 29 ++++++++++++++++++++++++++---
- 1 files changed, 26 insertions(+), 3 deletions(-)
-
-diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
-index acca697..c2fc6ba 100644
---- a/include/configs/omap3_beagle.h
-+++ b/include/configs/omap3_beagle.h
-@@ -181,9 +181,12 @@
- #define CONFIG_BOOTDELAY 3
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "loadaddr=0x82000000\0" \
-+ "loadaddr=0x80200000\0" \
-+ "rdaddr=0x81600000\0" \
- "usbtty=cdc_acm\0" \
- "console=ttyS2,115200n8\0" \
-+ "optargs=\0" \
-+ "bootscr=boot.scr\0" \
- "mpurate=500\0" \
- "buddy=none\0" \
- "vram=12M\0" \
-@@ -195,6 +198,7 @@
- "nandroot=/dev/mtdblock4 rw\0" \
- "nandrootfstype=jffs2\0" \
- "mmcargs=setenv bootargs console=${console} " \
-+ "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
- "vram=${vram} " \
-@@ -203,6 +207,7 @@
- "root=${mmcroot} " \
- "rootfstype=${mmcrootfstype}\0" \
- "nandargs=setenv bootargs console=${console} " \
-+ "${optargs} " \
- "mpurate=${mpurate} " \
- "buddy=${buddy} "\
- "vram=${vram} " \
-@@ -210,7 +215,18 @@
- "omapdss.def_disp=${defaultdisplay} " \
- "root=${nandroot} " \
- "rootfstype=${nandrootfstype}\0" \
-- "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
-+ "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} ${bootscr}\0" \
-+ "ramargs=setenv bootargs console=${console} " \
-+ "${optargs} " \
-+ "mpurate=${mpurate} " \
-+ "buddy=${buddy} "\
-+ "vram=${vram} " \
-+ "omapfb.mode=dvi:${dvimode} " \
-+ "omapdss.def_disp=${defaultdisplay} " \
-+ "root=/dev/ram0 rw ramdisk_size=65536 " \
-+ "initrd=${rdaddr},64M " \
-+ "rootfstype=\0" \
-+ "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source ${loadaddr}\0" \
- "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
-@@ -221,6 +237,9 @@
- "run nandargs; " \
- "nand read ${loadaddr} 280000 400000; " \
- "bootm ${loadaddr}\0" \
-+ "ramboot=echo Booting from ramdisk ...; " \
-+ "run ramargs; " \
-+ "bootm ${loadaddr}\0" \
-
- #define CONFIG_BOOTCOMMAND \
- "if mmc init ${mmcdev}; then " \
-@@ -228,7 +247,11 @@
- "run bootscript; " \
- "else " \
- "if run loaduimage; then " \
-- "run mmcboot; " \
-+ "if run loadramdisk; then " \
-+ "run ramboot; " \
-+ "else " \
-+ "run mmcboot; " \
-+ "fi; " \
- "else run nandboot; " \
- "fi; " \
- "fi; " \
---
-1.5.6.4
-