Hi,
Dennis Spreen wrote 9 lines
I've tested the "new" targetandroid branch, and by using fpc 2.6.0 and
making a new fpcmake (taken from the targetandroid branch), I'm able to
compile for armv5:
make crossinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT="-CfSOFT
-Cparmv5t -mfloat-abi=soft" CROSSBINDIR=%ANDROID_BIN_ARM%
BINUTILSPREFIX=arm-linux-androideabi-
Works well. But if I'm using
That's what's mostly been tested and works as you found out.
CROSSOPT="-CfVFPV3 -Cparmv7 -mfloat-abi=hard"
Last time I tried compiling with -Cfvfpv2 or 3 the compiler did not cycle, so I could not test further. Has been some time, and this was native compilation.
I think -mfloat-abi does nothing, but maybe that changed recently - there have been many, many changes to the ARM support recently. Further I am actually surprised that there is hardfp support for fpc. If so, it is probably in a somewhat experimental state too.
Note that the second android fp ABI is still softfloat, although you can use the vfp registers. I.e. -Cvfpv3(d16) is the only switch you can use, in conjunction with -Cfsoft. (and add -Cparmv7).
Note that the other android fp ABI is still softfloat, although you can use the vfp registers. I.e. -Cvfpv3(d16) is the only switch you should use as fp related options.
Show quoted text 28 lines
it hangs during compilation of fcl-base:
start compiling package fcl-base for target arm-android.
Compiling fcl-base\BuildUnit_fcl_base.pp
Compiling .\fcl-base\src\ascii85.pp
Compiling .\fcl-base\src\avl_tree.pp
Compiling .\fcl-base\src\base64.pp
Compiling .\fcl-base\src\blowfish.pp
Compiling .\fcl-base\src\bufstream.pp
Compiling .\fcl-base\src\cachecls.pp
Compiling .\fcl-base\src\contnrs.pp
Compiling .\fcl-base\src\custapp.pp
Compiling .\fcl-base\src\eventlog.pp
Compiling .\fcl-base\src\fptimer.pp
Compiling .\fcl-base\src\gettext.pp
Compiling .\fcl-base\src\idea.pp
Compiling .\fcl-base\src\inifiles.pp
Compiling .\fcl-base\src\inicol.pp
Compiling .\fcl-base\src\iostream.pp
Compiling .\fcl-base\src\libtar.pp
Compiling .\fcl-base\src\maskutils.pp
Compiling .\fcl-base\src\pooledmm.pp
and now it hangs.
Does not make any difference if targetandroid branch compiler used for
the make crossinstall, or the current trunk\.
Any clues what I've missed there?
At least after removing -mfloat-abi=hard it compiles through here.
(make clean crosszipinstall OS_TARGET=android CPU_TARGET=arm CROSSOPT="-Cfvfpv3 -mfloat-abi=soft -Cparmv7" FPC=i386-linux-ppc386 BINUTILSPREFIX=arm-linux-androideabi-)
There is another recent compiler switch to pass options to the assembler (you want "-march=armv7a" to avoid some warnings) to the assembler, but atm I do not remember. Maybe somebody else can help?
Note that the targetandroid branch may not support these options yet. I will merge from trunk again soon'ish.
Thomas