[fpc-pascal] Re: Could use some help with DOS cross compile

Reinier Olislagers reinierolislagers at gmail.com
Mon Oct 21 11:15:57 CEST 2013


On 20/10/2013 20:14, Nikolay Nikolov wrote:
> On 10/20/2013 08:12 PM, Nikolay Nikolov wrote:
>> On 10/20/2013 06:31 PM, Reinier Olislagers wrote:
> Ok, now I see you've put it in the fpc.cfg, but it could be that your
> compiler doesn't find the fpc.cfg or something similar. Try specifying
> -WmMedium on the command line when compiling and if you still get the
> same error, then probably you didn't recompile the RTL for medium model.

Thanks.
Decided to try with a batch file with some more cleanup etc [1].

With this I hit this problem compiling the test program:
Assembling test
test.pas(12,24) Warning: Object system.o not found, Linking may fail !
....(and so on for more .o files)
Error! E2008: cannot open system.o : No such file or directory
...(and so on)

I do notice a lot of .a files (system.a) etc in
C:\Development\fpctrunk\rtl\units\msdos but no DOS .o files there or
anywhere else....

[1] dostest.cmd, download via
https://bitbucket.org/reiniero/fpc_laz_patch_playground/downloads
contents:

setlocal
rem Memory model medium:
SET MEMMODEL="-WmMedium"
rem Memory model small/default:
rem SET MEMMODEL=
rem Trunk compiler:
SET OURCOMPILER=C:\Development\fpctrunk\bin\i386-win32\ppc386.exe
rem 2.6.2 compiler:
rem OURCOMPILER=C:\development\fpcbootstrap\ppc386.exe
set
path=C:\development\cross\bin\i8086-msdos;C:\Development\fpctrunk\bin\i386-win32
rem c:\development\fpcbootstrap

rem Cleanup:
cd /d c:\development\fpctrunk
rmdir /s /q c:\development\fpctrunk\units\msdos
del C:\Development\fpctrunk\bin\i386-win32\ppcross8086.exe
rem clean
C:\development\fpcbootstrap\make.exe "FPC=%OURCOMPILER%"
"--directory=C:\development\fpctrunk"
"INSTALL_PREFIX=C:\development\fpctrunk"
"CROSSBINDIR=C:\development\cross\bin\i8086-msdos" "UPXPROG=echo"
"COPYTREE=echo" "clean" "OS_TARGET=msdos" "CPU_TARGET=i8086"
"BINUTILSPREFIX=msdos-" "OPT=-CX -XXs" "CROSSOPT=-XPmsdos- %MEMMODEL%"

rem make all
C:\development\fpcbootstrap\make.exe "FPC=%OURCOMPILER%"
"--directory=C:\development\fpctrunk"
"INSTALL_PREFIX=C:\development\fpctrunk"
"CROSSBINDIR=C:\development\cross\bin\i8086-msdos" "UPXPROG=echo"
"COPYTREE=echo" "all" "OS_TARGET=msdos" "CPU_TARGET=i8086"
"BINUTILSPREFIX=msdos-" "OPT=-CX -XXs" "CROSSOPT=-XPmsdos- %MEMMODEL%"

rem make crossinstall
C:\development\fpcbootstrap\make.exe "FPC=%OURCOMPILER%"
"--directory=C:\development\fpctrunk"
"INSTALL_PREFIX=C:\development\fpctrunk"
"CROSSBINDIR=C:\development\cross\bin\i8086-msdos" "UPXPROG=echo"
"COPYTREE=echo" "crossinstall" "OS_TARGET=msdos" "CPU_TARGET=i8086"
"BINUTILSPREFIX=msdos-" "OPT=-CX -XXs" "CROSSOPT=-XPmsdos- %MEMMODEL%"
endlocal

rem test program; does not depend on fpc.cfg settings
C:\Development\fpctrunk\bin\i386-win32\fpc -Pi8086 -TMSDOS %MEMMODEL%
-XPmsdos- -FDC:\development\cross\bin\i8086-msdos\ -va  %* d:\cop\t\test.pas




More information about the fpc-pascal mailing list