The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki

Allegro development

From Allegro Wiki
Revision as of 19:51, September 22, 2008 by Matt Smith (talk | contribs) (added link to Building_Allegro_4.9)
Jump to: navigation, search

This is the place for Allegro Development related things. Main discussion takes place on the mailing list, but the wiki can be used as a place where we can document general things about Allegro development, how to deal with patches, description of internal functions, and so on. Everything not in the main documentation, or which changes often. And it can be used a scratch pad for ideas, or as a place to store ideas or links to mailing list discussions, which haven't been implemented yet.

See NewAPI for design of the new (5.0) API.

Also, something like an Addon writer's guide could be useful.

Allegro Development

How Allegro Development is managed

Central point for development is the Allegro Developers (also called [AD]) mailing list:

And the code itself is here:

http://alleg.svn.sourceforge.net/viewcvs.cgi/alleg/allegro/

Evert Gleebbek is the official maintainer of Allegro. His role is much like Linus Torvalds for the linux kernel. Every patch is sent to [AD], and after some discussion by the developers Evert approves it, requests changes, or denies it. Of course, his decisions are based on the opinions of the other developers, and only in case no agreement can be found his veto power is relevant.

The list of developers is here: http://sourceforge.net/project/memberlist.php?group_id=5665

And some more which are not mentioned above.

SVN branches

There are three versions of Allegro.

4.2.x

The old 4.2 branch. This is currently the latest stable version.

Get its latest version here:

svn co https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/4.2 allegro-4.2

4.3.10+ (WIP)

The WIP branch for the upcoming allegro 4.4.0 release.

svn co https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/4.3.10plus allegro-4.3.10plus

4.9 branch (WIP)

svn co https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/4.9 allegro-4.9


Building from SVN

Detailed instructions for installing the add-on library dependencies are on Building_Allegro_4.9.

If you are trying to build the Unix port from SVN/CVS with 4.2.x or 4.3.x, you may need to run the following sequence of commands:

autoconf
autoheader
chmod +x fix.sh misc/*.sh
./fix.sh unix
./configure
make 

For 4.9, either type this for the scons build:

scons

or this for the cmake build:

ccmake .

There seems to be no interest in maintaining the autotools build currently.

SVN Mirrors

svn.tomasu.org (updated hourly)

web: http://svn.tomasu.org/index.cgi/allegro/browse/allegro/

svn: http://svn.tomasu.org/repos/allegro/allegro/

Allegro 4 development

See Allegro 4 development.

Potential newbies projects for Allegro 4.9

Occasionally (very occasionally) we get questions from newbies on how to help out with Allegro development. Usually we don't have a good answer. The knowledge level needed to work on Allegro 4.9 might be quite high, or simply the main developers don't have enough time to do hand holding (nor comment their code well enough ;). Nevertheless, there should be some tasks that someone new to Allegro development could work on. Here are some ideas:

  • Run valgrind on the examples. Look for bad behaviour such as memory and other resource leaks, use of undefined values, etc. If it looks simple enough, maybe try to fix it. Otherwise note the problem somewhere, like the mailing list or on the wiki.
  • Read the documentation and try to understand the API. Does it make sense? Is there behaviour that isn't specified that you think should be specified?
  • Write new examples testing functionality which hasn't been tested already. We need a lot more test cases.
  • Try to write a small demo using the new API. Warning: this could be a frustrating experience if you keep hitting bugs or unfinished code. On the other hand, that would be useful information.