Forum > Linux
Build FCP with WinCE crosscompiler from source under Linux
MarkMLl:
--- Quote from: Gustavo 'Gus' Carreno on October 31, 2025, 07:03:22 pm ---Oh well, rant done. This is just my 2c, so take it with a pinch of salt :D
--- End quote ---
Don't worry Gus. OP complained that he couldn't see install.sh, I pointed out his mistake (and did my best to be good-natured), he didn't like it, I'm done.
I've been building and using FPC+Lazarus for around 20 years, and continue with my original (and pretty-much-standard) technique for self-hosted systems. But for cross compilers, FpcUpD adds sufficient value that only a fool would ignore it.
MarkMLl
Thausand:
--- Quote from: Milliuw on October 31, 2025, 06:04:12 am ---then I realized the "install.sh" does not exists in the FPC source tar archive.
--- End quote ---
Wiki you quote maybe have better read. It no tell download source tar archive then find install.sh. It tell download fpc 3.2.2 tar then have call install.sh
--- Quote from: Milliuw on October 31, 2025, 04:39:44 pm ---Edit: I realized what you did now, but that is not the source that is the binary version and what I am trying to accomplish it building the compiler from source itself.
The source does not include the file the wiki mentions, it is contained in another tar which is not documented anywhere I could see.
--- End quote ---
Have read: https://wiki.freepascal.org/buildfaq (it out date but have interest read and learn how work build FPC).
normal (bootstrap) compiler:
wget https://sourceforge.net/projects/freepascal/files/Linux/3.2.2/fpc-3.2.2.x86_64-linux.tar
tar -xvf fpc-3.2.2.x86_64-linux.tar
cd fpc-3.2.2.x86_64-linux
ls
binary.x86_64-linux.tar demo.tar.gz doc-pdf.tar.gz install.sh
Now wiki tell run install.sh. When wiki write, make do it :)
Then can have cross-compiler build and use source. Download source, extract then read wiki below for better understand:
Windows generic cross build information: https://wiki.freepascal.org/Cross_compiling_for_Windows_under_Linux
wince arm: https://wiki.freepascal.org/arm-wince
wince arm cross build: https://wiki.freepascal.org/arm-wince#Step_2:_Building_the_cross_compiler
wince i386: https://wiki.freepascal.org/i386-wince
wince i386 build: https://wiki.freepascal.org/i386-wince#Setup_Lazarus/FPC_for_compiling_i386-wince
Have read wiki ? Then no work ? Then make tell what is not work. When tell please no make invent instruction because that is confuse (you and us).
install.sh is exist then install for make bootstrap.
No people make bootstrap self and use source. It torture :) (can do if want then need more understand how work process bootstrap (selfhost) compiler (not alone FPC).
People make use FPCUpDeluxe for make easy. Build (cross)compiler boring. Then have smaller boring and speed up compile and use script. Then want more target and make better script. When finish for all target and host then you have make copy FPCUpDeluxe :D
Build compile manual good for know how.
Gustavo 'Gus' Carreno:
Hey Mark,
--- Quote from: MarkMLl on October 31, 2025, 08:35:52 pm ---Don't worry Gus. OP complained that he couldn't see install.sh, I pointed out his mistake (and did my best to be good-natured), he didn't like it, I'm done.
--- End quote ---
Kewl, kewl!! Not worrying then ;)
And I feel ya !!
Cheers,
Gus
n7800:
It would be better to correct the FPC name in the topic title.
dbannon:
This thread is looking messy, I guess I should add my messiness too. Milliuw, maybe you are missing a few points :
[x] FPC is built using FP. So, to build a FP compiler, first, you must have a working FP compiler.
[x] So, as a starting point, you need a binary install of FPC (or part thereof), and generally that means the previous version to the one you want.
[x] If your slackware has a FPC in its repo, it likely to be FPC3.2.2 and thats an ideal one to build either the current FPC323rc1 or main (ie, trunk, the dev branch etc). Fun Fact : fpc-3.2.2 will NOT build fpc-3.2.2.
[x] If there is no repo one, or its older than 3.2.2, download a tarball install of 3.2.2 (as Mark mentioned) and install it in your own disk area making it easy to remove.
You would normally get a binary install installed then download the newer source, build first a normal compiler and the cross-compile equivalent from that source. If diskspace is an issue, you can now delete the original install.
If you use your repo (and it resolves dependencies, I have not used Slackware since it was downloadable to 16 or so floppy disks) then the dependencies will be suitable for you to build the standard compiler but you will need at least binutils for WinCE to make the cross compiler.
You must see the separate, sequential steps here -
[x] Get a working "boot compiler" one way or another
[x] Download and extract the desired FPC source.
[x] Install binutils plus ....
[x] Build the std compile (that targets you current OS and hardware)
[x] Install binutils for WinCE, maybe some libraries ?
[x] Build the cross compiler.
Incidentally, a quick and uninformed look leads me to conclude that Slackware does not ship FPC nor a "binutils for Arm", as that old bloke said "to get to where you want to go, you really should not start from here."
I personally don't use fpcupdeluxe because I like to understand my installs. But the above sure makes it sound attractive !
Davo
Navigation
[0] Message Index
[#] Next page
[*] Previous page