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.
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.

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.

>> 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

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).

Thanks in advance for any hint ! (I guess just a few words should be
enough for the .LIB generation),

Olivier.

PS: thanks too for Agar, as the library is quite impressive indeed.

>
>   



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

Reply via email to