win64 is a supported target; bugfix: nimrod c -r on windows; stdlib uses wide char versions of the WinAPI

This commit is contained in:
Araq 2012-03-04 21:44:56 +01:00
commit ff4a69b624
22 changed files with 927 additions and 195 deletions

View file

@ -1,5 +1,5 @@
#! stdtmpl(subsChar='?') | standard
#proc GenerateBuildBatchScript(c: TConfigData): string =
#proc GenerateBuildBatchScript(c: TConfigData, target: TTarget): string =
# result = "@echo off\nREM Generated by niminst\n"
SET CC=gcc
SET LINKER=gcc
@ -8,13 +8,9 @@ SET LINK_FLAGS=?{c.linker.flags}
REM call the compiler:
IF EXIST %SystemRoot%\SysWOW64 GOTO :Win64
ECHO Building for Win32
# block win32:
# var linkCmd = ""
# for ff in items(c.cfiles[1][1]):
# for ff in items(c.cfiles[1][ord(target)]):
# let f = ff.replace('/', '\\')
ECHO %CC% %COMP_FLAGS% -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")}
%CC% %COMP_FLAGS% -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")}
@ -26,25 +22,4 @@ ECHO %LINKER% %LINK_FLAGS% -o ?{firstBinPath(c)\toLower(c.name)}.exe ?linkCmd
# end block
GOTO :end
:Win64
ECHO Building for Win64
# block win64:
# var linkCmd = ""
# for ff in items(c.cfiles[1][2]):
# let f = ff.replace('/', '\\')
ECHO %CC% %COMP_FLAGS% -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")}
%CC% %COMP_FLAGS% -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")}
# linkCmd.add(" " & changeFileExt(f, "o"))
# end for
ECHO %LINKER% %LINK_FLAGS% -o ?{firstBinPath(c)\toLower(c.name)}.exe ?linkCmd
%LINKER% %LINK_FLAGS% -o ?{firstBinPath(c)\toLower(c.name)}.exe ?linkCmd
# end block
:end
ECHO SUCCESS