<div dir="ltr"><div>The specific paths are configurable, so it depends on how you install the new compiler.  See <a href="https://wiki.freepascal.org/Cross_compiling#From_macOS_(Darwin)">https://wiki.freepascal.org/Cross_compiling#From_macOS_(Darwin)</a> for typical folder structure on a Mac.</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Aug 30, 2026 at 10:08 PM Stephen Holland <<a href="mailto:sholland@mac.com">sholland@mac.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr"></div><div dir="ltr">Thank you for the reply. I gather that since I will specify architecture that as a result of this process I will have a compiler that targets my OS on the desktop and I have the additional AVR target available with just the compiler directives. </div><div dir="ltr"><br></div><div dir="ltr">Is there documentation on where the subdirectories go so I can check on the install having gone well? </div><div dir="ltr"><br></div><div dir="ltr">I’ll try the install, check the -i option on fpc to see if it thinks it did the install and report back. </div><div dir="ltr"><br></div><div dir="ltr">Steve</div><div dir="ltr"><br><blockquote type="cite">On Aug 30, 2026, at 10:12 AM, Christo Crause <<a href="mailto:christo.crause@gmail.com" target="_blank">christo.crause@gmail.com</a>> wrote:</blockquote><br><blockquote type="cite">A good starting point: <a href="https://wiki.freepascal.org/AVR" target="_blank">https://wiki.freepascal.org/AVR</a></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div>Typically you need to use make and ensure you have the cross binutils for the target system available already.  If you want to compile for avr64du32 then specify SUBARCH=avrxmega2 as part of the make parameters.  Note that the makefile only builds one subarch at a time and by default put the compiled units in folders without a subarch differentiator.</div><div><br></div><div>Maybe the easiest option if you are new to fpc and cross compiling is to use the fpcupdeluxe tool to help configure and maintain lazarus and/or fpc for various different targets (especially if one isn't familiar with fiddling with the compiler's configuration file): <a href="https://github.com/LongDirtyAnimAlf/fpcupdeluxe" target="_blank">https://github.com/LongDirtyAnimAlf/fpcupdeluxe</a>.  There is a very long help thread for fpcupdeluxe here: <a href="https://forum.lazarus.freepascal.org/index.php/topic,34645.0.html" target="_blank">https://forum.lazarus.freepascal.org/index.php/topic,34645.0.html</a></div><div><br></div><div>In general you need a cross compiler per CPU target, so you need a native compiler for the host and then a cross compiler for say AVR. MSP430 is not supported by fpc.</div><div><br></div><div>Once the cross compiler is installed correctly, compile as follows (minimum command line options, assumes that binutils and RTL are in known to the compiler locations).:</div><div>$ fpc <span style="white-space:pre-wrap">-Tembedded </span><span style="white-space:pre-wrap">-Pavr -Wpavr64du32 hello.pas</span></div><div><span style="white-space:pre-wrap"></span></div><div><br></div><div>Please ask if you run into issues (this is almost guaranteed if it is your first time trying to build a cross compiler from fpc's development branch).  Good luck!</div></div></div>
</div></blockquote></div></blockquote></div></div>