Второй день бьюсь над этой задачей. Данных по сборке кросс-компилятора, который работает под линуксом и собирает виндовые бинарники, предостаточно, и даже вполне подробный туториал в доках mingw-w64 есть, но вот адаптировать его под сборку тулчейна именно для винды у меня не получается.
Вот примерный список команд для сборки, которые я взял из туториала по сборке кросс-компилятора (https://pastebin.com/9rtrrkmw), немного изменив:
export WD=$HOME/mingw-build
export TGT=i686-w64-mingw32
cd ~/binutils/tmp
../configure --prefix=$WD --with-sysroot=$WD --host=$TGT --disable-multilib --disable-nls
make && make install
cd ~/mingw/mingw-w64-headers/tmp
../configure --prefix=$WD/$TGT --host=$TGT
make install
ln -s $WD/{$TGT,mingw}
(здесь копируем исходники gmp, mpc и mpfr в ~/gcc)
cd ~/gcc/tmp
../configure --prefix=$WD --with-sysroot=$WD --host=$TGT --disable-multilib --disable-nls --enable-languages=c,c++
make all-gcc && make install-gcc
cd ~/mingw/mingw-w64-crt
../configure --prefix=$WD/$TGT --with-sysroot=$WD --host=$TGT
make && make install
cd ~/gcc/tmp
make
Ошибка вылетает на последнем make:
checking how to run the C preprocessor... /lib/cpp
configure: error: in `/home/alpha/work/tmp/gcc-7.2.0/bin/i686-w64-mingw32/libgcc':
configure: error: C preprocessor "/lib/cpp" fails sanity check
Почему /lib/cpp, а не что-то более подходящее? Не тот тулчейн? Или я этот умудрился запороть? Или я вообще не в ту сторону копаю? Тапками не бейтесь, вручную мало что собираю, а уж gcc тем более. Чисто из интереса решил попробовать.
Исходники последние (gcc 7.2.0, binutils 2.1.19, mingw-w64 5.0.3 ЕМНИП), кросс тоже последний из арчевского репозитория.