Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2010-06

native fpc on arm

10 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Den Jean

Hi,

I noticed this change log on fpc svn:
florian 15472
* don't build a native compiler for embedded targets I sometimes build a native fpc on N900,
(sometimes because it takes some time)
Will this affect me if I do a 'svn up fpc' on the N900 ? When is a target considered embedded by the makefile?

native build cmd line is:
make clean all install PREFIX=/opt OPT='-gl -dFPC_ARMEL'

kind regards,

Den Jean

Jonas Maebe
to Den Jean
Den Jean wrote 6 lines
I noticed this change log on fpc svn: florian 15472 * don't build a native compiler for embedded targets I sometimes build a native fpc on N900, (sometimes because it takes some time) Will this affect me if I do a 'svn up fpc' on the N900 ?

No.

When is a target considered embedded by the makefile?

When the target "operating system" is called "embedded". Linux embedded, so you are not affected.

Jonas

Florian Klämpfl
to Den Jean: I noticed this change log on fpc svn: florian 15472 * don't build a native compiler for…
Show quoted text 9 lines
Hi, I noticed this change log on fpc svn: florian 15472 * don't build a native compiler for embedded targets I sometimes build a native fpc on N900, (sometimes because it takes some time) Will this affect me if I do a 'svn up fpc' on the N900 ? When is a target considered embedded by the makefile?

Devices without any operating system, i.e. mainly microcontrollers.

Den Jean
to Florian Klämpfl
Florian Klämpfl wrote
Devices without any operating system, i.e. mainly microcontrollers.

thx Jonas and Florian, updating and compiling now.

fpc on arm related question,

when installing fpc, I need to install to /opt,
because /opt resides on a partition with enough free space. (This is normal on N900, it is called optify, do not know why /opt/bin is not in path.)

Then I need to symlink from /opt/bin/ to /usr/bin/ For now I just symlinked all fpc created files with a long script, but to shorten any upcoming instructions, which ones are needed to just compile fpc and lazarus. I know h2pas is not needed, but which ones are used for
compiling fpc and lazarus. What is 'mkarmins' (creates some files and gives runtime error)

Files linked now:
/opt/lib/fpc/2.5.1/ppcarm
and /opt/bin:

Files = [
'bin2obj',
'chmcmd',
'chmls',
'data2inc',
'delp',
'fd2pascal',
'fp',
'fpc',
'fpclasschart',
'fpcmake',
'fpcmkcfg',
'fpcres',
'fpcsubst',
'fpdoc',
'fppkg',
'fprcp',
'grab_vcsa',
'h2pas',
'h2paspp',
'makeskel',
'mkarmins',
'mkx86ins',
'plex',
'postw32',
'ppdep',
'ppudump',
'ppufiles',
'ppumove',
'ptop',
'pyacc',
'rmcvsdir',
'rstconv',
'unitdiff'
]

Florian Klämpfl
to Den Jean
Show quoted text 11 lines
On Tuesday 22 June 2010 22:27:59 Florian Klämpfl wrote: > Devices without any operating system, i.e. mainly microcontrollers. > thx Jonas and Florian, updating and compiling now. fpc on arm related question, when installing fpc, I need to install to /opt, because /opt resides on a partition with enough free space. (This is normal on N900, it is called optify, do not know why /opt/bin is not in path.)

Just insert /opt/bin into the path?

Show quoted text 8 lines
Then I need to symlink from /opt/bin/ to /usr/bin/ For now I just symlinked all fpc created files with a long script, but to shorten any upcoming instructions, which ones are needed to just compile fpc and lazarus. I know h2pas is not needed, but which ones are used for compiling fpc and lazarus. What is 'mkarmins' (creates some files and gives runtime error)

It is only usefull for compiler development, it creates instruction tables for the yet unsed internal arm assembler.

Den Jean
to Florian Klämpfl
Florian Klämpfl wrote 5 lines
> (This is normal on N900, it is called optify, do not know > why /opt/bin is not in path.) Just insert /opt/bin into the path?

this would mean editing a system file
like /etc/profile, I'd like to avoid that
in instructions, as apt-get upgrade might
not apply updates to modified system config
files as /etc/profile (I am not sure though, I am more familiar with urpmi that saves config files to *.new ->
meaning updates to config files are lost in order to preserve own modifications.)

I you look at the /usr/bin after a clean reflash,
it is full of links to several opt directories, apparently symlinking is the proper way.

is just ppcarm, fpc, fpcmake,fpcres enough ?

Den Jean
to Den Jean: thx Jonas and Florian, updating and compiling now. when installing fpc, I need to install…
Den Jean wrote
are needed to just compile fpc and lazarus. I know

when trying to compile lazarus using native arm on N900, I get the errors below. There is no file lazarus.or (strange extension ??)

I manually tried some tests from svn/fpc/tests/test/units/system: (tres.pp,tres2.pp,tres2ext.pp,tres3.pp,tres3ext.pp,tres4.pp,tresext.pp) and checked the return value, all tests succeeded.

Someone any idea ?

Compiling idecmdline.pas
Assembling idecmdline
Assembling main
Assembling lazarus
Compiling resource ../units/arm-linux/lazarus.or
Error: Wrong token symbol: INLINE expected but Left found (at 1,2339, stream offset 0000002D)
lazarus.pp(123,42) Error: Error while compiling resources lazarus.pp(123,42) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted
make[2]: *** [lazarus] Error 1
make[2]: Leaving directory `/media/mmc1/svn/lazarus/ide' make[1]: *** [ide] Error 2
make[1]: Leaving directory `/media/mmc1/svn/lazarus/ide' make: *** [ide] Error 2

Florian Klaempfl
to Den Jean: this would mean editing a system file like /etc/profile, I'd like to avoid that in…
Show quoted text 19 lines
On Tuesday 22 June 2010 23:24:28 Florian Klämpfl wrote: >> (This is normal on N900, it is called optify, do not know >> why /opt/bin is not in path.) > Just insert /opt/bin into the path? > this would mean editing a system file like /etc/profile, I'd like to avoid that in instructions, as apt-get upgrade might not apply updates to modified system config files as /etc/profile (I am not sure though, I am more familiar with urpmi that saves config files to *.new -> meaning updates to config files are lost in order to preserve own modifications.) I you look at the /usr/bin after a clean reflash, it is full of links to several opt directories, apparently symlinking is the proper way. is just ppcarm, fpc, fpcmake,fpcres enough ?

Does it hurt to have more?

Den Jean
to Florian Klaempfl
Florian Klaempfl wrote
> is just ppcarm, fpc, fpcmake,fpcres enough ? Does it hurt to have more?

not technically, as mentioned above I would
prefer not to have to instruct to create too many links.

Den Jean
to Den Jean: when trying to compile lazarus using native arm on N900, I get the errors below. There is…
Den Jean wrote
when trying to compile lazarus using native arm on N900, I get the errors below. There is no file lazarus.or (strange extension ??)

on i386 the file lazarus.or exists after compilation, copying it to arm device lazarus svn does not help manually compiling fpcres lazarus.res to lazarus.or works (well I get a lazarus.or different from the i386 svn) continuing compilation with a manually created lazarus.or does not work.

any idea would be welcome :-)