Hello Didrik, > 1) Trying to use the compiled version in avrdude-6.1-mingw32.zip, I > get an error about a missing libusb0.dll. I do know how to install > libusb.
You get it from the libusb-win32 project at SourceForge.net. > That is not the purpose of this request. Rather, I'm wondering > if it would perhaps be possible to conditionally link the libusb dll > using LoadLibrary and similar functions, so those who want to use > avrdude without USB support (for example for a serial only, or > parallel port programmer) It might be possible to change it that way. But let's face it, how many recent computer systems are around there that do offer parallel or serial ports, and how many are there that offer only USB? The Win32 binary is simply provided as a courtesy to Windows users who often have (mental :) problems compiling something theirselves; as such, it aims to cover the most predominant system configurations. The primary focus of an opensource project is always to provide a source code distribution, and leave it to others to ship binaries in some way (possibly as part of some other packaging/bundling system for their OS). Dynamically loading libusb might have one other point though: some of the USB programmers can be accessed without libusb, through some kind of HID device access. By now, this only affects a few, but with Atmel going to CMSIS-DAP compatible devices on their official tools lately (embedded debugger EDBG on devkits; JTAGICE3 with firmware version 3.x; new Atmel-ICE dongle), this is certainly going to attract a lot more interest. > 2) I also gave compiling avrdude without libusb installed a try. Yes, it has been reported before. There's a bug in AVRDUDE 6.1 that prevents compiling without the presence of libusb. > Where and how does one submit patches? Please, attach it to the open bug report: https://savannah.nongnu.org/bugs/?41854 > * For the binary (Windows) distribution, load the dll file > conditionally, as discussed above. We won't do anything just for a single supported OS. If we do, we'll do it for all supported OSes. > * For the source distribution, perhaps exclude non-supported > programming methods at build time instead of compiling them in as > stubs that generate an error at runtime. Is there an infrastructural > reason why this is done? To make avrdude.conf generation easier/less > error-throwing-prone? Yes, it is. Albeit there are counter-examples, too. Parallel-port programmers are indeed not generated into avrdude.conf if AVRDUDE doesn't have parallel-port support on a particular OS (like, OSX for example, which simply never ran on hardware that offers a parellel port). However, it's probably much easier to tell the user his software has been compiled without USB support, rather than yelling at them, telling their programmer were simply not present in avrdude.conf. Finally, for the JTAGICEmkII, it could be accessed through both, RS-232 as well as USB. -- cheers, Joerg .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-) _______________________________________________ avrdude-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/avrdude-dev
