Skip to content

Building AVRDUDE for macOS

mcuee edited this page Nov 26, 2022 · 38 revisions

Prerequisites

On macOS, you can normally install AVRDUDE through MacPorts (port install avrdude) or Homebrew (brew install avrdude).

The following things are needed to build AVRDUDE on MacOS:

  • A C compiler; either full XCode, or the XCode Command Line tools
  • cmake, hidapi, libftdi1, libusb, libelf

Note: GNU Readline may be required if you want best user experiences with terminal mode and pipes to work well. The recommendation as of now is to build with GNU Readline

The following two build systems are supported.

  1. Homebrew:
  2. MacPorts:

Build Instructions without GNU Readline (using macOS bundled libedit)

To build AVRDUDE for macOS using MacPorts, run the following commands:

port install cmake hidapi libftdi1 libusb libelf
git clone https://github.com/avrdudes/avrdude
cd avrdude
cmake -D CMAKE_C_FLAGS=-I/opt/local/include -D CMAKE_EXE_LINKER_FLAGS=-L/opt/local/lib -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_macos
cmake --build build_macos

To build AVRDUDE for macOS using Homebrew for macOS Intel, run the following commands:

brew install cmake hidapi libftdi libusb libelf
git clone https://github.com/avrdudes/avrdude
cd avrdude
cmake -D CMAKE_C_FLAGS=-I/usr/local/include -D CMAKE_EXE_LINKER_FLAGS=-L/usr/local/Cellar -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_macos
cmake --build build_macos

To build AVRDUDE for macOS using Homebrew for macOS Apple Silicon, run the following commands for macOS Intel:

brew install cmake hidapi libftdi libusb libelf
git clone https://github.com/avrdudes/avrdude
cd avrdude
cmake -D CMAKE_C_FLAGS=-I/opt/homebrew/include -D CMAKE_EXE_LINKER_FLAGS=-L/opt/homebrew/Cellar -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_macos
cmake --build build_macos

Build Instructions with GNU Readline

macOS ships libedit which is a replacement of GNU Readline but it may have some issues with some avrdude functions. If you encounter some issues with terminal mode or -c urclock programmer, you may want to install GNU Readline.

Homebrew:

brew install cmake hidapi libftdi libusb libelf
git clone https://github.com/avrdudes/avrdude
cd avrdude
(for macOS Intel)
cmake -D CMAKE_C_FLAGS=-I/usr/local/include -D CMAKE_EXE_LINKER_FLAGS=-L/usr/local/Cellar -D HAVE_LIBREADLINE:FILEPATH=/usr/local/opt/readline/lib/libreadline.dylib -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_macos
(for macOS Apple Silicon) 
cmake -D CMAKE_C_FLAGS=-I/opt/homebrew/include -D CMAKE_EXE_LINKER_FLAGS=-L/opt/homebrew/Cellar -D HAVE_LIBREADLINE:FILEPATH=/opt/homebrew/opt/readline/lib/libreadline.dylib -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_macos 
cmake --build build_macos

MacPorts:

port install cmake hidapi libftdi1 libusb libelf readline
git clone https://github.com/avrdudes/avrdude
cd avrdude
cmake -D CMAKE_C_FLAGS=-I/opt/local/include -D CMAKE_EXE_LINKER_FLAGS=-L/opt/local/lib -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_macos
cmake --build build_macos

Installation

To install a local build on your system for MacPorts, run the following commands:

sudo cmake --build build_macos --target install