Avrdude cannot build with our version of libusb. This patch fixes that. See http://savannah.nongnu.org/bugs/?41854 diff --git a/dfu.c b/dfu.c index 7d349bc..0f80440 100644 --- a/dfu.c +++ b/dfu.c @@ -36,13 +36,14 @@ #ifndef HAVE_LIBUSB -int dfu_open(struct dfu_dev *dfu, char *port_name) { +struct dfu_dev * dfu_open(char *port_spec) { fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", progname); - return -1; + return NULL; } -int dfu_init(struct dfu_dev *dfu, unsigned short usb_pid) { +int dfu_init(struct dfu_dev *dfu, + unsigned short vid, unsigned short pid) { return -1; } diff --git a/flip1.c b/flip1.c index b891d80..0959996 100644 --- a/flip1.c +++ b/flip1.c @@ -164,6 +164,8 @@ static void flip1_setup(PROGRAMMER * pgm); static void flip1_teardown(PROGRAMMER * pgm); /* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */ +#ifdef HAVE_LIBUSB +// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB static void flip1_show_info(struct flip1 *flip1); @@ -177,6 +179,8 @@ static const char * flip1_mem_unit_str(enum flip1_mem_unit mem_unit); static int flip1_set_mem_page(struct dfu_dev *dfu, unsigned short page_addr); static enum flip1_mem_unit flip1_mem_unit(const char *name); +#endif /* HAVE_LIBUSB */ + /* THE INITPGM FUNCTION DEFINITIONS */ void flip1_initpgm(PROGRAMMER *pgm) @@ -201,6 +205,7 @@ void flip1_initpgm(PROGRAMMER *pgm) pgm->teardown = flip1_teardown; } +#ifdef HAVE_LIBUSB /* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ int flip1_open(PROGRAMMER *pgm, char *port_spec) @@ -876,3 +881,82 @@ enum flip1_mem_unit flip1_mem_unit(const char *name) { return FLIP1_MEM_UNIT_EEPROM; return FLIP1_MEM_UNIT_UNKNOWN; } +#else /* HAVE_LIBUSB */ +// Dummy functions +int flip1_open(PROGRAMMER *pgm, char *port_spec) +{ + fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", + progname); + return NULL; +} + +int flip1_initialize(PROGRAMMER* pgm, AVRPART *part) +{ + return -1; +} + +void flip1_close(PROGRAMMER* pgm) +{ +} + +void flip1_enable(PROGRAMMER* pgm) +{ +} + +void flip1_disable(PROGRAMMER* pgm) +{ +} + +void flip1_display(PROGRAMMER* pgm, const char *prefix) +{ +} + +int flip1_program_enable(PROGRAMMER* pgm, AVRPART *part) +{ + return -1; +} + +int flip1_chip_erase(PROGRAMMER* pgm, AVRPART *part) +{ + return -1; +} + +int flip1_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned long addr, unsigned char *value) +{ + return -1; +} + +int flip1_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned long addr, unsigned char value) +{ + return -1; +} + +int flip1_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned int page_size, unsigned int addr, unsigned int n_bytes) +{ + return -1; +} + +int flip1_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned int page_size, unsigned int addr, unsigned int n_bytes) +{ + return -1; +} + +int flip1_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem) +{ + return -1; +} + +void flip1_setup(PROGRAMMER * pgm) +{ +} + +void flip1_teardown(PROGRAMMER * pgm) +{ +} + + +#endif /* HAVE_LIBUSB */ \ No newline at end of file diff --git a/flip2.c b/flip2.c index ed8e996..16c4bf8 100644 --- a/flip2.c +++ b/flip2.c @@ -151,6 +151,8 @@ static void flip2_setup(PROGRAMMER * pgm); static void flip2_teardown(PROGRAMMER * pgm); /* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */ +#ifdef HAVE_LIBUSB +// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB static void flip2_show_info(struct flip2 *flip2); @@ -171,6 +173,8 @@ static const char * flip2_status_str(const struct dfu_status *status); static const char * flip2_mem_unit_str(enum flip2_mem_unit mem_unit); static enum flip2_mem_unit flip2_mem_unit(const char *name); +#endif /* HAVE_LIBUSB */ + /* THE INITPGM FUNCTION DEFINITIONS */ void flip2_initpgm(PROGRAMMER *pgm) @@ -195,6 +199,7 @@ void flip2_initpgm(PROGRAMMER *pgm) pgm->teardown = flip2_teardown; } +#ifdef HAVE_LIBUSB /* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ int flip2_open(PROGRAMMER *pgm, char *port_spec) @@ -922,3 +927,85 @@ enum flip2_mem_unit flip2_mem_unit(const char *name) { return FLIP2_MEM_UNIT_SIGNATURE; return FLIP2_MEM_UNIT_UNKNOWN; } + +#else /* HAVE_LIBUSB */ + +/* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ + +int flip2_open(PROGRAMMER *pgm, char *port_spec) +{ + fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", + progname); + return NULL; +} + +int flip2_initialize(PROGRAMMER* pgm, AVRPART *part) +{ + return -1; +} + +void flip2_close(PROGRAMMER* pgm) +{ +} + +void flip2_enable(PROGRAMMER* pgm) +{ +} + +void flip2_disable(PROGRAMMER* pgm) +{ +} + +void flip2_display(PROGRAMMER* pgm, const char *prefix) +{ +} + +int flip2_program_enable(PROGRAMMER* pgm, AVRPART *part) +{ + return -1; +} + +int flip2_chip_erase(PROGRAMMER* pgm, AVRPART *part) +{ + return -1; +} + +int flip2_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned long addr, unsigned char *value) +{ + return -1; +} + +int flip2_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned long addr, unsigned char value) +{ + return -1; +} + +int flip2_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned int page_size, unsigned int addr, unsigned int n_bytes) +{ + return -1; +} + +int flip2_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, + unsigned int page_size, unsigned int addr, unsigned int n_bytes) +{ + return -1; +} + +int flip2_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem) +{ + return -1; +} + +void flip2_setup(PROGRAMMER * pgm) +{ +} + +void flip2_teardown(PROGRAMMER * pgm) +{ +} + + +#endif /* HAVE_LIBUSB */