Forum > Linux
Build FCP with WinCE crosscompiler from source under Linux
Milliuw:
Hello!
Well, the topic is self-explanatory, I am after any guide or information that enable me to compile WinCE software using Linux (most precisely I am running Slackware here).
I tried to follow the instruction at https://wiki.freepascal.org/Installing_the_Free_Pascal_Compiler#Compiling_the_FPC_source,_using_just_downloaded_FPC_3.2.2 and then I realized the "install.sh" does not exists in the FPC source tar archive. But it does exists in fpcbuild (which is not mentioned in there and I don't know where to find information about that so I am doing a lot of guesswork here) and I realized it was there after already having tried to compile the fpc-3.2.2-source directly. In fact I did got it to build but the resulting binaries does not contain the arm-wince.
I also tried to build using the distro scripts (Slackbuild) but it also does not contain WinCE.
I am currently trying to figure out how to use the fpcbuild but I would love to find some guide or info that shows me a sure way to do the compilling and after that be able to use the compiler on Lazarus the same way I was able to do on Windows (installed the IDE and the compiler and it worked out of the box).
I hope I am not breaking any rule with this post and thank you in advance for any bit of info I can use (or not).
Thaddy:
Download fpcupdeluxe for your linux. For example https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/v2.4.0f/fpcupdeluxe-x86_64-linux
Start fpcupdeluxe
// let it build fpc, or make sure it can be found. eg in /usr/bin/fpc or /usr/bin/ppcx64
Select cross tab
Select arm
Select wince
Build.
This is the most convenient way and will also load the tools and dependencies.
MarkMLl:
--- Quote from: Milliuw on October 31, 2025, 06:04:12 am ---Installing_the_Free_Pascal_Compiler#Compiling_the_FPC_source,_using_just_downloaded_FPC_3.2.2 and then I realized the "install.sh" does not exists in the FPC source tar archive.
--- End quote ---
Oh come /on/, I'd expect better than that from a Slackware user:
--- Code: Text [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---~/Downloads$ ls *fpc*fpc-3.2.2.x86_64-linux.tar lazarus-3.8-fpc-3.2.2-win32.exe ~/Downloads$ mkdir fpc-3.2.2.x86_64-linux ~/Downloads$ cd $_ ~/Downloads/fpc-3.2.2.x86_64-linux$ tar xf ../fpc-3.2.2.x86_64-linux.tar ~/Downloads/fpc-3.2.2.x86_64-linux$ lsfpc-3.2.2.x86_64-linux ~/Downloads/fpc-3.2.2.x86_64-linux$ cd * ~/Downloads/fpc-3.2.2.x86_64-linux/fpc-3.2.2.x86_64-linux$ lsbinary.x86_64-linux.tar demo.tar.gz doc-pdf.tar.gz install.sh
Now I usually work like that on a clean system and build FPC myself, followed by Lazarus, since most distreaux don't keep their distributed versions up to date... there's a few useful prerequisite libraries that they do generally supply.
However for your requirements I *strongly* suggest you follow Thaddy's advice.
MarkMLl
Milliuw:
FPC is a compiler, so my past education tell me to be careful with compilers and keep their complexity to a minimum. If you add third parties you end up depending upon more than one code basis and it can become an issue in the long run. So I tend to avoid that. I had seen mentions about deluxe before but I'd rather not use something external to do the job, or are everyone trying to imply that the source is not meant to build the same thing as the deluxe does?
Having a path to follow is what I am after I am not willing to take alternatives. Not intend to sound rude or aggressive though. I am sorry if it sounds like that.
About what MarkMLI said, I followed the download link provided at bottom of freepascal [ https://www.freepascal.org/download.html ] website "https://sourceforge.net/projects/freepascal/files/Source/3.2.2/" . Your source is different from the one I was trying to work out. I will check out the website with more care and look for a linux specific source.
Thank you both for the replies.
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.
Gustavo 'Gus' Carreno:
Hey Milliuw,
Just a quick note on fpcupdeluxe and the third party argument...
When ever someone mentions fpcupdeluxe, it's not because it does anything different than doing it manually. Sure, it does some small extra steps, but that's not the point.
The point is that you are presented with a one click solution for all three aspects of Free Pascal's features:
* Compiling the compiler
* Compiling any cross compiler
* Compiling LazarusStill allowing you to use make in case you're more comfortable with that.
Also, fpcupdeluxe gets the source from GitLab's repos, not archived files. Probably more fresh than such archives?! I dunno...
And if you're using the trunk/main branch, you get to update the bleeding edge as often as you want.
Other tagged releases do not allow such update. I usually create another folder to house all the current and past stable tags.
I kinda understand your reluctance. I, myself, have used Slackware from the around 1995 until about a decade or so ago when I decided that I was done with all the editing of files under /etc and just wanted my life to be easier. I'm now using Ubuntu, cuz I got lazy :D
In that spirit, using fpcupdeluxe is not a cop out on the mantra of Slackware. It's just "work smart, not hard" kinda thing, ya know...
Oh well, rant done. This is just my 2c, so take it with a pinch of salt :D
Cheers,
Gus
Navigation
[0] Message Index
[#] Next page