|
This thread is locked; no one can reply to it. |
1
2
|
test fest |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Nevermind. Ctrl ^C works from the console after you switch back to it.
My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Thomas Fjellstrom
Member #476
June 2000
|
Sorry about the 404's I was messing with the index script today. Felt like making it a little fancier, and I was having issues with mod_rewrite. Quote: The downloads for both the .7z and .zip archives of 4.3.11r11485 keep failing midway through without any error messages All I can say is I've downloaded the zip just fine, and it was fairly fast too. like 600KB/s or more. -- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
All the versions of Allegro 4.3.11 Rev. 11485 compiled fine again, with one warning from the profiling static version (only) : c:\mingw\allegro-4.3.11plusSVN_11485>mingw32-make STATICLINK=1 all ..... tests/test.c:4637: warning: zero-length printf format string All 4 versions of AGL compiled fine again, as well as Logg. Still some trouble with JpgAlleg though : I'm also having problems building the non-static versions of the jpgalleg addon. I attached a text file of the build log (I'm using the DEBUG=1 option until DEBUGMODE is sorted out). Errors (from allegro/addons/jpgalleg/ dir) : // gcc -s -L../../lib/mingw32 obj/mingw32/ex1.o -o examples/ex1.exe lib/mingw32/libjpgad.a -lalleg Info: resolving _screen by linking to __imp__screen (auto-import) Info: resolving _allegro_error by linking to __imp__allegro_error (auto-import) fu000001.o:(.idata$2+0xc): undefined reference to `lib_mingw32_liballeg_a_iname' fu000002.o:(.idata$2+0xc): undefined reference to `lib_mingw32_liballeg_a_iname' fu000004.o:(.idata$2+0xc): undefined reference to `lib_mingw32_liballeg_a_iname' nmth000000.o:(.idata$4+0x0): undefined reference to `_nm__screen' nmth000003.o:(.idata$4+0x0): undefined reference to `_nm__allegro_error' mingw32-make: *** [examples/ex1.exe] Error 1 // Also, the -g flag is not being passed to the command line during compilation, and it is not added in any of the makefile references to CFLAGS, so none of jpgalleg actually has debugging symbols anyway. It also looks like the debug version uses -fomit-frame-pointer, doesn't that ruin the stack for debugging purposes? LoadPng compiled fine, except for the deprecated function warnings for browse.c again. I made a unified diff of the minimum amount of changes necessary to preserve exact functionality and to remove the deprecated function calls. If you use it, you might want to run dtou on it, as it has CRLF line endings. I didn't know which kind of line endings you might want for a diff file. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Milan Mimica
Member #3,877
September 2003
|
I've fixed the debug build issues with JPGAlleg. Quote: I'm also having problems building the non-static versions of the jpgalleg addon. You can't compile a non-static version of JPGAlleg and link it against static Allegro. That would complicate things and it's useless in general. I've also made an attempt to fix the issues with building addons on MacOSX. Script allegro-config should be generated in the build dir now, but it's completely untested and I would appreciate if someone could give it a try. Just remember to remove allegro-config from the build dir first (if it is there by any chance). edit: Oh, and I've applied your patch Edgar. Thanks for all.
-- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Quote: You can't compile a non-static version of JPGAlleg and link it against static Allegro. That would complicate things and it's useless in general. So should dynamic library builds always link against other dynamic libraries then? Because to build the dynamic libvorbis libraries I had to hack the build process so that they were linked against the static libogg libraries. I take it this was not correct then? Conversely, if I forced them to link to the dynamic libogg libraries to build the static libvorbis libraries, that would be incorrect also? Perhaps my 'fix' isn't really a sound fix then. Re: Newest strangesoft snapshot of 4.3.11-r11520 - The .7z file is only 1.0MB, and can't be opened by 7-zip as an archive. The zip file worked fine for me though. Testing revision 11520 : The dynamic versions of JpgAlleg still won't build though. (The makefiles look much cleaner with your latest update BTW). Quote: You can't compile a non-static version of JPGAlleg and link it against static Allegro. I'm not sure I know what you're getting at here. So why not link the dynamic JPGAlleg library to dynamic Allegro then? <Doing some research...> Okay, I think I get it. The 'ar' utility doesn't actually create an export library, does it. So wouldn't 'dllwrap' or 'dlltool' be more appropriate to use then? I guess my main concern is that not all of the addon's build systems mesh perfectly with Allegro's. That is, I think that they should all support the same 6 build options that Allegro does - make [ "" (Optimized) | DEBUGMODE=1 | PROFILEMODE=1 ] [ "" (Dynamic) | STATICLINK=1 ]
with make all [ "" (Dynamic) | STATICLINK=1 ] building all 3 versions of the dynamic or static library, and having the WITH_* defines pass those same options to the individual add on packages. - even if it is only to say that My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Milan Mimica
Member #3,877
September 2003
|
Quote: So should dynamic library builds always link against other dynamic libraries then?
Yes, unless you want something else. Then you should change the makefile, which is acceptable. Quote: So why not link the dynamic JPGAlleg library to dynamic Allegro then? Where did it say not to? That works for me. According to that log file you've sent, it works for you too. Quote: That is, I think that they should all support the same 6 build options that Allegro does Would be nice, but they just don't.
-- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Quote: Each of the four can be linked as static or dynamic. That makes 2^3=8 combinations! Not to mention different build types and there is 4 addons, and some of them have more than one dependency. I don't want that in allegro makefiles. That's fine with me. I never said I wanted to cross breed static and dynamic builds. Quote: Where did it say not to? That works for me. According to that log file you've sent, it works for you too. But the dynamic build of JpgAlleg isn't working though. The examples don't build in the dynamic version due to undefined references. Here's my latest build log of the four different versions of JpgAlleg (static/dynamic , debugging/optimized) for Revision 11520 :
So the static optimized version, and the static debug version both build fine along with the examples, but then the dynamic optimized and the dynamic debug versions fail to compile the example programs. All four versions of the library call the 'ar' utility in the same way (pseudocode) : ar rs LIB_NAME $(OBJ_LIST) I don't have any dll's in the jpgalleg\lib\mingw32 folder, and I don't think the 'ar' utility creates an export library, so you're really confusing me here.
// gcc -c -s -I./include -I../../include -march=pentium -O0 -g2 -Wall -W -DALLEGRO_STATICLINK -DDEBUG -DDEBUGMODE examples/ex1.c -o obj/mingw32/ex1.o gcc -s -L../../lib/mingw32 obj/mingw32/ex1.o -o examples/ex1.exe lib/mingw32/libjpgad_s.a -lalld_s -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lole32 -ldinput -lddraw -ldxguid -lwinmm -ldsound // See how the statically linked version of the ex1 object file gets placed into the obj/mingw32 folder instead of the obj/mingw32/jpgalls folder? That still doesn't solve the missing dynamic libraries though. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Milan Mimica
Member #3,877
September 2003
|
Apparently, JPGAlleg can't be built as a shared lib either. But you can make it link to a shared allegro. The problem here is that make was reusing .obj files from the previous build (where .objs were built with the ALLEGRO_STATICLINK=1 flag). A "make clean" in between would work around it. I've fixed it in SVN now. Um, actually, none of the addons can be built as a DLL. I like that EDIT: Yes, it took me an hour to write this post.
-- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
You found the necessary changes much faster than I did. I had only gotten through $(EXAMPLE_OBJECTS) and $(EXAMPLES) by the time you had it fixed in SVN. OT : Now that I've gotten a local working copy of 4.3.11 from SVN, it's so much nicer to just use TortoiseSVN to 'Update' than download it all each time. Quote: Apparently, JPGAlleg can't be built as a shared lib either. But you can make it link to a shared allegro. Okay, so does that mean that when I want to link my program to allegro dynamically that I link against libjpgad.a and libjpgal.a, and when I want to link my program to allegro statically that I link to libjpgad_s.a and libjpgal_s.a? (Only linking to the appropriate debugging or optimized one of course) Quote: Yes, it took me an hour to write this post. Me too! I'm slow. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Trent Gamblin
Member #261
April 2000
|
Milan, I can test it on osx in a few days when I get a macbook and after I figure out how to use it.
|
Evert
Member #794
November 2000
|
Quote: Milan, I can test it on osx in a few days when I get a macbook and after I figure out how to use it. I could do it today or tomorrow if I have time between shopping, skype, work and Allegro 5. |
Milan Mimica
Member #3,877
September 2003
|
Quote: Okay, so does that mean that when I want to link my program to allegro dynamically that I link against libjpgad.a and libjpgal.a, and when I want to link my program to allegro statically that I link to libjpgad_s.a and libjpgal_s.a? Yes. I'm glad we settled this.
-- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Quote: Yes. I'm glad we settled this. You have to admit though, that it sounds a little strange to have a "dynamic" version of a library that is actually static. Whatever though, I'll get used to it. Okay, so, all 4 versions of JpgAlleg and the examples build fine for me now. Thank you, Milan. A while back, I made a thread about adding a mouse_on_screen() function to Allegro here : I was wondering if it would be alright to have this function added to Allegro. All it does is return a copy of allegro's _mouse_on variable that indicates whether the mouse is on the screen or not, but it's very useful to prevent having two mouse pointers on the screen at the same time when running in windowed mode and you're drawing the mouse pointer yourself. It would also allow other effects such as pausing the game when the mouse goes off the window, and only scrolling when near the edge of the window, but not while off of the window, etc... Thanks again, My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Milan Mimica
Member #3,877
September 2003
|
The mouse_on_screen() looks good to me. You know what would be nice? If you made a ready-to-apply patch with docs and everything That TortoiseSVN of yours must have a feature of creating diffs.
-- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
No, I don't mind making a patch. Does SVN sort out DOS and UNIX line endings automatically? Do I need to change the .def file? I think that will be taken care of when 'misc/fixdll.sh' is run before the distribution is put together, but I'm not certain. What format is the documentation supposed to be in? Give me a little while to figure out the _tx stuff, and I'll get back to you.
Quote: That TortoiseSVN of yours must have a feature of creating diffs. Right Click on local working copy of allegro folder -> TortoiseSVN -> Create Patch. That's handy. The Tortoise UDiff viewer even makes it look nice too. The diff it made is a little odd though - there were two lines in allegro._tx that had degree symbols changed to an Angstrom and degree symbol. Must be some encoding problem. Since my default save encoding in Code Blocks is UTF-8, I think I changed allegro._tx from Windows-1252 into UTF-8, and so the degree symbol changed. Hold on, let me try again. Alright, I resaved the files as Windows 1252, and now the patch looks right : Please take a look and see if there's anything that I missed in there. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Milan Mimica
Member #3,877
September 2003
|
Quote: Does SVN sort out DOS and UNIX line endings automatically? We keep UNIX line endings in SVN, but it's only important that line endings in the patch are consistent. In yours they are not, but it's not a big deal. Looks good, I've applied it.
-- |
lemranger
Member #10,003
July 2008
|
Milan, the OS X build worked fine. I did not remove any config files or do anything out of the ordinary - just the fix.sh, make, install and the lib and addons all compiled and ran without a hitch. Nice! iMac intel, 10.5.6 Paul |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Quote: We keep UNIX line endings in SVN, but it's only important that line endings in the patch are consistent. In yours they are not, but it's not a big deal. Weird. Sorry about that. The nice thing about Code Blocks is that it displays LF and CRLF line endings the same way, but that's also the reason why I didn't notice it. In the future, I can enable the display of EOL chars in Code Blocks to check first before I submit a patch. So it looks like the CRLF's were introduced when I created the patch with TortoiseSVN, because the old code context and the new code replacement in the diff were all LF line endings, and just the info about which files it was relating to used CRLF. Quote: Looks good, I've applied it. Cool, glad to be of service. I've got a couple other functions related to programmatically finding information on arbitrary graphics driver modes being fullscreen or windowed that I'd like to submit, but I need to go over them again, and create a thread and/or post to them [AD] first. Were you planning on making a release soon for Allegro 4.4 if the MacOS build system checks out? My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Milan Mimica
Member #3,877
September 2003
|
Quote: I've got a couple other functions related to programmatically finding information on arbitrary graphics driver modes being fullscreen or windowed that I'd like to submit, but I need to go over them again, and create a thread and/or post to them [AD] first. [AD] would be the the best place to post such things Quote: Were you planning on making a release soon for Allegro 4.4 if the MacOS build system checks out? I would have released it months ago but it's not up to me in the end. Just wanted to nail down this few known issues to make the 4.4 release the most stable ever. If it ever comes out that is. We're all too excited about A5. It would be also fair to mention it in this thread: DOS is broken in 4.3.10plus and likely will stay so.
-- |
Peter Wang
Member #23
April 2000
|
I vote Milan for 4.4 branch Tsar.
|
GullRaDriel
Member #3,861
September 2003
|
Since the vote is started, I also vote for a 4.4 public release. "Code is like shit - it only smells if it is not yours" |
Elias
Member #358
May 2000
|
Was the vote about whether to have a 4.4 release, or whether to have Milan be the Tsar? I vote for both in any case -- |
|
1
2
|