On Sat, Jan 11, 2014 at 7:05 PM, Jeffrey Kegler <
[email protected]> wrote:

>  That's right -- environment CFLAGS should be honored by Libmarpa -- but
> not by XS and Module::Build!.
>
> The difference is tradition and practice.  GNU autoconf goes to a lot of
> trouble to honor the environment CFLAGS.  The tradition in Perl builds,
> however, is the opposite, I believe.  This means that if you are building
> Libmarpa via the normal install, CFLAGS will *not* be honored.  But if you
> build separately, they should be.
>
> If in a separate Libmarpa build, environment CFLAGS are not being honored,
> I will treat it as a bug and follow up.
>
This can be fixed by adding, e.g. --libmarpa-cflags and --xs-cflags to
Build script to be accessed via Module::Build's
args()<http://search.cpan.org/~leont/Module-Build-0.4204/lib/Module/Build/API.pod#METHODS>,
which I'd volunteer to do.


>
>
> -- jeffrey
>
>  On 01/11/2014 05:24 AM, Durand Jean-Damien wrote:
>
> A priori environment variable $CFLAGS should be honored.
> To be confirmed, though - I am not in front of this part of code right now
> -;
>
> Le samedi 11 janvier 2014 14:13:13 UTC+1, rns a écrit :
>>
>>  On Sat, Jan 11, 2014 at 2:34 PM, Durand Jean-Damien <
>> [email protected]> wrote:
>>
>>> Excellent.
>>>
>> I was thinking of adding options to Build script to enable others to do
>> warnings squashing, e.g.
>>
>>  --libmarpa-cflags
>>  --xs-cflags
>>
>>  to pass Wall, Za, Wp64 and possibly other flags to C compiler.
>>
>>  Makes sense, for reproducibiltiy? Perhaps somebody (e.g. me :) ) would
>> like to do some warnings squashing.
>>
>>  My module::build config::autoconf skills are sparse, so is this a
>> proper way to do such things with it? If not, what is?
>>
>>
>>>  Jeffrey, look to "possible loss of data" in the log.
>>>
>>>  A priori:
>>>
>>>  c:\.cpan\build\Marpa-R2-2.079_008\libmarpa_build\marpa_obs.h(121) :
>>> warning C4244: 'initializing' : conversion from '__w64 int' to 'const int',
>>> possible loss of data
>>> marpa_avl.c(114) : warning C4244: '=' : conversion from 'int' to
>>> 'unsigned char', possible loss of data
>>> c:\.cpan\build\Marpa-R2-2.079_008\libmarpa_build\marpa_obs.h(121) :
>>> warning C4244: 'initializing' : conversion from '__w64 int' to 'const int',
>>> possible loss of data
>>> marpa.w(5014) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'int', possible loss of data
>>> marpa.w(5023) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'int', possible loss of data
>>> marpa.w(5872) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'Marpa_AHFA_Item_ID', possible loss of data
>>> marpa.w(5888) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'Marpa_AHFA_State_ID', possible loss of data
>>> marpa.w(6060) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'Marpa_AHFA_State_ID', possible loss of data
>>> marpa.w(5059) : warning C4244: 'return' : conversion from '__w64 int' to
>>> 'int', possible loss of data
>>> marpa.w(5416) : warning C4244: 'return' : conversion from '__w64 int' to
>>> 'Marpa_AHFA_Item_ID', possible loss of data
>>> marpa.w(6399) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'Marpa_AHFA_State_ID', possible loss of data
>>> marpa.w(9326) : warning C4244: '=' : conversion from '__w64 int' to
>>> 'int', possible loss of data
>>> marpa.w(12512) : warning C4267: 'return' : conversion from 'size_t' to
>>> 'int', possible loss of data
>>> marpa.w(13306) : warning C4244: 'initializing' : conversion from '__w64
>>> int' to 'int', possible loss of data
>>> marpa.w(14886) : warning C4267: 'function' : conversion from 'size_t' to
>>> 'int', possible loss of data
>>> marpa.w(15350) : warning C4267: 'function' : conversion from 'size_t' to
>>> 'int', possible loss of data
>>> c:\.cpan\build\Marpa-R2-2.079_008\libmarpa_build\marpa_obs.h(121) :
>>> warning C4244: 'initializing' : conversion from '__w64 int' to 'const int',
>>> possible loss of data
>>> marpa_tavl.c(150) : warning C4244: '=' : conversion from 'int' to
>>> 'unsigned char', possible loss of data
>>> c:\perl-5.18.1\lib\CORE\inline.h(147) : warning C4244: 'return' :
>>> conversion from 'int' to 'char', possible loss of data
>>> c:\perl-5.18.1\lib\CORE\inline.h(155) : warning C4244: 'return' :
>>> conversion from 'int' to 'char', possible loss of data
>>>
>>>  Thanks / JD.
>>>
>>> Le samedi 11 janvier 2014 13:26:14 UTC+1, rns a écrit :
>>>>
>>>>   On Sat, Jan 11, 2014 at 2:12 PM, Durand Jean-Damien <
>>>> [email protected]> wrote:
>>>>
>>>>>  I am not in front of a Windows right now, but I know MSVC is very
>>>>> good also at finding 64bits portability 
>>>>> issues<http://msdn.microsoft.com/en-us/library/yt4xw8fh.aspx>.
>>>>> /Wp64 or /W4 option, would you mind to add it ?
>>>>>
>>>> Sure, log attached.
>>>>
>>>>    Thanks / JD.
>>>>>
>>>>> Le samedi 11 janvier 2014 12:58:31 UTC+1, rns a écrit :
>>>>>
>>>>>> Under winxp sp3 as part of Marpa::R2's install. /Wall is -Wall in a
>>>>>> happier world of gcc :) and /Za is a rough [1] equivalent of -ansi
>>>>>> -pedantic.
>>>>>>
>>>>>>  Log file attached, perhaps some warnings can be useful.
>>>>>>
>>>>>>  That's because libmarpa uses no MS-specific code, as MS system
>>>>>> headers are known to not compile with /Za [2], [3] and AFAIK, XS code
>>>>>> doesn't compile with /Za unless (possibly) windows.h is isolated in a 
>>>>>> file
>>>>>> with this option disabled.
>>>>>>
>>>>>>  [1] "GCC can be a lot more pedantic than VStudio" -- and vice
>>>>>> versa. They're pedantic about different things.
>>>>>> — http://stackoverflow.com/questions/2292701/what-visual-c-set
>>>>>> ting-option-flag-is-the-counterpart-of-ansi-pedantic-in-g
>>>>>>
>>>>>>  [2] http://stackoverflow.com/questions/5489326/za-compiler-direc
>>>>>> tive-does-not-compile-system-headers-in-vs2010
>>>>>>
>>>>>>  [3] http://connect.microsoft.com/VisualStudio/feedback/details/7
>>>>>> 80509/including-windows-h-and-compiling-with-za-disable-lang
>>>>>> uage-extensions
>>>>>>
>>>>>     --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "marpa parser" group.
>>>>>  To unsubscribe from this group and stop receiving emails from it,
>>>>> send an email to [email protected].
>>>>>
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>
>>>>     --
>>> You received this message because you are subscribed to the Google
>>> Groups "marpa parser" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>    --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to