In perl.git, the branch smoke-me/nicholas/vms-filespec has been created

<http://perl5.git.perl.org/perl.git/commitdiff/815e201f32a5879c074c39bdf257b70cff0d2d9d?hp=0000000000000000000000000000000000000000>

        at  815e201f32a5879c074c39bdf257b70cff0d2d9d (commit)

- Log -----------------------------------------------------------------
commit 815e201f32a5879c074c39bdf257b70cff0d2d9d
Author: Nicholas Clark <n...@ccl4.org>
Date:   Mon Jun 17 15:52:30 2013 +0200

    Remove defunct DESCRIP.MMS cleanup rules.
    
    Rules to remove C and object files from vms/ext were made redundant when
    commit 26dd53a231877708 in Sep 2009 moved the XS extensions from there to
    ext/
    
    The wildcard rule to remove t/lib/vms*.t, which has been in
    vms/descrip_mms.template since the file was added by commit 97abc6adffcd3efc
    in June 1998 was effectively made redundant when it was duplicated by 4
    specific rules for the 4 files it matched added by commit 493ba88a837f5a6b
    in June 2001.
    
    The rule to delete t/lib/vmsish.t was made redundant when vms/ext/vmsish.*
    were moved to lib/ by commit 9f84c00564fd021b in Nov 2001.

M       vms/descrip_mms.template

commit d29dc30941ae11cad943e4f45e6cd593c18698dc
Author: Nicholas Clark <n...@ccl4.org>
Date:   Mon Jun 17 11:49:39 2013 +0200

    Move VMS::Filespec from vms/ext to ext/
    
    This simplifies the VMS Makefile. It would have simplified the VMS Makefile
    further if it had had the correct rules to delete [.lib.VMS]Filespec.pm
    which are now no longer needed. (The generated ext/VMS-Filespec/DESCRIP.MMS
    will now take care of this.)

M       Configure
M       MANIFEST
M       Porting/Maintainers.pl
M       Porting/corelist.pl
A       ext/VMS-Filespec/lib/VMS/Filespec.pm
A       ext/VMS-Filespec/t/filespec.t
M       t/porting/known_pod_issues.dat
M       vms/descrip_mms.template
D       vms/ext/Filespec.pm
D       vms/ext/filespec.t
M       win32/FindExt.pm
M       write_buildcustomize.pl

commit 1377ac09df22de8905aef2daea5fdc8966b98f32
Author: Nicholas Clark <n...@ccl4.org>
Date:   Mon Jun 17 10:37:50 2013 +0100

    vms/ext/filespec.t does not need to be +x
    
    The mode of this file has rattled back and forth between +x and -x since it
    was first added. It makes no difference which it is, so remove -x and hence
    1 special case.

M       Porting/exec-bit.txt
M       vms/ext/filespec.t

commit e7f5fcc4fe87c5e4f8c0e1a86689db6a046a1dbc
Author: Nicholas Clark <n...@ccl4.org>
Date:   Mon Jun 17 11:27:16 2013 +0200

    Refactor FindExt, merging scan_ext() and find_ext().
    
    The return value of FindExt::scan_ext() has never been used, since FindExt
    was first added by commit 8e2329934bcca9c5 in April 2001. The call to
    FindExt::extensions() has no side effects, so it can be eliminated. Hence
    FindExt::scan_ext() is a trivial wrapper around FindExt::find_ext(), and the
    two can be merged.
    
    Also, simplify the logic for "known" extensions. The complexity of checking
    the hash first was needed when extension directories were nested. It should
    have been removed as part of commit 1f8a0b38638b171c in Feb 2009.

M       win32/FindExt.pm

