Skip to content

General Build Instructions

mcuee edited this page Jan 10, 2024 · 4 revisions

AVRDUDE uses CMake for building from source.

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)
  • CMake version 3.14 or later

Configuration Options

When building AVRDUDE, you have a few customizations options to choose from that enable additional programmers in AVRDUDE:

  • HAVE_LINUXGPIO - Enable Linux sysfs GPIO support (default OFF)
  • HAVE_LINUXSPI - Enable Linux SPI support (default OFF)
  • HAVE_PARPORT - Enable parallel port support (default OFF)

For a complete list of options, type cmake -LH. You can also use the CMake GUI to configure and build the project.

When you configure the project using CMake, use the -D option to customize a configuration option.

Example

cmake -D CMAKE_BUILD_TYPE=Release -D HAVE_LINUXGPIO=ON -B build_linux

Building

Example

cmake --build build_linux

At the end of the CMake configuration, 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
DISABLED   doc
DISABLED   parport
DISABLED   linuxgpio
DISABLED   linuxspi

Make sure all the features you are interested in have been found.

Alternative configure and build option using build.sh (not working for MSVC build)

./build.sh