develooper Front page | perl.perl5.porters | Postings from January 2004

[perl #25268] h2xs does not create VERSION stubs

Thread Previous | Thread Next
From:
perlbug-followup
Date:
January 26, 2004 21:53
Subject:
[perl #25268] h2xs does not create VERSION stubs
Message ID:
rt-3.0.8-25268-72191.4.64187948006256@perl.org
# New Ticket Created by  davidnico@cpan.org 
# Please include the string:  [perl #25268]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=25268 >


This is a bug report for perl from davidnico@cpan.org,
generated with the help of perlbug 1.33 running under perl v5.6.1.


-----------------------------------------------------------------
[Please enter your report here]


nobody knows about the VERSION method except people who
have thoroughly read perldoc -f use.  I believe that it
would be a good thing if h2xs added a default VERSION
method to the code it creates, and commented it out.  This
commented-out code would have an obvious way to edit it in
order to create a VERSION method that knows what lower version
numbers the current version is incompatbile with.  

Let's say the current version is 2.3.4 and the current version
supports the same interface as everything from 1.0.0 to 2.2.3
but then an incompatibility was introduced in 2.2.4 which was
taken out in 2.3.1.  We would want to describe this situation
by uncommenting the VERSION code and editing a configuration
structure something like this:

    {
	my %VERSION_INCOMPATIBILITY;

	$VERSION_INCOMPATIBILITY{'[0.0.0,1.0.0)'} = 
		"constructor syntax has changed";
	$VERSION_INCOMPATIBILITY{'[2.2.4,2.3.1)'} = 
		"frobniz method croaks without second argument";

	sub VERSION{
		... not sure exactly what goes here,
		but it parses (keys %VERSION_INCOMPATIBILITY)
		comparing each to the provided parameter; 
		`perldoc -f use` is not clear on whether the
		desired version arrives in $_[0] or $_[1] ...

	}
    }


And the above would be commented out, along with instructions
for using it, just like the discussion of %EXPORT_TAGS which
now appears in h2xs-provided skeletons.




[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=utilities
    severity=wishlist
---
Site configuration information for perl v5.6.1:

Configured by bhcompile at Mon Aug 18 16:06:54 EDT 2003.

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=linux, osvers=2.4.21-1.1931.2.393.entsmp, archname=i386-linux
    uname='linux porky.devel.redhat.com 2.4.21-1.1931.2.393.entsmp #1 smp thu aug 14 14:47:21 edt 2003 i686 unknown '
    config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Dinc_version_list=5.6.0/i386-linux 5.6.0'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
    optimize='-O2 -march=i386 -mcpu=i686',
    cppflags='-fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
    libc=/lib/libc-2.2.4.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:
    

---
@INC for perl v5.6.1:
    /usr/lib/perl5/5.6.1/i386-linux
    /usr/lib/perl5/5.6.1
    /usr/lib/perl5/site_perl/5.6.1/i386-linux
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl/5.6.0/i386-linux
    /usr/lib/perl5/site_perl/5.6.0
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
    /usr/lib/perl5/vendor_perl/5.6.1
    /usr/lib/perl5/vendor_perl
    .

---
Environment for perl v5.6.1:
    HOME=/home/david
    LANG=en_US
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/kerberos/bin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/usr/games:/opt/gnome/bin:/usr/X11R6/bin:/home/david/bin
    PERL_BADLANG (unset)
    SHELL=/bin/bash

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About