Files
Nim/tools/niminst/buildbat.tmpl
Adam Strzelecki 700b63ad89 Use new #? filter prefix in various places
This silences deprecation warnings and prevent collision with UNIX shebang.
2015-09-30 16:12:31 +02:00

42 lines
1.2 KiB
Cheetah

#? stdtmpl(subsChar='?') | standard
#proc generateBuildBatchScript(c: ConfigData, winIndex, cpuIndex: int): string =
# result = "@echo off\nREM Generated by niminst\n"
SET CC=gcc
SET LINKER=gcc
SET COMP_FLAGS=?{c.ccompiler.flags}
SET LINK_FLAGS=?{c.linker.flags}
SET BIN_DIR=?{firstBinPath(c).toWin}
if EXIST ..\koch.nim SET BIN_DIR=..\bin
if NOT EXIST %BIN_DIR%\nul mkdir %BIN_DIR%
REM call the compiler:
# block win32:
# var linkCmd = ""
# for ff in items(c.cfiles[winIndex][cpuIndex]):
# let f = ff.toWin
ECHO %CC% %COMP_FLAGS% -Ic_code -c ?{f} -o ?{changeFileExt(f, "o")}
CALL %CC% %COMP_FLAGS% -Ic_code -c ?{f} -o ?{changeFileExt(f, "o")}
# linkCmd.add(" " & changeFileExt(f, "o"))
IF ERRORLEVEL 1 (GOTO:END)
# end for
ECHO %LINKER% -o ?{"%BIN_DIR%"\toLower(c.name)}.exe ?linkCmd %LINK_FLAGS%
CALL %LINKER% -o ?{"%BIN_DIR%"\toLower(c.name)}.exe ?linkCmd %LINK_FLAGS%
# end block
:END
IF ERRORLEVEL 1 (
ECHO FAILURE
ECHO.
ECHO CSource compilation failed. Please check that the gcc compiler is in
ECHO the PATH environment variable, and that you are calling the batch script
ECHO that matches the target architecture of the compiler.
) ELSE (
ECHO SUCCESS
)
exit /b %ERRORLEVEL%