[Templates] Re: Installing Tempalte-Toolkit 2.15 under Windows

Robert Hicks sigzero@gmail.com
Thu, 01 Jun 2006 08:26:33 -0400


Randy Kobes wrote:
> On Mon, 29 May 2006, Anatoly I. Zakharchenko wrote:
> 
>> Hi,
>>
>> I'm trying to install the Template-Toolkit 2.15 in Win2000,
>> but I have a problem in the compiling phase.
>>
>> I edited Stash.xs in the installation folder, inserting additional 
>> macro definitions as follows:
>>
>> #ifdef WIN32
>> #define snprintf _snprintf
>> #endif
>>
>> However,  i see the following error message:
>>
>> D:\Template-Toolkit-2.15>nmake
>>
>> Microsoft (R) Program Maintenance Utility Version 7.10.3077
>> Copyright (C) Microsoft Corporation.  All rights reserved.
>>
>>        nmake -f Makefile all -nologo
>>        cl -c    -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 
>> -D_CONSOLE -DNO_ST
>> RICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE 
>> -DPERL_IMPLICIT_CONTEX
>> T -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi 
>> -DNDEBUG -O1
>> -DVERSION=\"2.15\"  -DXS_VERSION=\"2.15\"  "-ID:\Perl\lib\CORE"   Stash.c
>> Stash.c
>> Stash.xs(57) : error C2010: '.' : unexpected in macro formal parameter 
>> list
> 
> I see that too with VC 6. The problem is that the compiler
> doesn't like the dots on line about line 51 of Stash.xs:
>    #define debug(format, ...)
> I'm not sure of a general, portable fix, but one
> workaround is to get rid of this line, and then delete
> all the calls to debug() in Stash.xs. Another way,
> which may be more useful in the future when debugging
> is enabled, is to have debug() just take one argument:
>    #define debug(format)
> and then change all the debug() calls to take just
> one argument.
> 
Maybe we should see about getting that into 2.16 since that is close to 
being released.

:Robert