On 2020-09-09 14:43, Bo Berglund via fpc-pascal wrote:
On Wed, 09 Sep 2020 00:03:29 +0200, Bo Berglund via fpc-pascal
<fpc-pascal@lists.freepascal.org> wrote:

No, it is on an RPi4 so it is ArmV7.
In fact I have been told on the RPi forum RPi4 is Armv8
Armv6: Pi0, PiB, PiA+
Armv7: Pi2Bv1.1
Armv8: Pi2Bv1.2, Pi3, Pi4

But they could not advice how to use a newer RPi (higher numbered arm)
to build an application that could run on earlier arm versions such as
on the RPiZero.
They referred back here.


Anyway I used the Fpc/Lazarus installation I had done on the PiZero
and opened the test project as checked out from svn.
It could be built on the RPiZero and when I ran it (started from a
terminal rather than from Lazarus) it worked as it should.

So:
If I install Fpc and Lazarus from sources as I always do and specify
ArmV6 in the process on the RPiZero, then it will make an application
that works fine there.

And when I transfer it to the RPi4 (using scp) it works fine also
there...

Question:
Can I make a parallel installation of FPC and Lazarus on my RPi4 which
is using the Armv6 settings during the make and thus get a system that
will produce compatible programs?

Or do I have to scrap the existing installation altogether and then
reinstall using Armv6 setrtings?

You don't need a different installation (although that might be an option as well), but you do need a different build of the RTL and packages. The concept of sub-architectures is supposed to help with this, but I don't know how far is the support in fp(c)make and the compiler. It may be done manually without any special support e.g. by renaming the directory with original RTL and packages, building the RTL and packages again with the required parameters and possibly renaming that one as well. Once you're finished with that, you may want to either modify your fp.cfg so that the paths to units, etc., are IFDEFed there, or you may remove all (sub)architecture dependent settings from the default configuration file, place these settings to two other configuration files containing settings for particular (sub)architectures and always specify the '@' option with the right configuration file when invoking the compiler.

Tomas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to