Root > Advanced topics > Compiling your project with EurekaLog > EurekaLog post-process compilers

EurekaLog post-process compilers

Previous pageReturn to chapter overviewNext page   

Note: this article is part of explaining compilation outside of IDE.


EurekaLog provides two command-line compilers which performs post-processing: ecc32.exe for Delphi/RAD Studio and emake.exe for C++ Builder (classic, 5 and 6). These files are located in the same directory as EurekaLog packages. I.e. like 'C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Packages\Studio16\ecc32.exe' (this is just example).


Important Note: usually, you call ecc32.exe/emake.exe from [EurekaLog installation folder]\Packages\[IDE name]\ folder or from \bin folder of your IDE. That way ecc32.exe/emake.exe will know which IDE you are using. However, if you are calling ecc32.exe/emake.exe from \bin folder of EurekaLog, or if you copy ecc32.exe/emake.exe to another folder - then it will NOT know which IDE you are using. You have to supply --el_ide command line switch to indicate what IDE should be used.



Actually, ecc32.exe is exactly the same as emake.exe (it is the same file, but with different file name). Modern EurekaLog versions use the same file as both ecc32.exe and emake.exe for all IDE versions and personalities.
Additionally, ecc32speed.exe is also provided. ecc32speed.exe is the same as ecc32.exe, except it does not contain debugging code, which allows it to execute slightly faster. EurekaLog uses ecc32speed.exe by default (from IDE). If debug output / verbose options are enabled, then EurekaLog will use ecc32.exe. There is no difference in calling ecc32.exe and ecc32speed.exe.


These new compilers integrate the standard dcc32.exe/make.exe features plus the EurekaLog features, so you can now just use the new ecc32.exe/emake.exe command-line compiler instead of the standard dcc32.exe/make.exe compiler. By using the EurekaLog command-line compiler - you can now compile your projects just like when you used the standard compiler, now adding to your projects the new EurekaLog features.


When ecc32.exe/emake.exe/ecc32speed.exe is called - it will compile your project and then add the EurekaLog settings and debug information to the application. Any parameters you pass to ecc32.exe/emake.exe are passed onto dcc32.exe/make.exe as in a normal compilation. The EurekaLog options are taken from the standard project options file.


Note: the emake.exe  command-line compiler doesn't support ".bpr"/".bdsproj"/".cbproj" files (it only supports ".mak" files). To generate the ".mak" file from a ".bpr" you can use the bpr2mak.exe command-line program. See also: post-processing without compilation.


So ecc32.exe/emake.exe/ecc32speed.exe can be used just like dcc32.exe/make.exe and you can find plenty of information on these standard parameters in the Delphi help file. There is a minimal standard options which have to be set for EurekaLog to function properly.


If ecc32.exe/emake.exe/ecc32speed.exe is used without any EurekaLog custom parameters it will simply call the standard compiler (dcc32.exe or make.exe) and after that it will alter the compiled file by adding the EurekaLog options and debug data.
If ecc32.exe/emake.exe/ecc32speed.exe is used with EurekaLog's --el_prepare or --el_alter_exe custom parameter (see here) it will not call the call the standard compiler (dcc32.exe or make.exe), it will only alter (project or already compiled) file by adding the EurekaLog options and debug data.


Additionally to standard parameters, ecc32.exe/emake.exe/ecc32speed.exe supports custom EurekaLog parameters for customizing post-processing.



See also:

Send feedback... Build date: 2022-03-28
Last edited: 2022-01-06
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: