Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Changing the build enviornment

(1/4) > >>

RShadow:
First let me say that I'm really excited about Code::Blocks.  For the past couple of months I have been working on a cross platform IDE just like this.  Orginaly I was developing the application with Qt.  After being just annoyed at Qt because of their licencing I decided to give a second look to wxWidgets.. anyways Code::Blocks is being developed in the same fashion that I was developing.  A moduled framework around existing development tools.  So I'm excited to jump into the code and start contributing.

However I think that Code::Blocks is a good example of why plain Makefile's are not a good solution for a complex project.  There is a lot of greif in compiling Code::Blocks at the moment. (Maybe not for some people) but I haven't got a working compile yet (Linux, wxWidgets 2.6.1, with unicode support).  I'm also running an AMD64 chip.  All of this amounts to me having to edit the Makefile and other build files to compile (unicode aside as that is a code issue).

The point here is that I think the project needs to move to sane build enviornment.  On a linux machine a Autoconf and other Autotools would do the trick.. but this presents a problem since Code::Blocks (to my knowledge) is supposed to be a cross platform code base.  

So my suggestion.  SCons.  It is a cross platform building script based around python.  Now I'm not a huge python fan, but SCons does the trick rather nicely.  Using SCons would allow the project to configure it's self for different version of wxWidgets, Different O.S., and in the future different build options for various *features* that may become available in the future.  

As an initiative I'm will construct a SCon's file to build the current CVS tree (this will require me to recompile wxGTK without unicode support :( , but I will make that sacrifice).

Any other suggestions?

mandrav:
First of all, welcome :)

I really hate autotools. I believe they bring more problems than they solve. But hey, that's just me.

If you think you can contribute a scons build system, I 'd be more than happy to use it.
You might also want to take a look at bakefile and cmake. AFAIK they 're very much respected, although I didn't have any time to look at them. If you 're volunteering, take a look at them too ;)

Yiannis.

takeshimiya:
Yes, please don't use SCons, and use bakefile, as for some reason (don't know exactly), the wxWidgets team droped the SCons files in favor of bakefiles because they had problems.

http://bakefile.sourceforge.net/

Ceniza:
I agree with mandrav...


--- Quote ---I really hate autotools.
--- End quote ---


That's exactly what made me reject Anjuta and KDevelop when I was playing with Linux (they forced me to make my projects that way) even the most simple, little and single source file.

I'm really more used to develop my projects using project files for a specific IDE and be able to compile code snippets without having to create a whole project for it and a bunch of files around, which could explain why I don't like autotools, but anyway, I'm pretty sure some people love them and do really prefer them, so why not to offer both? Everybody happy :)

Which one? For those who love it let them decide, code it and voilĂ .

RShadow:

--- Quote from: takeshimiya ---Yes, please don't use SCons, and use bakefile, as for some reason (don't know exactly), the wxWidgets team droped the SCons files in favor of bakefiles because they had problems.

http://bakefile.sourceforge.net/
--- End quote ---


I will look into bakefile's, however SCons is a great tool.  I have nearly completed a build enviornment with SCon's and thus far it is working very well. (I can build C::B with multiple version of wxWidgets).  Just because wxWidgets dropped SCon's does not identify SCon's as a poor choice.  However I will build an enviornment with Bakefile's as well and then we can see what is easier to use, and what one give's the most flexability.


--- Quote from: Ceniza ---
That's exactly what made me reject Anjuta and KDevelop when I was playing with Linux (they forced me to make my projects that way) even the most simple, little and single source file.

I'm really more used to develop my projects using project files for a specific IDE and be able to compile code snippets without having to create a whole project for it and a bunch of files around, which could explain why I don't like autotools, but anyway, I'm pretty sure some people love them and do really prefer them, so why not to offer both? Everybody happy  

Which one? For those who love it let them decide, code it and voilĂ .

--- End quote ---


I agree with you on your first point.  However i'm not talking about using SCon's (or bakefiles) to build projects created with C::B (Although I am working on a plugin to do just this). I'm talking about building C::B it's self (which is not just some snippits of code).  A complex project (such as C::B) requires a complex build enviornment.  I personaly don't like the autotool's myself, however being a linux user I have grown familiar with them.  The problem is outside of Linux they are really not a good choice.  A lot of linux projects have moved to SCon's and other systems (KDE is the most recent I can think of).. partly because cross platform development has become a big issue.

Anyways as to your second point, having both systems, I disagree.  First haiving both systems will be difficult to maintain.  Second; using a system such as SCon's allows use to provide multiple choices.  I'm not sure about Bakefile's but with Scon's it can build the code tree it's self, and it can also build project files for specefic IDE's such as MSVC.  With a little bit of work we can extend the system to build C::B project files.

Navigation

[0] Message Index

[#] Next page

Go to full version