[Lazarus] IDE macro $MakeExe when cross-compiling

cobines cobines at gmail.com
Thu Apr 12 12:00:40 CEST 2012


Hello.

I'm trying to invoke svn2revisioninc before compiling, so I entered
this command in project options:

$(LazarusDir)$MakeDir(tools)$MakeExe(svn2revisioninc) .. myrevision.inc

It works OK if host OS is the same as target, but when cross-compiling
from Linux to Windows I get:

$ lazbuild --os=win32 project1.lpi
primary config path: /home/devel/.lazarus
[TExternalToolList.Run]
CmdLine="/home/devel/lazarus/tools/svn2revisioninc.exe ..
myrevision.inc" WorkDir="/tmp/"
TExternalToolList.Run Failed to run tool file
"/home/devel/lazarus/tools/svn2revisioninc.exe" does not exist
  Stack trace:
  $082E1EFC line 232 of lazfileutils.pas
  $0817B333 line 346 of exttooldialog.pas
  $0804F258 line 1386 of lazbuild.lpr
  $0816982C line 4076 of compileroptions.pp
  $0804AF67 line 770 of lazbuild.lpr
  $08048E10 line 317 of lazbuild.lpr
  $0804D7F8 line 1162 of lazbuild.lpr
  $0804F2B1 line 1407 of lazbuild.lpr
  $B75A8E46
...

Nevermind the crash but the macros are not consistent:
$MakeDir macro produced / path delimiter not \.
$MakeExe produced .exe and not empty string.

Is this a bug or should I not use these macros when cross-compiling?
Is there a different way I can achieve this?

--
cobines




More information about the Lazarus mailing list