Forum > Linux

Build FCP with WinCE crosscompiler from source under Linux

<< < (3/4) > >>

Thausand:
FYI: slackbuilds have binutil-arm 2.35, fpc 3.2.2, lazarus 4.2.

Thaddy:
Davo, FP is freepascal's text editor: fpc is build with fpc

Back on subject: fpcupdeluxe works, but for my old hp palmtop- yes the one I used ~25 years ago for a presentation -  now had to explicitly specify subarch armel. The HP runs on a ARMv4l and wince 6. That is not in my first post.
Anyway, also for newer devices fpcupdeluxe should work with the correct ARM family specified.

dbannon:
Hey, Thausand, a useful post, thanks.  That make it far easier for Milliuw to get started.

Hi Thaddy, I suspect that "fp" is the text editor, "FP" is a useful abbreviation for Free Pascal. IMHO. We are talking Unix here 'f' <> 'F'.

But a useful post anyway, I was trying to look up what chip a CE device might use. I too had one of those HP Pocket things but remembered very little else. So, its possibly something like :


--- Code: Bash  [+][-]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";}};} ---$> make clean crossinstall  FPC=fpc  OS_TARGET=wince CPU_TARGET=arm SUBARCH=armel  CROSSOPT=-XP????   INSTALL_PREFIX="$HOME/FPC/fpc-3.2.3
Where ???? is the prefix to binutils, eg riscv32-esp-elf-as is the name for my esp32 assembler, I need to put -XPriscv32-esp-elf- as the CROSSOPT.
 
And where  keep all my FP compilers (sig) in $HOME/bin/FPC. Milliuw may vary.

And, of course, assuming Thaddy is right about the CPU. WinCE apparently it also supported i386, never saw anything like that.

And that the repo installed fpc in on user's PATH, as it the repo installed binutils.

Milliuw, you are probably guessing by now, not a lot of action in the WinCE recently ....

Davo

Thausand:
Thank Thaddy for tell that arm-ce is need subarch (I not know is now need. I know can find when read make)

Thank dbannon for show command, is helpful. That is help milliuw and other that read post/thread.

Yes, is strange and win-ce have i386. Some time exist strange not many sell device :)

PascalDragon:

--- Quote from: Milliuw on October 31, 2025, 06:04:12 am ---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).
--- End quote ---

Building FPC for WinCE on Linux is easy, because FPC does not require any additional binutils for it, cause it defaults to its internal assembler and linker. So essentially you need an installation of FPC for your host system and the source of FPC (either the same version as your installed compiler or main).

Assuming you use FPC main and you haven't installed that yet, you first do this:


--- Code: ---make all FPMAKEOPT="-T <cpucount>" -j <cpucount>
make install INSTALL_PREFIX=/where/you/want/fpc
--- End code ---

(where <cpucount> is the number of your system's processor cores)

Afterwards (or if you use the source of 3.2.2) you then do the following in the source directory:


--- Code: ---make all FPMAKEOPT="-T <cpucount>" -j <cpucount> OS_TARGET=wince CPU_TARGET=arm
make install INSTALL_PREFIX=/where/you/want/fpc
--- End code ---

If you built a new main then you also need to make sure that your .fpc.cfg in your $HOME directory points to the correct paths and make sure that fpc in /where/you/want/fpc/bin/ and ppcrossarm in /where/you/want/fpc/lib/fpc/<version>/ are in your $PATH.

Then you can simply call fpc -Parm -Twince to compiler for arm-wince (same is also true for i386-wince, but arm-wince is the more likely target ;) )

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version