FAQ
Configure defines two variables, pm_apiversion and xs_apiversion, that
are said to be used to include additional directories in @INC (according
to Porting/Glossary). However, unless I'm missing something, these
variables appear to be completely unused.

Should they be removed ?

Search Discussions

  • H.Merijn Brand at Feb 17, 2004 at 2:39 pm

    On Tue 17 Feb 2004 15:13, Rafael Garcia-Suarez wrote:
    Configure defines two variables, pm_apiversion and xs_apiversion, that
    are said to be used to include additional directories in @INC (according
    to Porting/Glossary). However, unless I'm missing something, these
    variables appear to be completely unused.

    Should they be removed ?
    Configure gets it from metaconfig/U/perl/xs_apiversion.U

    If they are to be removed, it has to be removed from:

    perl-current/Changes5.6
    perl-current/Porting/config.sh
    perl-current/Porting/Glossary
    perl-current/Porting/config_H
    perl-current/config_h.SH <-- Expl skipped in scanning
    perl-current/configure.com
    perl-current/epoc/config.sh
    perl-current/Cross/config.sh-arm-linux
    perl-current/Configure <-- Expl skipped in scanning
    perl-current/lib/Config.pod
    perl-current/lib/Config.pm
    perl-current/plan9/config.plan9
    perl-current/plan9/config_h.sample
    perl-current/plan9/config_sh.sample
    perl-current/pod/perltoc.pod
    perl-current/uconfig.h
    perl-current/uconfig.sh
    perl-current/win32/config.bc
    perl-current/win32/config.gc
    perl-current/win32/config.vc
    perl-current/win32/config_H.bc
    perl-current/win32/config_H.gc
    perl-current/win32/config_H.vc
    perl-current/win32/config.vc64
    perl-current/win32/config_H.vc64
    perl-current/NetWare/config_H.wc
    perl-current/NetWare/config.wc
    perl-current/wince/config_H.ce
    perl-current/wince/config.ce
    perl-current/Changes5.8
    perl-current/U/all/xs_apiversion.U
    perl-current/U/perl/xs_apiversion.U
    perl-current/config.sh
    perl-current/config.h
    perl-current/Wanted



    The scanned list of files comes from MANIFEST.new, which is
    a symlink to MANIFEST, and it includes .c, .h, .y, .l, and .SH

    l1:/pro/3gl/CPAN/perl-current 117 > sed 's/[ \t].*//' < MANIFEST | grep -e '\.[chly]$' -e '\.SH$' | xargs grep -l -e pm_apiversion -e xs_apiversion
    config_h.SH
    uconfig.h
    l1:/pro/3gl/CPAN/perl-current 118 >

    the first is skipped, so the second should be the troublemaker:


    After this change:

    l1:/pro/3gl/CPAN/perl-current 122 > diff -pu /{a5,l1}$pc/uconfig.h
    --- /a5/pro/3gl/CPAN/perl-current/uconfig.h 2003-08-12 15:08:08.000000000 +0200
    +++ /l1/pro/3gl/CPAN/perl-current/uconfig.h 2004-02-17 15:34:41.000000000 +0100
    @@ -3357,41 +3357,6 @@
    /*#define USE_SOCKS / **/
    #endif

    -/* PERL_XS_APIVERSION:
    - * This variable contains the version of the oldest perl binary
    - * compatible with the present perl. perl.c:incpush() and
    - * lib/lib.pm will automatically search in for older
    - * directories across major versions back to xs_apiversion.
    - * This is only useful if you have a perl library directory tree
    - * structured like the default one.
    - * See INSTALL for how this works.
    - * The versioned site_perl directory was introduced in 5.005,
    - * so that is the lowest possible value.
    - * Since this can depend on compile time options
    - * it is set by Configure. Other non-default sources
    - * of potential incompatibility, such as multiplicity, threads,
    - * debugging, 64bits, sfio, etc., are not checked for currently,
    - * though in principle we could go snooping around in old
    - * Config.pm files.
    - */
    -/* PERL_PM_APIVERSION:
    - * This variable contains the version of the oldest perl
    - * compatible with the present perl. (That is, pure perl modules
    - * written for pm_apiversion will still work for the current
    - * version). perl.c:incpush() and lib/lib.pm will automatically
    - * search in for older directories across major versions
    - * back to pm_apiversion. This is only useful if you have a perl
    - * library directory tree structured like the default one. The
    - * versioned site_perl library was introduced in 5.005, so that's
    - * the default setting for this variable. It's hard to imagine
    - * it changing before Perl6. It is included here for symmetry
    - * with xs_apiveprsion -- the searching algorithms will
    - * (presumably) be similar.
    - * See the INSTALL file for how this works.
    - */
    -#define PERL_XS_APIVERSION "5.008"
    -#define PERL_PM_APIVERSION "5.005"
    -
    /* HAS_DRAND48_PROTO:
    * This symbol, if defined, indicates that the system provides
    * a prototype for the drand48() function. Otherwise, it is up
    Exit 1
    l1:/pro/3gl/CPAN/perl-current 123 >

    I regenerated Configure.

    l1:/pro/3gl/CPAN/perl-current 126 > grep _apiversion Configure
    Exit 1
    l1:/pro/3gl/CPAN/perl-current 127 >

    Which proves that removing it there is enough.
    Now if noone objects, you should regenerate (I guess that I should) all the
    other files, and manually remove the junk left from all the OS specific files
    in vms, win32, etc

    And remember that everything 5.8.x and below still use Our set

    --
    H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
    using perl-5.6.1, 5.8.0, & 5.9.x, and 806 on HP-UX 10.20 & 11.00, 11i,
    AIX 4.3, SuSE 8.2, and Win2k. http://www.cmve.net/~merijn/
    http://archives.develooper.com/daily-build@perl.org/ perl-qa@perl.org
    send smoke reports to: smokers-reports@perl.org, QA: http://qa.perl.org
  • Rafael Garcia-Suarez at Feb 17, 2004 at 3:14 pm

    H.Merijn Brand wrote in perl.perl5.build :

    I regenerated Configure.

    l1:/pro/3gl/CPAN/perl-current 126 > grep _apiversion Configure
    Exit 1
    l1:/pro/3gl/CPAN/perl-current 127 >

    Which proves that removing it there is enough.
    You mean, removing it from uconfig.h ? metaconfig is still amazing me.
    Now if noone objects, you should regenerate (I guess that I should) all the
    other files, and manually remove the junk left from all the OS specific files
    in vms, win32, etc
    yes, I think those variables are removable.
    And remember that everything 5.8.x and below still use Our set
    "Our set" ? I don't know whether those variables were actually used at all.
  • H.Merijn Brand at Feb 17, 2004 at 3:22 pm

    On Tue 17 Feb 2004 16:07, Rafael Garcia-Suarez wrote:
    H.Merijn Brand wrote in perl.perl5.build :
    I regenerated Configure.

    l1:/pro/3gl/CPAN/perl-current 126 > grep _apiversion Configure
    Exit 1
    l1:/pro/3gl/CPAN/perl-current 127 >

    Which proves that removing it there is enough.
    You mean, removing it from uconfig.h ?
    Yes, that's what I mean. No changes to metaunits at all. Remove that part from
    uconfig.h, regenerate Configure and the Porting files, and the base is done.

    All OS specific files are handwork
    metaconfig is still amazing me.
    That's why I like it :)
    Now if noone objects, you should regenerate (I guess that I should) all the
    other files, and manually remove the junk left from all the OS specific files
    in vms, win32, etc
    yes, I think those variables are removable.
    Also for the `old' stuff? Just gimme a "go" and it will be gone
    And remember that everything 5.8.x and below still use Our set
    "Our set" ? I don't know whether those variables were actually used at all.
    Nick and acme just copy the hints and Configure and friends, and it should
    still work. With "Our" I mean "blead" and in the wider sense of the word, all
    versions of perl still maintained.

    To be honoust, most of my plans with the Configuration environment were bombed
    by Jarkko, when he told me that all the old versions still used the same
    environment, that's why the 5005threads are not removed from Configure

    --
    H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
    using perl-5.6.1, 5.8.0, & 5.9.x, and 806 on HP-UX 10.20 & 11.00, 11i,
    AIX 4.3, SuSE 8.2, and Win2k. http://www.cmve.net/~merijn/
    http://archives.develooper.com/daily-build@perl.org/ perl-qa@perl.org
    send smoke reports to: smokers-reports@perl.org, QA: http://qa.perl.org
  • Rafael Garcia-Suarez at Feb 17, 2004 at 11:47 pm

    H.Merijn Brand wrote in perl.perl5.build :
    On Tue 17 Feb 2004 16:07, Rafael Garcia-Suarez wrote:
    H.Merijn Brand wrote in perl.perl5.build :
    I regenerated Configure.

    l1:/pro/3gl/CPAN/perl-current 126 > grep _apiversion Configure
    Exit 1
    l1:/pro/3gl/CPAN/perl-current 127 >

    Which proves that removing it there is enough.
    You mean, removing it from uconfig.h ?
    Yes, that's what I mean. No changes to metaunits at all. Remove that part from
    uconfig.h, regenerate Configure and the Porting files, and the base is done.
    OK, I'm happy with this solution. Since these macros are not used and
    don't (always) reflect the more complex reality, I'm happy to remove
    them from the .h files that might be read by uncareful XS authors :)

    Could you commit it ?
    All OS specific files are handwork
    Indeed.
  • H.Merijn Brand at Feb 18, 2004 at 12:37 pm

    On Wed 18 Feb 2004 00:47, Rafael Garcia-Suarez wrote:
    H.Merijn Brand wrote in perl.perl5.build :
    On Tue 17 Feb 2004 16:07, Rafael Garcia-Suarez wrote:
    H.Merijn Brand wrote in perl.perl5.build :
    I regenerated Configure.

    l1:/pro/3gl/CPAN/perl-current 126 > grep _apiversion Configure
    Exit 1
    l1:/pro/3gl/CPAN/perl-current 127 >

    Which proves that removing it there is enough.
    You mean, removing it from uconfig.h ?
    Yes, that's what I mean. No changes to metaunits at all. Remove that part from
    uconfig.h, regenerate Configure and the Porting files, and the base is done.
    OK, I'm happy with this solution. Since these macros are not used and
    don't (always) reflect the more complex reality, I'm happy to remove
    them from the .h files that might be read by uncareful XS authors :)

    Could you commit it ?
    Applied as change #22334
    All OS specific files are handwork
    Indeed.
    Which is included in 22334

    --
    H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
    using perl-5.6.1, 5.8.0, & 5.9.x, and 806 on HP-UX 10.20 & 11.00, 11i,
    AIX 4.3, SuSE 8.2, and Win2k. http://www.cmve.net/~merijn/
    http://archives.develooper.com/daily-build@perl.org/ perl-qa@perl.org
    send smoke reports to: smokers-reports@perl.org, QA: http://qa.perl.org
  • Andrew Dougherty at Feb 27, 2004 at 5:04 pm

    On Tue, 17 Feb 2004, Rafael Garcia-Suarez wrote:

    Configure defines two variables, pm_apiversion and xs_apiversion, that
    are said to be used to include additional directories in @INC (according
    to Porting/Glossary). However, unless I'm missing something, these
    variables appear to be completely unused.

    Should they be removed ?
    Yes, I think so. I'm pretty sure I used them at some point prior to
    the development of the current inc_version_list stuff, but it'd more
    digging than it's worth to track their precise history, and they aren't
    used in any currently supported versions of perl, so sure, go ahead and
    remove them.

    --
    Andy Dougherty doughera@lafayette.edu
  • H.Merijn Brand at Feb 27, 2004 at 7:29 pm

    On Fri 27 Feb 2004 18:04, Andrew Dougherty wrote:
    On Tue, 17 Feb 2004, Rafael Garcia-Suarez wrote:

    Configure defines two variables, pm_apiversion and xs_apiversion, that
    are said to be used to include additional directories in @INC (according
    to Porting/Glossary). However, unless I'm missing something, these
    variables appear to be completely unused.

    Should they be removed ?
    Yes, I think so. I'm pretty sure I used them at some point prior to
    the development of the current inc_version_list stuff, but it'd more
    digging than it's worth to track their precise history, and they aren't
    used in any currently supported versions of perl, so sure, go ahead and
    remove them.
    Already removed in 22334 :)

    --
    H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
    using perl-5.6.1, 5.8.0, & 5.9.x, and 806 on HP-UX 10.20 & 11.00, 11i,
    AIX 4.3, SuSE 8.2, and Win2k. http://www.cmve.net/~merijn/
    http://archives.develooper.com/daily-build@perl.org/ perl-qa@perl.org
    send smoke reports to: smokers-reports@perl.org, QA: http://qa.perl.org

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl5-build @
categoriesperl
postedFeb 17, '04 at 2:14p
activeFeb 27, '04 at 7:29p
posts8
users3
websiteperl.org

People

Translate

site design / logo © 2019 Grokbase