Page 1 of 1

Keep intermediate files not working?

PostPosted: Thu Dec 16, 2010 2:28 pm
by johannes.krampf
I wanted to have a look at the C# files generated by Cobra. I found the option --keep-intermediate-files:yes or short -kif, but I can't find the files. I looked both in the current directory and in /tmp. Where should I look?

File listing + compiler output:

Code: Select all
$ ls
hello.cobra
$ cobra -c -v:2 -kif hello.cobra
Cobra Command Line 2010-10-18 (svn-post-0.8.0)
Copyright (C) 2003-2010 by Cobra Language LLC.

OS Version:   Unix 2.6.36.0
CLR Platform: Mono
CLR Version:  2.0.50727.1433
Current Directory: /home/johkra/tmp/test-kif
Current Exe: /opt/cobra/Cobra-0.8.0-post/bin/cobra.exe
Option Dictionary:
    compile: true
    verbosity: 2
    keep-intermediate-files: true
    back-end: 'none'
    contracts: 'inline'
    correct-source: Set<of String>['none']
    debugging-tips: true
    embed-run-time: false
    include-asserts: true
    include-nil-checks: true
    include-tests: true
    include-traces: true
    native-compiler: 'auto'
    number: 'decimal'
    test-runner: 'Cobra.Lang.CobraCore.runAllTests'
    testify-results: 'r-testify'
Paths:
    hello.cobra
Phase: Binding Cobra run-time library
Referencing Cobra run-time
Adding reference to Cobra.Lang.dll
Phase: Reading libraries
Reading assembly:  mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
              at:  /usr/lib/mono/2.0/mscorlib.dll
Reading assembly:  System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
              at:  /usr/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll
Final assembly reference list:
0. Cobra.Lang.dll
Loading reference: Cobra.Lang.dll
Reading assembly:  Cobra.Lang, Version=0.8.0.1, Culture=neutral, PublicKeyToken=0a4783a5c7c9616e
              at:  /opt/cobra/Cobra-0.8.0-post/bin/Cobra.Lang.dll
Phase: Parsing source code
Parsing hello.cobra
Phase: Binding use directives
Phase: Binding inheritance
Phase: Binding interface
Phase: Computing matching base members
Phase: Binding implementation
Phase: Identifying .main
Phase: Generating C# code
-native-compiler:auto ... Found /opt/cobra/Cobra-0.8.0-post/bin/Cobra.Sharp.2_8.dll
Phase: Compiling C# code
Compiling to produce hello.exe
/opt/cobra/Cobra-0.8.0-post/bin/Cobra.Sharp.2_8.dll ['-r:Cobra.Lang.dll', '-nologo', '-nowarn:0108,0162,0169,0183,0184,0219,0414,0429,1717,1718', '-main:MainWrapper', '-lib:/opt/cobra/Cobra-0.8.0-post/bin', '-out:hello.exe', 'hello.cobra.cs', 'MainWrapper.cobra.cs']
Keeping intermediate files.
Phase: Checking if a default number type should be suggested
Compilation succeeded
$ ls
hello.cobra  hello.exe

Re: Keep intermediate files not working?

PostPosted: Fri Dec 17, 2010 2:56 am
by Charles
Sorry, I broke that when I enhanced Cobra to load the back-end C# compiler as a .dll instead of invoking it as an external process. However, you can use the -native-compiler option, probably with /usr/bin/gmcs, which will cause -kif to work again.

Re: Keep intermediate files not working?

PostPosted: Fri Dec 17, 2010 4:13 am
by johannes.krampf
Thank you, this works.