Author Topic: How to use a nightly build  (Read 513614 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5517
How to use a nightly build
« on: May 29, 2006, 08:53:16 pm »
1. What is a nightly build
Nightly builds are provided "as is". They are "binary" distributions, normally provided daily, representing the latest and greatest state of the codeblocks sources. Normally they are pretty stable, but however they can introduce new bugs, regressions, and on the other hand they can introduce new features, bug fixes, ...


2. What does a nightly build contain
Before we describe what the builds contain, it might be better to start of with what the nightly builds DO NOT contain. For starters ask yourself the question : what is Code::Blocks ?
Well it's an IDE (Integrated Development Environment), it means it integrates different tools and makes them work together. So CB is NOT a compiler (nor MS, nor Borland, nor GCC), it is not a debugger (nor MS, nor GDB), it is not a makefile system ! So these components are NOT part of CB, and therefor they are also not part of the nightly build distributions. However several of the mentioned development components can be combined to work together nicely through CB. For example, you can plug-in the GCC compiler and GDB debugger and compile and debug your hand written applications.
CB itself is being compiled with GCC, on windows this is done by using the MinGW port. Since CB is a multi-threaded application it needs supporting routines providing it the multi-threading functionalities. This is provided by means of the MinGW port, more specifically the "mingwm10.dll", in every post announcing a new nightly build you can find a link to download this dll.
CB has a GUI, there are several ways to create a GUI, you can code by using the core Windows API (works only on Windows) or you can use MS-MFC (works only on Windows) or you can use some 3rd party abstraction of GUI's, like QT, wxWidgets, Tk, ...
CB uses wxWidgets, next to GUI abstraction, wxWidgets brings many more abstractions (strings, files, streams, sockets, ...) and the good thing is : wxWidgets brings these abstractions for many different platforms (Windows, Linux, Apple, ...). This means CB needs to be equipped with the real functionalities from wxWidgets (say the binary code doing the actual work), this is being achieved through a dll : "wxmsw28u_gcc_cb.dll". Again on every announcement post of a new nightly build you can find a download link for this dll.


3. How to install a nightly build
Allrighty, time for a small recap :
1) CB nightly
2) mingwm10.dll
3) wxmsw28u_gcc_cb.dll
Those are the 3 things we need to install and start up a nigthly build. All 3 of them are available in their own zip file, zipped by using the free and excellent 7-zip (www.7-zip.org). Just get your copy of 7-zip for unzipping.

Final steps :
1) unzip the CB nightly in some directory
2) unzip both dll's : requirement : they need to be in your PATH, most easiest is to unzip both of them into the same directory where you unzipped the nightly, so they reside next to the codeblocks.exe .

By performing these simple steps you nightly is ready to roll.

4. What's the deal with RC2 ?
Well RC2 and the nightlies are better not mixed, they can fight with one another, they use different versions of the 2 mentioned dll's. So the best thing is install your nightly into a different directory from the one used for your RC2 installation. For that matter, just remove RC2.
In the situation you downloaded the RC2 version containing the GCC compiler (?and debugger?), you can reuse those programs, but here I would advice not to use those either, in the meantime there are newer versions of the MinGW port of GCC. In the wiki you can find more details on how to manually install the Mingw GCC port, here are some links :

1) http://wiki.codeblocks.org/index.php?title=Nightly_Cookbook
2) http://wiki.codeblocks.org/index.php?title=MinGW_installation#gcc_3.4.4_manual_install
3) http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks#Alternative_method_for_installing_a_nightly_build
 

5. Upgrading the nightly
If you followed the advised approach your compilers, debuggers are separated from CB itself. This means you can delete your CB nightly install directory without any harm, since your user settings are stored in your user profile directory (eg. default.conf), and unzip the new nightly build, or you can unzip your new nightly build on top of your previous nightly build. In the latter case be sure to overwrite all files !!!

6. Reporting bugs/errors/ideas
Now that you have installed the nightly build and are using it, you might bump into bugs, or you get brilliant ideas for new features, in such a case we are kindly asking ( :twisted: :twisted:) you to follow the protocol as specified here :
- you can discuss your problems into the thread of the nightly build you came across them
- ALWAYS specify which nightly build you are using, even if you post in the thread of a certain nightly, it's well possible you might be discussing an issue which is present for some longer time
- once you are sure it is a bug (100% reproducable, or from feedback from other users), head over to our project page at berlios and report your bug there, in the forum it will be lost, we can't memorize all posts ;-)
This is the link to berlios : http://developer.berlios.de/projects/codeblocks/
The same applies for feature requests/suggestions you might have. Once more the links, direct links for each type of feedback :
 --> bugs : http://developer.berlios.de/bugs/?group_id=5358   (use the "Submit A New Bug" link on the page)
 --> feature requests : http://developer.berlios.de/feature/?group_id=5358  (use the "Submit A Feature Request" )

ENJOY
« Last Edit: September 16, 2007, 12:36:03 pm by killerbot »