Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] integration of other build systems

Hi Carsten,

 

I have inserted the answers to some of your questions below..

 

Regards,

Mikhail

 

-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Carsten Pfeiffer
Sent: Tuesday, November 29, 2005 6:45 PM
To: CDT General developers list.
Subject: Re: [cdt-dev] integration of other build systems

 

On Tuesday 29 November 2005 15:44, Sennikovsky, Mikhail wrote:

 

Hi Mikhail,

 

thanks for the quick answer!

 

> [Mikhail] From the Managed Build System point of view, you can integrate

> and use any builder other than make by defining the builder in the MBS

> syntax and  a buildfile generator for it. From the standard build point

> of view, you can use and write any kind of build scripts for any builder

> and specify the command to be invoked for launching your builder.

 

OK. But being able to build the project with a specific builder does not mean

that the parser and indexer work, right? E.g. the include-paths for the

different targets need to be known.

[Mikhail] Right. And CDT provides the capabilities to specify the scanner information discovery profile specific for the tool-chain you use. This mechanism allows you to provide compiler specific includes/macros to the scanner/parser and the rest of the CDT. Using the managed build system you could also integrate any tool-chain/tool/builder (not only the builder) by describing them and their options in MBS syntax.

 

> [Mikhail] Do you mean you want to reverse-engineer the managed project

> given a set of buildfiles? Well, this is quite a complicated task..

 

Yes, something like that. I'd like to quickly import a project into CDT and be

able to "work" on it, e.g. use the search engine, have access to the DOM.

 

Since there are many many different build-systems out there, I thought about

the "gcc-wrapper" approach to reverse engineer the build system.

 

What is actually required for having the parser/search engine/DOM available?

 

I don't necessarily want to migrate the existing build system of a project to

MBS, I only want to be able to use CDT's features on that project.

[Mikhail] You could import your existing project (with already created makefiles) into the CDT using the standard make project. You can associate any of the available scanner discovery profiles to be used with your project that will calculate and tell CDT compiler built-in includes and macros.

Will this suit your needs?

See also the previous mails I posted to this list with more detailed description on using the scanner discovery profile mechanism and MBS options for the scanner info calculation.

 

 

> There is a bugzilla request regarding making editable the tool command

> summary edit box ("All Options:" field) of the build property page and

> to automatically set the tool options based upon the user input in that

> field, but we can not solve this problem currently, because ISVs usually

> provide their custom call-backs for command line generation, so MBS does

> not know what the command line generation logic is and can not

> reverse-engineer it, so even at this level we can not solve the problem

> of obtaining/generating/setting the option values based upon the command

> the user supplies.

 

Maybe an additional API could be provided to have all the

command-line-generation-participants decompose the given commandline back

into parts, but I'm just guessing here...

 

> [Mikhail] Yes. See e.g. how the managed project and configurations are

> created in the New Managed Project Wizard

> (NewManagedProjectWizard.doRun() method). See also classes and

> interfaces defined in the org.eclipse.cdt.managedbuilder.core package

> that represent the managed build core model. The ManagedBuildManager

> class is actually the main entry-point for any MBS-related operations.

 

Great, thanks!

 

Best wishes,

Carsten Pfeiffer

--

Fraunhofer Institute Computer Architecture and Software Technology, FIRST

Kekuléstraße 7, 12489 Berlin

Tel.: +49 (0)30 6392-1900, Fax: +49 (0)30 6392-1805


Back to the top