FPC 2.6.4 released! (Announce)
> Anyways, it actually seems that yesterday's i8086 (WmTiny) snapshot
> "mostly" works okay under HX (DPMILDR=128). I say "mostly" because I didn't
> fully automate the testing process (due to aforementioned unincorporated
> kludges), nor yet compare binaries' md5sum made atop proper modern Windows.
> So I'll have to try testing more properly later this week.
Here is the automated script I wrote and tested (kludge warning!):
@echo off
REM Sunday, March 23, 2014
if "%DOSDIR%"=="" set DOSDIR=c:\fdos
if "%GSED%"=="" set GSED=gsed
if "%RAMDRIVE%"=="" goto end
%RAMDRIVE%:
md \pp16
cd \pp16
md \others
ctty nul
for %%a in (cwstub wlib wlink) do copy /b c:\c\watcom19\binw\%%a.exe \others
for %%a in (nasm unzip gsed cwsdpmi) do copy /b c:\utils\%%a.exe \others
ren \others\cwstub.exe dos4gw.*
ctty con
REM ... LFNs are mandatory, but OW 1.9 doesn't use them (but 2.0-pre???) ...
ctty nul
c:\utils\doslfn
ctty con
REM ... HX is mandatory, this is a Win32-hosted (PE) cross-compiler ...
if not exist c:\hx\bin\hdpmi32.exe goto end
set F1=c:\temp\fpc\8086\fpc-2.7.1-WmTiny.msdos.zip
if not "%1"=="" if exist %1 set F1=%1
if exist %F1% goto unzipit
set F1=
goto end
:unzipit
unzip -q %F1%
set F1=
:begin
set OLDPATH=%PATH%
path %RAMDRIVE%:\others;c:\hx\bin;%RAMDRIVE%:\pp16\bin\i386-w~1
hxldr32 -q
set DPMILDR=128
REM ... "-s" generates ppas.bat script (still necessary, for now)
unzip -qCj c:\temp\fpc\8086\fpc-i8086-msdos-go32v2hosted.old "*demo\*"
REM 2.7.1 2014/03/22 win32 msdos
echo on
ppcross8086 -iV -iD -iSO -iTO
ppcross8086 -CX -XX -Xs -Fuunits\msdos\rtl-console -s fpctris
@echo off
set DPMILDR=
%GSED% -i -e "s/rtl-console/rtl-co~1/" link.res
REM ... begin sed hack for fpctris_ppas.bat here ...
echo #n>>make.sed
echo s/.*\(wlib\.exe -q -fo -c \)\(.*\)\.a.*/cd \2.sl\>>make.sed
echo "dir \/b *.o > \2.rsp\"|%GSED% -e "s/^.//" -e "s/.$//" >>make.sed
echo \1 -n ..\\\2.a @\2.rsp\>>make.sed
echo del \2.rsp\>>make.sed
echo cd../>>make.sed
echo /echo Assembling/s/^/REM />>make.sed
echo s/.*\(wlink\.exe\) */\1 op q />>make.sed
echo w make.bat>>make.sed
REM ... end sed hack for fpctris_ppas.bat here ...
%GSED% -f make.sed ppas.bat
if not exist make.bat goto end
:make
echo ... Press Ctrl-C if you need to edit MAKE.BAT manually first! ...
pause
call make.bat
if not exist fpctris.exe goto end
dir fpctris.exe | %DOSDIR%\find /i "exe"
set W=c:\temp\fpc\8086\fpctris.win
for %%a in (comp md5sum) do call %DOSDIR%\%%a fpctris.exe %W%
set W=
%RAMDRIVE%:
REM DOS = f4f4c345dce1c949d021115ed04611b1 fpctris.exe
REM WIN = f4f4c345dce1c949d021115ed04611b1 fpctris.exe
:end
if "%GSED%"=="gsed" set GSED=
ctty nul
hxldr32 -u
c:\utils\doslfn -u
ctty con
set THEFILE=
path %OLDPATH%
set OLDPATH=
:adios
The main problems are PPAS.BAT running WLIB with one really long cmdline (or, worse, splitting into two [fpctris 91..11, 10..1], which makes my kludge run twice unnecessarily). The longest line there is 2064 bytes, which is way beyond reasonable. Again, if FPC was smart enough to make the response files itself, that would solve this problem. As is, it's a very tedious kludge just to get things to work. Oh, and sometimes, depending on where WLIB + WLINK are found, it puts their full path in quotes, which breaks my kludge.
ppas.bat :
g:\others\wlib.exe -q -fo -c gameunit.a gameunit.sl\GameUnit0s36.o gameunit.sl\GameUnit0s35.o gameunit.sl\GameUnit0s34.o ... gameunit.sl\GameUnit0s1.o
if errorlevel 1 goto linkend
make.bat :
cd gameunit.sl
dir /b *.o > gameunit.rsp
wlib.exe -q -fo -c -n ..\gameunit.a @gameunit.rsp
del gameunit.rsp
cd..
if errorlevel 1 goto linkend
Complete thread:
- FPC 2.6.4 released! - marcov, 15.03.2014, 21:55 (Announce)
- FPC 2.6.4 released! - ron, 15.03.2014, 23:27
- FPC 2.6.4 released! - Rugxulo, 17.03.2014, 08:14
- FPC 2.6.4 released! - Rugxulo, 17.03.2014, 08:39
- FPC 2.6.4 released! - marcov, 17.03.2014, 09:54
- FPC 2.6.4 released! - Rugxulo, 19.03.2014, 11:48
- FPC 2.6.4 released! - marcov, 19.03.2014, 21:28
- FPC 2.6.4 released! - Rugxulo, 20.03.2014, 04:24
- FPC 2.6.4 released! - Rugxulo, 23.03.2014, 06:33
- FPC 2.6.4 released! - Rugxulo, 23.03.2014, 10:50
- FPC 2.6.4 released! - Rugxulo, 22.04.2014, 02:18
- FPC 2.6.4 released! - marcov, 30.04.2014, 20:42
- FPC 2.6.4 released! - Rugxulo, 08.05.2014, 00:18
- FPC 2.6.4 released! - marcov, 30.04.2014, 20:42
- FPC 2.6.4 released! - Rugxulo, 22.04.2014, 02:18
- FPC 2.6.4 released! - nickysn, 03.04.2014, 13:51
- FPC 2.6.4 released! - Rugxulo, 05.04.2014, 23:55
- FPC 2.6.4 released! - nickysn, 06.04.2014, 00:26
- FPC 2.6.4 released! - Rugxulo, 06.04.2014, 02:13
- FPC 2.6.4 released! - nickysn, 06.04.2014, 11:21
- FPC 2.6.4 released! - nickysn, 08.04.2014, 17:17
- FPC 2.6.4 released! - nickysn, 10.04.2014, 18:37
- FPC 2.6.4 released! - nickysn, 08.04.2014, 17:17
- FPC 2.6.4 released! - nickysn, 06.04.2014, 11:21
- FPC 2.6.4 released! - Rugxulo, 06.04.2014, 02:13
- FPC 2.6.4 released! - nickysn, 06.04.2014, 00:26
- FPC 2.6.4 released! - Rugxulo, 05.04.2014, 23:55
- FPC 2.6.4 released! - Rugxulo, 23.03.2014, 10:50
- FPC 2.6.4 released! - Rugxulo, 30.03.2014, 10:08
- FPC 2.6.4 released! - marcov, 30.03.2014, 12:14
- FPC 2.6.4 released! - Rugxulo, 06.04.2014, 00:14
- FPC 2.6.4 released! - marcov, 30.03.2014, 12:14
- FPC 2.6.4 released! - Rugxulo, 23.03.2014, 06:33
- FPC 2.6.4 released! - Rugxulo, 20.03.2014, 04:24
- FPC 2.6.4 released! - marcov, 19.03.2014, 21:28
- FPC 2.6.4 released! - Rugxulo, 19.03.2014, 11:48
- FPC 2.6.4 released! - marcov, 17.03.2014, 09:54
- FPC 2.6.4 released! - ron, 15.03.2014, 23:27