http://sourceforge.net/projects/alleg/files/allegro/5.0.3/
Changes from 5.0.2.1 to 5.0.3 (May 2011)
========================================
Input:
- Fixed keyboard repeat for extended keys on Windows.
Added ALLEGRO_KEY_MENU. (torhu)
- Make Delete key in Windows send KEY_CHAR event with unichar code 127
(Peter Wang).
Filesystem:
- al_remove_filename returned false even if successful (reported by xpolife).
Graphics:
- On OpenGL ES 1.1, glReadPixels can only read 4 byte pixels (Trent Gamblin).
Font addon:
- Fix a small memory leak when unregistering a handler with
al_register_font_loader (Trent Gamblin).
Primitives addon:
- Fix assertion failures when drawing al_draw_ellipse, al_draw_arc,
al_draw_rounded_rectangle, al_draw_filled_rounded_rectangle at very
small scales (reported by Carl Olsson).
Native dialogs addon:
- gtk: Fix truncated string if the final button contained a non-ASCII
character (Peter Wang).
Other:
- Minor build fixes and documentation updates.
MD5SUMS: c79631f6adadbe4bce85ccbf795cbd74 allegro-5.0.3.7z 159ca85ea51c0447d951d720b06079f2 allegro-5.0.3.tar.gz 46db245202a7503063f21b691fdb503c allegro-5.0.3.zip
Thank you Peter.
Awesome! Thanks!
Downloading.
Downloading and using. Thx guise!@
Ask Mark said, thanks for the update and the fresh builds ^^
There's not much in this release. Does it mean A5 is nearing perfection?
A5.0 is nearing perfection. A5.1 has more stuff.
As I mentioned here, I'm having trouble with the fonts addon when statically linking. I have no idea what the problem is, but I'm thinking that I'd like to try using a monolith build to see if that works. And even if it doesn't fix the problem, I think it would be more convenient anyway.
I'm using MinGW 4.6.0, for which the Allegro binaries are not available. So... are there any instructions floating around somewhere for how to build a static / dynamic allegro5 monolith? (I can't downgrade to gcc 4.5, because I need the c++0x features.)
[edit]
The problem in that other thread is now resolved. But I'm still a little interested in how to make a monolith build.
[edit again]
never mind. I've worked it out. It's actually pretty easy. Here are the steps.
Build the allegro libraries, so that you have a directory containing liballegro_acodec-static.a, liballegro_audio-static.a, and so on.
extract the *.obj files from those libraries using the 'ar' command. eg. on windows type
for %x in (*.a) do ar x %x
recombine those *.obj files into a single library, again with ar.
ar rcs liballegro-monolith.a *.obj</terminal>
And that's all! liballegro-monolith.a is the monolith library, and all the other *.a and *.obj files can be deleted.
(edit yet again.. what's with the '</terminal>' at the end of my instructions? I can't see any surplus </terminal> in what I've typed)
I have one small issue with this release (also noticed in the previous release). When building on Mac OS X with native image loading disabled I get an error on addons/image/png.c:
/Users/toddcope/Downloads/allegro-5.0.3/addons/image/png.c:18: error: ‘Z_BEST_COMPRESSION’ undeclared here (not in a function) /Users/toddcope/Downloads/allegro-5.0.3/addons/image/png.c:18: error: ‘Z_BEST_COMPRESSION’ undeclared here (not in a function)
Adding #include <zlib.h> to the top of png.c fixes the issue.
Thanks. We had that fixed in the 4.4 branch.
Allegro 5 is worse.
The signature is truth.
The signature is truth. 
Hm, maybe now I really get that April Fool's - the joke was that it wasn't a joke but nobody would realize.
How do I have to use the
liballegro-5.0.3-monolith-static-mt-debug.a
? because if I link to it, it gives my a lot of errors, and if I link to the system binaries too, it's the same.
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `render_glyph':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|184|undefined reference to `FT_Get_Char_Index'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|199|undefined reference to `FT_Load_Glyph'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|321|undefined reference to `FT_Get_Char_Index'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|321|undefined reference to `FT_Get_Kerning'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `destroy':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|445|undefined reference to `FT_Done_Face'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `al_load_ttf_font_f':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|512|undefined reference to `FT_Open_Face'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|530|undefined reference to `FT_Attach_File'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|535|undefined reference to `FT_Attach_File'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|541|undefined reference to `FT_Set_Pixel_Sizes'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|553|undefined reference to `FT_Request_Size'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|563|undefined reference to `FT_Get_First_Char'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|565|undefined reference to `FT_Get_Next_Char'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `al_init_ttf_addon':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|630|undefined reference to `FT_Init_FreeType'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `al_shutdown_ttf_addon':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|658|undefined reference to `FT_Done_FreeType'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(flac.o)||In function `init_dynlib':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|112|undefined reference to `FLAC__stream_decoder_new'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|113|undefined reference to `FLAC__stream_decoder_delete'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|114|undefined reference to `FLAC__stream_decoder_init_stream'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|115|undefined reference to `FLAC__stream_decoder_process_single'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|116|undefined reference to `FLAC__stream_decoder_process_until_end_of_metadata'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|117|undefined reference to `FLAC__stream_decoder_process_until_end_of_stream'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|118|undefined reference to `FLAC__stream_decoder_seek_absolute'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|119|undefined reference to `FLAC__stream_decoder_flush'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|120|undefined reference to `FLAC__stream_decoder_finish'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(flac.o)||In function `error_callback':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|249|undefined reference to `FLAC__StreamDecoderErrorStatusString'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(flac.o)||In function `flac_open':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|500|undefined reference to `FLAC__StreamDecoderInitStatusString'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(modaudio.o)||In function `init_libdumb':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|294|undefined reference to `duh_render'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|295|undefined reference to `duh_sigrenderer_get_position'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|296|undefined reference to `duh_end_sigrenderer'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|297|undefined reference to `unload_duh'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|298|undefined reference to `duh_start_sigrenderer'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|299|undefined reference to `dumbfile_open_ex'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|300|undefined reference to `duh_get_length'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|301|undefined reference to `dumb_exit'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|302|undefined reference to `register_dumbfile_system'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|303|undefined reference to `dumb_read_it'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|304|undefined reference to `dumb_read_xm'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|305|undefined reference to `dumb_read_s3m'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|306|undefined reference to `dumb_read_mod'| C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ogg.o)||In function `init_dynlib':| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|99|undefined reference to `ov_clear'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|100|undefined reference to `ov_open_callbacks'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|101|undefined reference to `ov_pcm_total'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|102|undefined reference to `ov_info'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|104|undefined reference to `ov_time_total'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|105|undefined reference to `ov_time_seek_lap'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|106|undefined reference to `ov_time_tell'| d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|107|undefined reference to `ov_read'| ||=== Build finished: 46 errors, 0 warnings ===|
The good news is that it gives me 0 warnings.
Static libraries require also dependencies. Link also:
libdumb-0.9.3-static-mt-debug.a libFLAC-1.2.1-static-mt-debug.a libfreetype-2.4.4-static-mt-debug.a libogg-1.2.1-static-mt-debug.a libvorbis-1.3.2-static-mt-debug.a libvorbisfile-1.3.2-static-mt-debug.a libzlib-1.2.5-static-mt-debug.a
Those are included in packages.
ohh I see... Thank YA!