Hi,

thanks for your answer. Yes if I remember correctly I could generate
with Visual 2008 a non-empty (but non-tested, short of having a .lib)
DLL for Agar-core and, I think, Agar-gui as well (not sure), with little
or no change in the code (version 1.3.2).

The build failed with the project files which were automatically
revamped from their Visual 2005 counterparts, but I had anyway to create
my project files from scratch, as I will build by script Agar among a
larger set of libraries (see
http://osdl.sourceforge.net/OSDL-latest/LOANI.html). Hence my need to be
able to specify to the configure script prefixed installation of Agar's
prerequisites (ex: SDL, libjpeg as well I think, etc.).

For what it's worth, here are the files I then checkined:
http://osdl.svn.sourceforge.net/viewvc/osdl/OSDL/trunk/src/conf/build/visual-express/Agar-from-LOANI/

I have little chance to be able to investigate the Windows build before
~10 days, but I would be glad to test it then.

With the -pedantic flag you will find that there are some multiple
declarations of functions in headers.
Probably the most serious fix would be the one in string_compat.h, as it
looks really like a bug.

Finally, thanks a lot for the Agar library, I intend to make heavy use
of it, as finding a good GUI over OpenGL does not seem easy.

Best regards,

Olivier.

Julien Nadeau a e'crit :
> Hi. Sorry for the late reply,
>
> On Fri, Oct 03, 2008 at 03:27:06PM +0200, Olivier Boudeville wrote:
>   
>> Hi Julien,
>>
>> thanks for your answer. Below are a few precisions:
>>
>> Julien Nadeau a ?crit :
>>     
>>> On Fri, Oct 03, 2008 at 01:47:55PM +0200, Olivier Boudeville wrote:
>>>   
>>>       
>>>> Hi again,
>>>>
>>>> I am still stuck with the Visual 2008 build, still no luck figuring out
>>>> how a .LIB could be generated from the Agar 1.3.2 sources. Any hint on
>>>> that topic or the others I raised two months ago?
>>>>         
>>> As I said in my original response, Visual Studio 2008 is a defective,
>>> non-standard C compiler. It fails because of an empty macro argument.
>>> The workaround would be trivial - remove the first argument to
>>> AG_TAILQ_HEAD(), but instead I'd recommend that you try a supported
>>> version of Visual Studio, such as 2005.
>>>   
>>>       
>> I think you confused my question with the one asked by ADI64: I am not
>> stuck because of a macro, I just would like to understand how, with a
>> Microsoft compiler (be it 2005 or 2008) the .LIB can be produced.
>>     
>
> Oh, I just assumed it was the same issue. So you were able to compile
> Agar successfully under VC2008 without any problems, other than the
> missing .LIB?
>
>   
>> Obviously it must work (at least with 2005), but I thought the two
>> methods for having a .LIB generated was to use export declaration in
>> header files (__declspec( dllexport ) etc.) or to use a .def file. I
>> could not see either of them in Agar files (I must have overlooked
>> something), so any hint about the method used would help me a lot.
>>     
>
> Yes, for some reason that was not needed with 2005. The headers in the
> source .zip (but not the tar.gz) are now generated to include these
> declarations. Please give it a try:
>
>       http://beta.hypertriton.com/agar/agar-1.3.3-rc2.zip
>
>   
>> Regarding the 2005 vs 2008 issue, I think too these compilers are far
>> from perfect, but I was hoping 2008 could be (even marginally) better
>> than 2005. I used it successfully to build all my pre requisites other
>> than Agar (including SDL, libjpeg, zlib , libpng, SDL_image, SDL_gfx,
>> freetype, SDL_ttf, libogg, libvorbis, SDL_mixer) so I felt like trying
>> it on Agar and - if needed - contributing back some patches or project
>> files. Currently I can generate the corresponding DLL but sadly no LIB
>> is produced.
>>     
>
> Please try again with 1.3.3-rc2 and let me know if the LIB is produced
> as expected.
>
>   
>>>> On the Linux side, there is a typo in include/agar/agar/core/rcs.h. No
>>>> comma should exist after AG_RCS_DESYNCH, the compiler complains:
>>>>
>>>> enum ag_rcs_status {
>>>>     AG_RCS_ERROR,     /* Status unavailable */
>>>>     AG_RCS_UNKNOWN,     /* Not on the repository */
>>>>     AG_RCS_UPTODATE, /* Working copy = last rev and checksum matches */
>>>>     AG_RCS_LOCALMOD, /* Working copy = last rev and checksum mismatch */
>>>>     AG_RCS_DESYNCH,     /* Working copy < last rev */
>>>> };
>>>>         
>>> Out of curiosity, what compiler are you using? I'll remove it, but I've
>>> never had any problems with this code, it has been there for years and
>>> tested under many different compilers.
>>>   
>>>       
>> On Linux I am using a vanilla gcc 4.2.3  from Ubuntu, with following
>> options:
>>
>> -g -ggdb -O0 -fno-inline -Wall -Werror -Woverloaded-virtual -W
>> -Wfloat-equal -Wundef -Wendif-labels -Wshadow -Wpointer-arith
>> -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare
>> -Wmissing-format-attribute -Wredundant-decls -Wno-unused-parameter
>> -Wno-unknown-pragmas -Wno-long-long -ansi -pedantic-errors
>>     
>
> Thanks, I'll give -pedantic-errors a try.
>
>   
>> All the pre requisites I listed can be built with that same flags, but I
>> think I will have to relax them a bit, since Agar uses C99-variadic
>> macros (ex: #define AG_TableviewRowAdd(...)
>> AG_TableviewRowAddFn(__VA_ARGS__, -1) in tableview.h).
>>     
>
> That's ok, this was the only instance of a variadic macro in Agar. It was
> a previously undocumented interface and it was removed in 1.3.3.
>
>
>
>   



_______________________________________________
Agar mailing list
[email protected]
http://libagar.org/lists.html

Reply via email to