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