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 (eg: shell pipes for terminal mode, or -c urclock -t 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