commit ad67b8ef4cff91f2233d766e54916ecda2a4939e
Author: Nicholas Clark <n...@ccl4.org>
Date:   Mon Jun 17 10:50:33 2013 +0200

    Skip most of FindExt's tests for troublesome configurations.
    
    There are various various things that break the test's assumptions.
    1) If Encode is a static extension, then Configure has special case logic
       to add Encode/* as static extensions
    2) -Uusedl causes Encode to be a static extension, and drops building
        XS::APItest and XS::Typemap
    3) Any use of -Dnoextensions to choose not to build a extension is not known
       by the test
    
    If any of these are true, FindExt::extensions() and $Config{extensions} will
    differ, and most of the tests are going to fail. Moreover, failure doesn't
    tell us anything interesting. So don't run those tests.

M       t/porting/FindExt.t

commit 00d05c1f81e4c1b5a78279ff770dfa9cd00c384f
Author: Nicholas Clark <n...@ccl4.org>
Date:   Mon Jun 17 10:19:48 2013 +0200

    In FindExt.t, move the main loop's comparison logic into a subroutine.

M       t/porting/FindExt.t

commit 8e7bf777e42710fd0434f12ef24bf653f6464b65
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Jun 14 11:28:31 2013 +0200

    Minor refactors to FindExt's test, removing code duplication.
    
    Use a ternary instead of if/unless on the same $^O test.
    Use a loop to call FindExt::scan_ext()
    As FindExt exports nothing, we can require it rather than using it.

M       t/porting/FindExt.t

commit d67b082e677e3fc5729443caea2d481976995e7b
Author: Nicholas Clark <n...@ccl4.org>
Date:   Wed Jun 5 21:19:12 2013 +0200

    Thanks to FindExt::apply_config() we're now able to test dynamic extensions.
    
    FindExt::apply_config() mimic's Configure's logic, which means that 
FindExt's
    idea of which extensions should be built is consistent with Configure's.

M       t/porting/FindExt.t

commit 4303c96d50189f384cc9867838bf57d19dacc62c
Author: Nicholas Clark <n...@ccl4.org>
Date:   Wed Jun 5 20:15:12 2013 +0200

    Correct a type in FindExt::apply_config in the "I18N-Langinfo" code.
    
    Commit 557ab4cb986767c7 (Feb 2011) which added this routine had
    $config->{i_nl_langinfo} not $config->{d_nl_langinfo} ('i' should be 'd').
    
    The logic for I18N::Langinfo should now be correct.

M       win32/FindExt.pm

commit bea287f07c7df1767fa03cbe1380c833c4fe4c9c
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Jun 14 17:10:31 2013 +0200

    In FindExt, eliminate _ext_ne() and make extensions() a simple subroutine.
    
    Previously _ext_ne() was a generator function, and extensions() and
    known_extensions() were generated by it. Now that known_extensions() has a
    different implementation, extensions() was the last user of _ext_ne(), so
    there's no saving by keeping the complexity.

M       win32/FindExt.pm

commit 94ff12a52d61070d5d09ccd67feacbbd3be052b6
Author: Nicholas Clark <n...@ccl4.org>
Date:   Tue Jun 18 12:00:38 2013 +0200

    Also add Encode's sub-modules to known_extensions when building statically.
    
    There is code in Configure to treat Encode specially when it is specified as
    a statically linked extension. By default, Encode builds separated shared
    objects for each of its subdirectories. This works well with DynaLoader,
    and the top level perl Makefile doesn't even notice this, because it doesn't
    have to list these libraries as things it links with at compile time.
    
    For a static link, Encode builds a separate *.a file for each of its
    subdirectories. The top level Makefile *does* need to know about these, as
    a static link requires them all to be listed. Hence the work-around is to
    treat Encode as a set of nested modules if linked statically.
    
    We can't do this in Makefile.SH because the various Encode submodules are
    installed as separate *.a files in the tree, and so need to continue to be
    treated as distinct modules in case ExtUtils::MakeMaker is asked to (re)link
    a static perl with an additional extension.
    
    I suspect that the most elegant fix would be to tweak Encode's top level
    Makefile.PL to link everything into one *.a if it is building statically.
    I'm not sure how to do that, and it would need to be accepted upstream.

M       Configure

commit aaaba31e4b8add158b875b955d623570b97cd398
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Jun 14 16:56:28 2013 +0200

    Add non-XS extensions to known_extensions.
    
    Previously "known_extensions" was misnamed, as it only contained known XS
    extensions. grep.cpan.me suggests that there are only 10 mentions of it
    outside the core, and none of them rely on this existing behaviour.
    
    These changes need replicating into configure.com.

M       Configure
M       win32/FindExt.pm

commit 9d4a4e37c8fe2135a0db7a1eaf831917358e04a5
Author: Nicholas Clark <n...@ccl4.org>
Date:   Fri Jun 14 16:19:06 2013 +0200

    Remove Configure code that supported the old-style nested layout for ext/
    
    5.10.1 switched to the new layout, so this code would only be useful for
    backporting to maint-5.8. That isn't going happen, so it can go.

M       Configure
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to