* gnu/packages/avrdude.scm: New file * gnu-system.am (GNU_SYSTEM_MODULES): Add avrdude.scm * gnu/packages/patches/avrdude-fix-libusb.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
		
			
				
	
	
		
			256 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			256 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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 */
 |