I intend to add a number of Freepascal cross-compilers. I will start with the ones, which do not require external binutils, namely, x86_64-win64, i386-win32, i386-wince and arm-wince. But finally, I will also aim for a wider range of platforms out of the total range of around 50. What is the best way to implement this? Are subports or variants the way to implement this? Is it possible to do the subports or variants in a loop over the OS-targets? i386 has the longest list of OS-targets with darwin, freebsd, go32v2, linux, nativent, netbsd, solaris, win32, wince and a loop over the OS-targets would be elegant. The loop variable OS-target is used for dependencies on binutils, the make and the make install commands.