Author Topic: Usage of LLC-WIN32 compiler  (Read 4447 times)

Offline Bat

  • Multiple posting newcomer
  • *
  • Posts: 48
Usage of LLC-WIN32 compiler
« on: November 02, 2012, 11:20:10 am »
I'm trying to use Code::Block with LCC-WIN32 compiler.

To resolve warning of new projet wizard I have to add in common_functions.script

in
Code: [Select]
function WarningsOn(base, compilerID)
Code: [Select]
    else if( GetCompilerFactory().CompilerInheritsFrom(compilerID, _T("lcc")) )
    {
        base.AddCompilerOption(_T("-A"));
    }
Code: [Select]
function DebugSymbolsOn(base, compilerID)
Code: [Select]
    else if (GetCompilerFactory().CompilerInheritsFrom(compilerID, _T("lcc")))
    {
        base.AddCompilerOption(_T("-g2"));
    }
Code: [Select]
function OptimizationsOn(base, compilerID)
Code: [Select]
    else if (GetCompilerFactory().CompilerInheritsFrom(compilerID, _T("lcc")))
    {
        base.AddCompilerOption(_T("-O"));
    }

===============================

Debug is another problem. LCC-WIN32 use debugger included in interface, so no way for it. LCC-WIN32 Compiler add debug info in CodeView format (old Microsoft debug format). And it add 3 sections, one COFF, one proprietary, one CodeView.
I try GDB, but it doesn't understand CodeView. I try CDB, it understand CodeView but I nerver succeed with line debugging. Symbols name are ok (functions, global var), but lines are not handled.
So I use another solution : convert CodeView to PDB. It's possible with cv2pdb http://dsource.org/projects/cv2pdb.
But here, another problem (v0.25), it doesn't handle multiple debug sections, and failed. So a little patch permit to work (see Active Ticket 8). This soft use mspdb100.dll (or other), so a Visual Studio or Visual Express should be installed to used it ! CDB (now full Windows Kits) is not enought
To automatically integrate all stuff, I modified compiler link commands in CB : and added for each link command :
Code: [Select]
cv2pdb -C $exe_output
Outside of this scope, I made a "portable" version of all this stuff. I managed to extract DLL needed to have portable version of CDB and cv2pdb and CB in about 33Mo

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9488
Re: Usage of LLC-WIN32 compiler
« Reply #1 on: November 02, 2012, 02:43:44 pm »
Interesting works. Are you aware that there is an on-going development of a more improved version of the CDB debugger? This might help. (I don't have a link at hand, but just search the forums.).

Concerning the rest of your improvements: If it affect the Core of C::B or plugins send in patches. For example, a patch to fix the wizard is easy to integrate and pretty straight-forward.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