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  |
Eclipse User |
|
|
|
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   |
Eclipse User |
|
|
|
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   |
Eclipse User |
|
|
|
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 content [message #206790 is a reply to message #206637] |
Mon, 17 December 2007 07:16   |
Eclipse User |
|
|
|
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 con [message #206841 is a reply to message #206709] |
Mon, 17 December 2007 19:33   |
Eclipse User |
|
|
|
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  |
Eclipse User |
|
|
|
>>> 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
|
|
|
Goto Forum:
Current Time: Tue May 13 01:14:38 EDT 2025
Powered by FUDForum. Page generated in 0.05013 seconds
|