Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
AW: [cdt-dev] Creating a ScannerConfigurationDiscoveryProfile forgcctype cross compiler based on Cygwin

Derek,

thanks for your hint, it does not seem to exactly solve my problem. My prob is with the class specified in the scannerInfoProvider's <run> element. I copied and modified this from the GCCWinManagedMakePerProjectProfile: 

    <scannerInfoProvider
      providerId='specsFile'>
      <run
        arguments='-E -P -v -dD ${plugin_state_location}/${specs_file}'
        class='org.eclipse.cdt.make.internal.core.scannerconfig2.GCCSpecsRunSIProvider'
        command="/aud/aud_dev/windows_tools/bin/i586-aud-gcc"
       />
      <scannerInfoConsoleParser
        class='org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser'
       />
    </scannerInfoProvider>

The GCCSpecsRunSIProvider receives the command string and must figure out how to call the compiler. To that end it simply does an Ipath.toOSString() which in my case yields "\\aud\\aud_dev\\windows_tools\\bin\\i586-aud-gcc". Obviously this cannot be started as a process since the process is based on the Cygwin root directory.

A quick fix which works for me was to write a new class (CygwinGCCSpecsRunSIProvider) which does a CygPath transformation of the path and then calls the command. So I know how to deal with the problem now.

The remaining question is now whether it is a desirable enhancement to make my CygwinGCCSpecsRunSIProvider publicly available and make the GCCWinManagedMakePerProjectProfile (which is supposed to work on Windows / Cygwin) use this CygwinGCCSpecsRunSIProvider. Are there any opinions on that out there?

Thx for feedback,



Norbert Ploett
 

-----Ursprüngliche Nachricht-----
Von: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] Im Auftrag von dmsubs
Gesendet: Montag, 3. April 2006 16:02
An: 'CDT General developers list.'
Betreff: RE: [cdt-dev] Creating a ScannerConfigurationDiscoveryProfile forgcctype cross compiler based on Cygwin

Norbert,

I came across this problem, and it was answered by Jeremiah Lott on this
list in February. There is actually a special class for Cygwin.

Try replacing

class='org.eclipse.cdt.managedbuilder.internal.scannerconfig.DefaultGCCS
cannerInfoCollector'

with:

class='org.eclipse.cdt.managedbuilder.internal.scannerconfig.DefaultGnuW
inScannerInfoCollector'

HTH
---
Derek  



Back to the top