Skip to main content



      Home
Home » Language IDEs » C / C++ IDE (CDT) » started FAQ on CDT Build System internals -- please help to fill it with content
started FAQ on CDT Build System internals -- please help to fill it with content [message #206637] Fri, 14 December 2007 04:09 Go to next message
Eclipse UserFriend
Hi all,

We all know that internals of the CDT build system are hardly documented
(no standalone doc, barely any useful Javadoc comments in the code,
etc), and it has taken several hours and days for many of us to decypher
the code.

Perhaps we can make a difference now, and help each other.

I started a publicly editable FAQ about internals of the CDT Build
system. If you figured out something about CDT, please add your hard-won
knowledge in there. The URL:

http://cdt-devel-faq.wikidot.com (anyone can edit, no registration)

After a while, if it receives some quality assurance, perhaps we can
paste the contents over into the CDT Wiki on eclipse.org.

Regards,
Andras
Re: started FAQ on CDT Build System internals -- please help to fill it with con [message #206693 is a reply to message #206637] Fri, 14 December 2007 20:17 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: ross.cheshireeng.com

One detail that could use quite a bit more documentation is exactly how
the stock Cygwin and MinGW toolchains decide whether they are usable on
a particular PC. I have one PC with both Cygwin and MinGW installed and
happy where CDT believes that MinGW can't be used, gives the warnings on
every build, and then builds perfectly with the MinGW GCC configured for
use in my project's configuration.

I haven't taken the time to go learn enough about the CDT sources to use
the source to directly answer the question, but I suspect it is at least
partly due to finding a Cygwin registry key and a preference for Cygwin
over MinGW. If I weren't sharing the project (via CVS) with another PC
with MinGW and no Cygwin, I'd probably just give up and just let it
build with Cygwin instead.

If I do go figure this out, I'll find a spot for it in your wiki.

And don't get me started on the huge learning curve barriers to figuring
out how to get the CDT to let me use windres to compile my resource file,
let alone use lex, flex, yacc, bison, or even just a perl script that
writes source files (for instance to create an initialized array from a
Xilinx FPGA fuse map, build a message table, etc.).
Re: started FAQ on CDT Build System internals -- please help to fill it with con [message #206709 is a reply to message #206693] Sat, 15 December 2007 03:43 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ross,

Thanks for your comments! It reminded me that I had all the similar
problems, so I added some more items to the FAQ.

> One detail that could use quite a bit more documentation is exactly how
> the stock Cygwin and MinGW toolchains decide whether they are usable on
> a particular PC.

I managed to figure that out, just added "How does CDT decide whether
MinGW, Cygwin or some other toolchain is supported on the computer?". Is
there anything I left out?

> And don't get me started on the huge learning curve barriers to figuring
> out how to get the CDT to let me use windres to compile my resource
> file, let alone use lex, flex, yacc, bison, or even just a perl script
> that writes source files (for instance to create an initialized array
> from a Xilinx FPGA fuse map, build a message table, etc.).

Yes, CDT as of 4.0.2 is broken in this regard. I filed two related bugs
into bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=211858 and
https://bugs.eclipse.org/bugs/show_bug.cgi?id=212127, and added
corresponding FAQ items: "Can I add a tool that produces C/C++ source
code?", and "Can I add new tools to a toolchain?".

If you want CDT to improve in this regard, maybe you can comment in the
bugtracker, or post to cdt-dev.

Andras
Re: started FAQ on CDT Build System internals -- please help to fill it with con [message #206782 is a reply to message #206709] Mon, 17 December 2007 02:35 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: futurebeam.gmx.net

Hi,

> I managed to figure that out, just added "How does CDT decide whether
> MinGW, Cygwin or some other toolchain is supported on the computer?". Is
> there anything I left out?

thanks a lot :-) I already spent a lot time on this issue.
Great Wiki - I really love it!

Regards,
Malte
Re: started FAQ on CDT Build System internals -- please help to fill it with content [message #206790 is a reply to message #206637] Mon, 17 December 2007 07:16 Go to previous messageGo to next message
Eclipse UserFriend
Andras Varga a écrit :
> Hi all,
>
> We all know that internals of the CDT build system are hardly documented
> (no standalone doc, barely any useful Javadoc comments in the code,
> etc), and it has taken several hours and days for many of us to decypher
> the code.
>
> Perhaps we can make a difference now, and help each other.
>
> I started a publicly editable FAQ about internals of the CDT Build
> system. If you figured out something about CDT, please add your hard-won
> knowledge in there. The URL:
>
> http://cdt-devel-faq.wikidot.com (anyone can edit, no registration)
>
> After a while, if it receives some quality assurance, perhaps we can
> paste the contents over into the CDT Wiki on eclipse.org.
>
> Regards,
> Andras

Hi Andreas,

I do not understand why you did not direct edit the CDT Wiki ?
I think quality comes with contributions, and the audience will be more
large on the official eclipse wiki.
Another possibility is to use the independent community Eclipse wiki :
http://eclipse-wiki.info/

That being said, +1 to share knowledge about CDT :)

Best regards,

Mariot
Re: started FAQ on CDT Build System internals -- please help to fill it with content [message #206833 is a reply to message #206790] Mon, 17 December 2007 15:26 Go to previous messageGo to next message
Eclipse UserFriend
Hi,
I'll move everything to the CDT Wiki if/when someone from the CDT team
reviews the content. Until then, there's a link from the official CDT
FAQ to this FAQ.

I didn't know about http://eclipse-wiki.info, so I just choose a wiki
hosting site pretty randomly. If I knew about it, I may have chosen to
create the page there.

Hope to see your contributions on either Wiki page :)

Regards,
Andras

> I do not understand why you did not direct edit the CDT Wiki ?
> I think quality comes with contributions, and the audience will be more
> large on the official eclipse wiki.
> Another possibility is to use the independent community Eclipse wiki :
> http://eclipse-wiki.info/
>
> That being said, +1 to share knowledge about CDT :)
>
> Best regards,
>
> Mariot
Re: started FAQ on CDT Build System internals -- please help to fill it with con [message #206841 is a reply to message #206709] Mon, 17 December 2007 19:33 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: ross.cheshireeng.com

Andras Varga wrote:
> Thanks for your comments! It reminded me that I had all the similar
> problems, so I added some more items to the FAQ.

Thanks for that. Part of the steep learning curve is due to the change
from the "clarity" of a Makefile where build tools are really only
loosely defined (but what definitions that do exist are for the most
part in that very file) to a system where even the location of the
details of what exactly is a tool is shrouded in mystery. Even if you
locate the definition, you still have to gain a deep understanding of
a large application written in at least two foreign (i.e. not C/C++)
languages to understand what you're seeing.

>> One detail that could use quite a bit more documentation is exactly how
>> the stock Cygwin and MinGW toolchains decide whether they are usable on
>> a particular PC.

> I managed to figure that out, just added "How does CDT decide whether
> MinGW, Cygwin or some other toolchain is supported on the computer?". Is
> there anything I left out?

I'll try using your info to diagnose my PC at home that has both Cygwin and
MinGW installed, but where won't believe that MinGW is really there and
emits large, loud warnings on every build of a MinGW project. A quick
read through makes sense, however.

>> And don't get me started...
> Yes, CDT as of 4.0.2 is broken in this regard. I filed two related bugs
> into bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=211858 and
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=212127, and added
> corresponding FAQ items: "Can I add a tool that produces C/C++ source
> code?", and "Can I add new tools to a toolchain?".

Those add some clarity to the problem. I'm not sure what I have to
contribute aside from another shrill voice at the moment. It took me
quite a bit of searching before I came to the conclusion that this
really was an oversight in the CDT.

One small thing I can contribute is a reference to an Eclipse CDT
managed build open source project I have that builds a Windows Service
that hosts a Lua interpreter. (http://luaforge.net/projects/luaservice/)
It compiles with MinGW gcc, and uses windres to build a resource object
to include in the link. Not that the project itself is useful to this
list, but it could act as a complete example of one way to get these
things to work together.

This project is my toe in the CDT waters before my next real project
comes along. Since my real projects tend to be embedded systems, and
often include message tables generated by Perl scripts, font tables
generated as C source from GUI utilities, and Xilinx fusemaps in
initialized C arrays derived from the output of the FPGA toolchain,
I am interested in seeing this improve.
Re: started FAQ on CDT Build System internals -- please help to fill it with con [message #206849 is a reply to message #206841] Tue, 18 December 2007 04:45 Go to previous message
Eclipse UserFriend
>>> And don't get me started...
>> Yes, CDT as of 4.0.2 is broken in this regard. I filed two related
>> bugs into bugzilla:
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=211858 and
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=212127, and added
>> corresponding FAQ items: "Can I add a tool that produces C/C++ source
>> code?", and "Can I add new tools to a toolchain?".
>
> Those add some clarity to the problem. I'm not sure what I have to
> contribute aside from another shrill voice at the moment. It took me
> quite a bit of searching before I came to the conclusion that this
> really was an oversight in the CDT.

The CDT team hasn't realized yet that there is a problem with toolchain
extensibility. Bug 212127 and related cdt-dev posts have remained
essentially unanswered. So "another shrill voice" is exactly what would
be the most useful here :)

> One small thing I can contribute is a reference to an Eclipse CDT
> managed build open source project I have that builds a Windows Service
> that hosts a Lua interpreter.

Yes, sounds quite useful as an example. The faq page has 300MB storage,
I can upload the file if you send it by email. Or maybe it'd be a better
place on the eclipse.org wiki, or http://eclipse-wiki.info.

Andras
Previous Topic:error messages ordering
Next Topic:Cannot stop debugger - MingW
Goto Forum:
  


Current Time: Tue May 13 01:14:38 EDT 2025

Powered by FUDForum. Page generated in 0.05013 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top