https://bugs.winehq.org/show_bug.cgi?id=52131
Eric eric.wheez@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |WORKSFORME
--- Comment #32 from Eric eric.wheez@gmail.com --- Thank you Bent for the cross-compiled DLL of Alex's Delphi code!
(I haven't actually tested small frequencies yet to see if the crash is gone, but I'll re-open if needed). This cross-compiled DLL was later rolled-into the official Winlink Express install. I'll close this issue for now. -----------------
Bent also documented how to cross-compiling the DLL on this groups.io: https://groups.io/g/VARA-MODEM/files/Wine/Setup%20Winlink%20Express%20and%20...
Compiling the DLL
This part is more for reference and if someone else also want to do it for themselves. You may download the source code from https://github.com/VE3NEA/DVOACAP. It is written in Pascal by VE3NEA – Alex. I use Lazarus and FreePascal a lot (https://www.lazarus-ide.org/ and https://www.freepascal.org/), so this was a positive discovery.
Since I am running Linux, the first thing is to build a cross-compiler for FreePascal targeting 32-bit Windows. I have FreePascal version 3.2.2 installed, and this I used as given in the following description.
``` # Navigate to the fpc source folder. cd /usr/share/fpcsrc/3.2.2 # Compile the cross-compiler. sudo make clean all OS_TARGET=win32 CPU_TARGET=i386
# Install the cross-compiler. sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 INSTALL_PREFIX=/usr
# Using Lazarus, link the cross-compiler and place the link where Lazarus # can see it. sudo ln -sf /usr/lib/fpc/3.2.2/ppcross386 /usr/bin/ppcross386 ```
As you can see, the cross-compiler is named “ppcross386”.
Presuming you have downloaded the source code, you move to that directory. In my installation that is:
``` username@machinename:~$ cd ~/Pascal/Dvoa/DvoaDll # Cross-compile the DLL username@machinename:~/Pascal/Dvoa/DVoaDll$ ppcross386 -MDELPHI -B -Twin32 - fPIC dvoa.dpr ```
These options tells FreePascal to use Delphi mode, Windows 32 bit and position independent code.