I subscribe to Google Alerts and get notifications whenever something new pops up mentioning the CDT. I've been seeing a lot of blog entries lately which is a cool sign that people are talking about the CDT and spreading the word. Unfortunately some of the comments deal with the difficulty of getting the CDT up and running, especially on Windows.
So I think it's about time to do something about it. One thing I've wanted to do for a while now is to create a Windows installer that bundles up everything you need to start building applications with the CDT. As a product manager I used to work with said, "How do you call it an IDE when you don't bundle a compiler with it?"
So my plan is to bundle the Eclipse Platform and the CDT run-times with the MinGW gcc build tools and gdb debugger. I will bundle in SDL, Simple Directmedia Layer, as a library to start building multimedia apps. I may look at bundling wxWidgets for building traditional GUI apps. I will also look at bundling a JRE so users can get Eclipse up and running with minimal effort, although I'm not sure if the Sun redistributable license will let me do this with an open source app and I'm not sure what other options I have.
Unfortunately a bunch of these components are GPL and LGPL so I won't be able to release it from Eclipse itself given the IP rules. I'll also need to figure out how GPL affects the package and it would be very disappointing if it prevents me from doing this. Sourceforge is probably the best place for this. I plan on using the Nullsoft Installer since it seems to have the most flexibility in any of the other free Windows installer technologies and is used by other open source projects such as MinGW itself.
So I'm interested in peoples' opinions on this, if this is the right set of components for example. Is it worth my time putting together? The idea is to keep it simple so it doesn't take me too much time to start and keep up to date. But I think it'll be a boost to help new users get a start with the CDT, a Kickstart if you will.
Hi Doug, why don't you work with Phillipe & co over at EasyEclipse to improve their C/C++ distribution?
ReplyDeleteHow about that?
fyi,
ReplyDeletehttp://www.easyeclipse.org/site/distributions/cplusplus.html
Please do use WiX for the installer (open source bits for creating windows installer packages, that way if you do have like a JRE or MinGW installed you may choose not to install them on top).
ReplyDeleteAlso, please test it with Windows Vista, If you need any help just tell the community.
Hey this is a great idea! I think it would help to distribute CDT to more people. I know a lot of people which have problems to install eclipse and the compiler. So I'm sure ONE easy installer will help them. Hopefully there is now licence problem.
ReplyDeleteWell, you use Google Alerts to be warned when somebody mentions CDT, and I use same tool to be warned when somebody mentions wxWidgets. Since you mentioned it... be in contact with us so we could cooperate with you in making wxWidgets included best way. You can find all our developers directly at http://news.gmane.org/gmane.comp.lib.wxwidgets.devel
ReplyDeleteHTH,
ABX - wxWidgets codeveloper
I think this is an excellent idea. This would make it much easier for Windows developers to install out of the box and get running with CDT.
ReplyDeleteFollowing up in Chris's comment, it looks like EasyEclipse already has the Eclipse, CDT, and JRE bits in place. It should be a simple matter of packing up the C/C++ components and we're ready to go. Stay tuned...
ReplyDeleteFrom Andrew:
ReplyDelete[12:37] [overholt] I just want to mention that I think he's wrong about the gcc GPL thing
[12:38] [overholt] this seems to be a pervasive problem with Eclipse
[12:38] [overholt] distributing two differently-licensed pieces of software doesn't make them one entity
[12:38] [overholt] that means that distributing gpl'd stuff with non-gpl'd stuff doesn't automatically make the latter gpl'd
[12:38] [overholt] look at, for example, the GNU/Linux distros
[12:39] [overholt] the CDT wouldn't exist if his fears were true
[12:39] [overholt] (all IMHO and IANAL, etc., etc.)
Yeah, I have to agree with Andrew. I'm just being paranoid. I know there are some organizations that wouldn't be happy with the mix, but those organizations aren't generally happy with GPL anyway and aren't really the target of this distribution.
ReplyDeleteGreat plan. One bit bugs me slightly though: MinGW.
ReplyDeleteMinGW is fine for some types of development, but if you're trying to get CDT into an environment where other people are using Visual Studio, it really helps to have the Microsoft compiler, Debugging Tools, etc., etc. as part of your toolchain. For example (unless I am very much mistaken), MSVC people can't debug using DLLs built with MinGW/GCC and vice versa.
How's the Windows SDK work coming?
It's coming. I pick MinGW since it's open and we can freely redistribute it, thanks to the GPL. We'd have to negotiate with Microsoft to redist the Windows SDK and I don't feel like going down that road at the moment.
ReplyDeleteThe freedom associated with MinGW definately has its advantages. But is it really necessary to be able to redistribute the Windows SDK? How about a link that says "download Windows SDK here"?
ReplyDeleteDistributing MinGW also makes sense since the average user looking at http://www.mingw.org/ won't have a clue where to start or what to download. With the Windows SDK you just head for the nearest setup.exe.
I agree that the Windows SDK is a much more complete solution. One problem I have with it is just it's pure size. At 1.2 Gig, I wonder if we can expect everyone to be able to download and install it.
ReplyDeleteMaybe we can support both...
Hi Doug!I am new on ecliplse... I have tried to migrate my project from Source Navigator to Eclipse CDT ... Probably - some problem with indexer - Search of Definitions and refferences - does not works... Can you suggest me - where is CDT support forum??? I have found few forums - where CDT developers discuss thier issues , but - no one - where folks like me can ask questions about CDT troubleshooting...
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI'm one of those people you are talking about. :-)
ReplyDeleteI am a Java and Python developer and use Eclipse. I am starting to play with Py++ and Boost::Python and thus want to set up my Eclipse to compile with MinGW. With some of the stuff that exists on the web already I got MinGW (+ GDB) and MSYS installed. I got CDT installed and am able to make the exe, but I cannot run it in Eclipse because things don't appear to be properly configured. I am unable to find a complete document that shows how to fully configure Eclipse (3.2) CDT to make and debug on Windows with MinCW.
So, In my case, I already have Eclipse installed and configured to work how I want it to for Java and Python, so a fresh install of your starter kit would not be an option. I also have wxWidgets already installed as I have wxPython installed.
Before you make a CDT bundle, perhaps you should start with the basics like provide a means of people getting support? I've tried to get help and there are no forums around and the newsgroups listed on the CDT page go to dead links.
ReplyDeleteMy basic problem is eclipse and CDT simply don't go together because they are based on completely different concepts of working. For example, Here is a typical way of developing a project:
project\
src\
file1.cpp, file2.cpp, etc
examples\
example1.cpp
exampl2.cpp
stuff\
random files
1. You cannot easily remove files from a managed build (unless you use the hack provided in the CDT help)
2. You cannot get eclipse to build the library from src and each of the individual examples, you have to create a project for every one. So say I make a program with 50 examples, do you expect me to create 50 projects? Yes, I could move them out, but they are part of the project. So, assuming I do exclude them, my only other choice is to create a standard project and create a make file, which sort of defeats the whole point of an IDE for building projects.
Doug,
ReplyDeleteI believe this idea has a lot of merit, but it can be fraught with more problems than just licensing.
A large stumbling block would be the disparity in development tools on Windows (MinGW, MSVS[3 soon to be 4 versions], Cygwin, Borland, Digital Mars,...just ones I'm able to think of at the top of my head...there are others). It would be nice to be more aligned with a POSIX development environment for platform portability.
I think building a single tool chain is ambitious and admirable, but going to run headlong with users who use pieces of the toolchains you mentioned or entirely different toolsets.
I like your idea very much. I'm currently digging through Eclipse Plug-ins so that I can have Eclipse configured for a wxWidgets project. So...I'm in if you would like help.
BTW, the MinGW Automated Installer ver 5.1.3 (available from MinGW project at SourceForge) is an excellent install tool for "beginners". It doesn't install "bleeding edge" but stable/near-stable releases (stable - 3.4.2 /candidate - 3.4.5). Also, it has its own update mechanism. Would this not be duplicating that effort?
This is one of the glamorous post.I like your blog advantages.This is one of the helpful post.
ReplyDeleteAndroid app developers