Front page | perl.perl5.porters |
Postings from March 2014
[perl #121494] win32/Makefile comments says USE_ITHREADS must have USE_MULTI but it ignores USE_MULTI instead
From:
bulk88
Date:
March 24, 2014 05:57
Subject:
[perl #121494] win32/Makefile comments says USE_ITHREADS must have USE_MULTI but it ignores USE_MULTI instead
Message ID:
rt-4.0.18-8695-1395640627-641.121494-75-0@perl.org
# New Ticket Created by bulk88
# Please include the string: [perl #121494]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=121494 >
This is a bug report for perl from bulk88@hotmail.com,
generated with the help of perlbug 1.40 running under perl 5.19.10.
-----------------------------------------------------------------
[Please describe your issue here]
Given the attached makefile diff. I turned off USE_IMP_SYS and
USE_MULTI, but left USE_ITHREADS at the (default) on. I got a
PERL_IMPLICIT_CONTEXT with that which I didn't want. Ignore the -V at
the bottom.
win32/Makefile says
-----------------------------------------------------------------
#
# uncomment to enable multiple interpreters. This is need for fork()
# emulation and for thread support.
#
USE_MULTI = define
#
# Beginnings of interpreter cloning/threads; now reasonably complete.
# This should be enabled to get the fork() emulation. This needs
# USE_MULTI as well.
#
USE_ITHREADS = define
------------------------------------------------------------------
but infact, none of the requirements mention in the comments are
followed or error out by the makefile's logic. Later on in
win32/Makefile there is
------------------------------------------------------------------
!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
USE_MULTI = define
!ENDIF
!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
USE_MULTI = define
!ENDIF
------------------------------------------------------------------
which "helps" your incompatible choices become compilable (but not with
what you wanted to choose). Either the "help" logic should be removed
and a hard error says the choices are incompatible, or the comments
reworked to describe the help logic. The one of the previous versions of
the comments in the diffs below used the word "auto-enabled" as in "#
made by perl. This is needed and auto-enabled by USE_OBJECT above."
The comments were added in
http://perl5.git.perl.org/perl.git/commitdiff/d08ede9a86fc6f23c9d8f6a6b0ba2b5edd36ad0f
and the "help" logic added 1 day before in
http://perl5.git.perl.org/perl.git/commitdiff/6f4183fe04888927cb36b966262c959c5166404b
or depending how you interpret the blame, 7 months earlier in
http://perl5.git.perl.org/perl.git/commitdiff/0b94c7bb9a33fcbef93724c1b5f96b2616e1e13f
, all by Gurusamy Sarathy.
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=low
---
Site configuration information for perl 5.19.10:
Configured by Owner at Sat Mar 15 22:30:42 2014.
Summary of my perl5 (revision 5 version 19 subversion 10) configuration:
Derived from: 2179658b5e799a6e3c4e736ec7c84b0f50bf3473
Ancestor: e9251c1a8f4944e6dceff5240d9e109ba075ff29
Platform:
osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -G7 -GL
-DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS
-DPERL_HASH_FUNC_ONE_AT_A_TIME -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T',
optimize='-O1 -MD -Zi -DNDEBUG -G7 -GL',
cppflags='-DWIN32'
ccversion='13.10.6030', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-ltcg -libpath:"c:\perl519\lib\CORE" -machine:x86'
libpth="C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\lib"
libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl519.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -ltcg -libpath:"c:\perl519\lib\CORE" -machine:x86'
Locally applied patches:
uncommitted-changes
2179658b5e799a6e3c4e736ec7c84b0f50bf3473
---
@INC for perl 5.19.10:
C:/perl519/site/lib
C:/perl519/lib
.
---
Environment for perl 5.19.10:
HOME (unset)
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=C:\perl519\bin;C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\IDE;C:\Program Files\Microsoft Visual Studio .NET
2003\VC7\BIN;C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\Tools;C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\Tools\bin\prerelease;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;
PERL_BADLANG (unset)
SHELL (unset)
-
[perl #121494] win32/Makefile comments says USE_ITHREADS must have USE_MULTI but it ignores USE_MULTI instead
by bulk88