From 3a8af359f358541a87d190199cea324fc199ff4f Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sat, 18 Dec 2021 22:32:50 +0100 Subject: [PATCH] Update toplevel files. Integrate old INSTALL into README.md, both files had a lot of (potential) overlap. Add template for new entries in NEWS, targetting next release. Bump version number to 6.99-20211218 Tentatively, with the Github migration and all ongoing code restructuring, we aim for a version 7.0 release at some point in the future. --- INSTALL | 55 +--------------------------- NEWS | 22 +++++++++++- README.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++-- src/configure.ac | 2 +- 4 files changed, 114 insertions(+), 58 deletions(-) diff --git a/INSTALL b/INSTALL index e39787f8..971f2e3b 100644 --- a/INSTALL +++ b/INSTALL @@ -1,57 +1,4 @@ Installation Instructions ************************* -Use `./configure; make all; sudo make install' for Unix-like systems. - -Depending on your requirements, the following prerequisites are -needed: - -* libelf including header files (for directly reading ELF files) -* libusb 0.1 or 1.0 (or compatible), including header files -* libftdi or libftdi1 (for direct access to FTDI devices) -* libhidapi or libhid (for access to recent Atmel/Microchip dongles) - -If the header and/or library files for one of those are found in -non-default locations, you can add them to configure, e.g. - -`./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib' - -as an example for MacOS using Macports. MacOS Brew requires - -`./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/Cellar' - -instead. (LDFLAGS and CPPFLAGS can also be supplied as environment -variables to configure.) - -At the end of the configure script, a configuration summary is issued, -like this: - -Configuration summary: ----------------------- -DO HAVE libelf -DO HAVE libusb -DO HAVE libusb_1_0 -DO HAVE libftdi1 -DON'T HAVE libftdi -DON'T HAVE libhid -DO HAVE libhidapi -DO HAVE pthread -DISABLED doc -DISABLED parport -DISABLED linuxgpio -DISABLED linuxspi - -Make sure all the features you are interested in have been found. - -For BSD-like systems, using GNU make (gmake) is not mandatory but -appears to cause less troubles with the quite complex dependency graph -that might be produced by autoconf/automake. - -For Windows, right now, a toolset like MinGW is required to compile -AVRDUDE. - -Obviously, a working C compiler is needed. Tested compilers so far -include GCC (in various versions) and Clang. The compiler needs to -support (at least) C99 language level. For MacOS, either Xcode or the -(smaller) Xcode Command Line tools are needed, for Windows, some port -of GCC that supports generating native Windows executables. +See README.md. diff --git a/NEWS b/NEWS index 36a360f4..d743f081 100644 --- a/NEWS +++ b/NEWS @@ -2,9 +2,29 @@ $Id$ Approximate change log for AVRDUDE by version. -(For more detailed changes, see the ChangeLog file.) +(For detailed changes, see the version control system logs.) ---------------------------------------------------------------------- +Changes since version 6.4: + + * Major changes compared to the previous version: + + + * New devices supported: + + + * New programmers supported: + + + * Bugfixes: + + + * Patches: + + + * Internals: + + Version 6.4: * Major changes compared to the previous version: diff --git a/README.md b/README.md index e493bc69..616949db 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,14 @@ programming instruction to the AVR chip regardless of whether AVRDUDE implements that specific feature of a particular chip. AVRDUDE was originally written in 2003 by Brian S. Dean. Since 2006, AVRDUDE has been maintained by Jörg Wunsch, -with the help of [various contributors](https://github.com/avrdudes/avrdude/graphs/contributors). +with the help of [various contributors](./AUTHORS). The latest version of AVRDUDE is always available here:\ ## Getting AVRDUDE for Windows -To get AVRDUDE for Windows, install the latest version from the [Releases](./releases) page: +To get AVRDUDE for Windows, install the latest version from the [Releases](http://download.savannah.gnu.org/releases/avrdude/) page. Alternatively, you may [build AVRDUDE](#building-avrdude-for-windows) yourself from source. @@ -30,6 +30,12 @@ sudo apt-get install avrdude Alternatively, you may [build AVRDUDE](#building-avrdude-for-linux) yourself from source. +## Getting AVRDUDE for MacOS + +On MacOS, AVRDUDE can be installed through Mac Ports. + +Alternatively, you may [build AVRDUDE](#building-avrdude-for-macos) yourself from source. + ## Using AVRDUDE AVRDUDE is a command-line application. Run the command `avrdude` without any arguments for a list of options. @@ -50,6 +56,59 @@ avrdude -c arduino -P COM1 -b 115200 -p atmega328p -D -U flash:w:objs/blink.hex: There are many different programmers and options that may be required for the programming to succeed. For more information, refer to the [AVRDUDE documentation](#todo). +## General build instructions + +### Prerequisites + +Depending on your requirements, the following prerequisites are +needed: + +* libelf including header files (for directly reading ELF files) +* libusb 0.1 or 1.0 (or compatible), including header files +* libftdi or libftdi1 (for direct access to FTDI devices) +* libhidapi or libhid (for access to recent Atmel/Microchip dongles) + +### Building + +All source code is located in the `src/` subdirectory. Thus all +instructions are relative to that directory. + +Source-code releases contain an up-to-date configure script that +can be run to generate the required Makefiles: + +```console +cd src && ./configure && make && sudo make install +``` +At the end of the configure script, a configuration summary is issued, +like this: + +```console +Configuration summary: +---------------------- +DO HAVE libelf +DO HAVE libusb +DO HAVE libusb_1_0 +DO HAVE libftdi1 +DON'T HAVE libftdi +DON'T HAVE libhid +DO HAVE libhidapi +DO HAVE pthread +DISABLED doc +DISABLED parport +DISABLED linuxgpio +DISABLED linuxspi +``` + +Make sure all the features you are interested in have been found. + +Building the development source tree might possibly require to +re-generate the configure script using the autoconf/automake +tools. This can be done using the `bootstrap` script: + +```console +cd src && ./bootstrap +``` + ## Building AVRDUDE for Windows ### Windows Prerequisites @@ -95,6 +154,36 @@ cd doc make all ``` +## Building AVRDUDE for MacOS + +### Prerequisites + +The following things are needed to build AVRDUDE on MacOS: + +* a C compiler; either full XCode, or the XCode Command Line tools +* autoconf, automake, libtool, hidapi, libftdi1, libusb, libelf; + they can be installed e.g. from Mac Ports using +```console +port install autoconf automake \ + libtool hidapi libftdi1 libusb libelf +``` + +### Compilation + +Depending on the location of the prerequisites, the `CPPFLAGS` and +`LDFLAGS` variables need to be set accordingly. Mac Ports installs +everything under `/opt/local`, so use + +```console +./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib +``` + +MacOS Brew requires + +```console +./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/Cellar +``` + ## License AVRDUDE is licensed under the [GNU GPLv2](./COPYING). diff --git a/src/configure.ac b/src/configure.ac index fa204a72..f8b19f47 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -23,7 +23,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.60) -AC_INIT(avrdude, 6.4, avrdude-dev@nongnu.org) +AC_INIT(avrdude, 6.99-20211218, avrdude-dev@nongnu.org) AC_CANONICAL_BUILD AC_CANONICAL_HOST