Упорно неделю наверное собирал крос-компилятор для avr. Проблема в том что для mac m1 avr-studio есть, ее можно скачать, но при попытке поставить пакеты (например с компилятором) скачивается естественно версия x86_64. У меня нет rosetta (по принципиальным и некоторым практическим причинам), поэтому пришлось собирать gcc вручную. Естественно получилось. В моем случае компиляция gcc заняла чистого времени 45 минут.
make BOOT_LDFLAGS=-Wl,-headerpad_max_install_names 1855.47s user 546.72s system 87% cpu 45:32.02 total
Порядок действий.
- Перед сборкой gcc надо собрать binutils
скачиваем, в моем случае binutils-2.44.tar.bz2, распаковываем.
желательно сделать директорию для сборки и из нее запускаем configure скрипт
cd binutils-2.44
mkdir build
cd build
../configure --prefix=/usr/local/avr-gcc --target=avr --enable-multilib --disable-libssp
make
make check
sudo make install
- Собираем зависимости
gmp, mpfr, mpc, isl (0.14 в моем случае для gcc-14)
тут все просто, дополнительно останавливаться не буду.
- Собираем gcc
скачиваем или клоникуем из git(hub), собираем в отдельной директории
git clone git://gcc.gnu.org/git/gcc.git
cd git
git checkout remotes/origin/releases/gcc-14
mkdir build
cd build
../configure --prefix=/usr/local/avr-gcc --target=avr --enable-languages=c,c++ --disable-libssp --with-isl=/usr/local/avr-gcc --disable-nls --disable-shared --disable-threads --disable-libgomp --with-dwarf2 --with-avrlibc --with-system-zlib
time make BOOT_LDFLAGS=-Wl,-headerpad_max_install_names
make check
sudo make install