mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 01:44:37 +00:00
42 lines
1.2 KiB
Cheetah
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%"\toLowerAscii(c.name)}.exe ?linkCmd %LINK_FLAGS%
|
|
CALL %LINKER% -o ?{"%BIN_DIR%"\toLowerAscii(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%
|