In perl.git, the branch smueller/eu_typemap has been created <http://perl5.git.perl.org/perl.git/commitdiff/f67ab9571dfb6c84ae84bcbc92fd88514d0f5191?hp=0000000000000000000000000000000000000000>
at f67ab9571dfb6c84ae84bcbc92fd88514d0f5191 (commit) - Log ----------------------------------------------------------------- commit f67ab9571dfb6c84ae84bcbc92fd88514d0f5191 Author: Steffen Mueller <smuel...@cpan.org> Date: Sun Feb 13 23:30:56 2011 +0100 Add targetable method This does the same thing for a simple output map as the make_targetable function in ExtUtils::ParseXS::Utilities does for all output maps. The latter function is intended to be superseded by this new method. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm commit 1b804a2a9274b7f59e942eb8e4e7ff814d80344d Author: Steffen Mueller <smuel...@cpan.org> Date: Sun Feb 13 11:22:15 2011 +0100 Add comment explaining where terrible code comes from ... and it is not brought by the stork. M dist/ExtUtils-ParseXS/t/600-t-compat.t commit afb1289997f87ca174201380000d5b7b5034c122 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 19:01:18 2011 +0100 Document inception of EU::Typemaps M dist/ExtUtils-ParseXS/Changes commit 643d4316b41bbbe5cc00b5ac91854bd02e00009e Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 18:42:53 2011 +0100 Bless singleton M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm commit 083fb42bdc800aa8dad9554a5ebbe809bfd102c7 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 18:37:41 2011 +0100 Nah, implicit is bad M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm commit d8ab0863e4d744f4283dd35f4aaec5da68230350 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 18:35:31 2011 +0100 Lose now obsolete process_single_typemap() This was the actual typemap parser. It is now parsed by ExtUtils::Typemaps, so we don't need it any more! M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm M dist/ExtUtils-ParseXS/t/106-process_typemaps.t commit f4f18c2b72d191ac9eb43b0dd1e0225d846548ae Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 18:31:44 2011 +0100 Make ExtUtils::ParseXS use ExtUtils::Typemaps This is just the quick'n'dirty conversion to make it use EU::Typemaps. Eventually, we want to use it in its full object-oriented goodness! M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm commit a2ba6b8ebd1a862ed88a8d0da51191d1a9ece58c Author: Steffen Mueller <smuel...@cpan.org> Date: Sun Feb 13 21:00:53 2011 +0100 Do not use Carp, fix propagation of replace/skip Using Carp in a module this early in the toolchain can cause ugly failure. Carp can trigger loading overload. overload::StrVal can trigger loading Scalar::Util. Scalar::Util::PP requires B. miniperl doesn't like loading shared libraries. This problem with Carp just shadowed the underlying problem that the replace/skip options weren't propagated correctly. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm commit 4e0b1c7e92599e8ba8add8a11e8846da3fc20dad Author: Steffen Mueller <smuel...@cpan.org> Date: Sun Feb 13 20:22:03 2011 +0100 Defer loading main module M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm commit 5eb709c9e0fb81b9e3d7f84d63af229de616c461 Author: Steffen Mueller <smuel...@cpan.org> Date: Sun Feb 13 20:13:45 2011 +0100 More whitespace bug-compatibility M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 2b35aeaad6fadb30d7a2d5bac942e6426abcef58 Author: Steffen Mueller <smuel...@cpan.org> Date: Sun Feb 13 11:20:03 2011 +0100 More compatibility testing M MANIFEST M dist/ExtUtils-ParseXS/t/600-t-compat.t A dist/ExtUtils-ParseXS/t/data/b.typemap A dist/ExtUtils-ParseXS/t/data/perl.typemap commit ef440d21da74706973875e4c4311946a8d1c2ae1 Author: Steffen Mueller <smuel...@cpan.org> Date: Sat Feb 12 18:54:38 2011 +0100 Add test of EU::Typemap output against old ParseXS code This is testing for string equivalency, not code equivalency. But it's better than nothing. M MANIFEST A dist/ExtUtils-ParseXS/t/600-t-compat.t commit 6f389c9d6bb25ba4fcadb08debc452fc9277bd61 Author: Steffen Mueller <smuel...@cpan.org> Date: Sat Feb 12 18:52:00 2011 +0100 More bug-compatibility with old ExtUtils::ParseXS M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 8780ce3f398543842cddf0263769cd32e1a941fa Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 22:52:30 2011 +0100 Reinstate prototype default and warning about invalid prototypes M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 72fff4e322764ba1fbf345c770cae27184a57999 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 19:24:21 2011 +0100 Add method to get ANSIfied code This is done to all of the code in EU::PXS anyway, so why not have a nice method for it? M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm commit 835e6e7a1ff3b496613000df6b85d0c33e5c8dd8 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 18:21:10 2011 +0100 Implement 'skip' option for merging typemaps This implements the 'first come first serve' style merging that ExtUtils::ParseXS currently does: It prefers the typemap entries that exist already over new ones. This is because the order of processed typemaps is such that the default typemaps come last. M MANIFEST M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm M dist/ExtUtils-ParseXS/t/513-t-merge.t A dist/ExtUtils-ParseXS/t/data/confl_skip.typemap commit bd749d3dc89c52964d190c6926e73f1aeb54b913 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 17:20:17 2011 +0100 Implement 'replace' option when merging typemaps And by proxy, this had to be implemented in the three add_* methods. Also adds more tests for merging with conflicts. M MANIFEST M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm M dist/ExtUtils-ParseXS/t/513-t-merge.t A dist/ExtUtils-ParseXS/t/data/confl_repl.typemap A dist/ExtUtils-ParseXS/t/data/conflicting.typemap commit e44979428d69002c7263692a7fb788dd9dfe2f49 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 17:09:10 2011 +0100 Allow merging typemaps from file M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 39ce85d6ea529bf2e87539c8e738e8580c880ffe Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 16:50:12 2011 +0100 Add method to generate the prototype lookup hash Akin to the methods in the parent commit that generate the lookup hash for TYPEMAP/INPUT/OUTPUT, this method will generate the lookup has for typemap's prototypes as required by ExtUtils::ParseXS at this time. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 0cbda1a82967fcd2434dd98031dfe49425eba07b Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 16:42:46 2011 +0100 Methods to get typemaps in ParseXS compatible format Essentially, these extra methods export the typemap information in the format expected by ExtUtils::ParseXS at this time. Down the road, we may want EU::PXS to simply pass around an ExtUtils::Typemaps object. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 3b600ac194d0004d238fa8a2943c994ffc57b9f5 Author: Steffen Mueller <smuel...@cpan.org> Date: Fri Feb 11 14:37:33 2011 +0100 Reduce code duplication by using the same prototype regexp M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit a02fd94dba9c92c377db7ce2e0bd09c913266ad7 Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 17:12:23 2011 +0100 Teach EU::Typemaps about the _ prototype I am in a hurry and this makes things correct, but really, this should maybe use EU::ParseXS' regular expression. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 6cd62a544d0dd1e57c517cc35cb65abc97305954 Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 16:51:53 2011 +0100 Bump ExtUtils::Typemaps version Just to make sure there really will never be a confusion or collision with the similarly named module that has been living on CPAN. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 3cc32007525790b03fb86f4d684ddf2281e0a898 Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 16:51:18 2011 +0100 Simplify "remove" logic after previous refactoring M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 4102003671ee1c3c2f56fabca551c49795e61500 Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 16:45:29 2011 +0100 Hash lookup for output sections More O(1) for everyone. Also fixes a tiny issue with an error message from the inputmap conversion. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 71d21ac0bd207fadbc0d372b207c7be655e3120a Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 16:41:09 2011 +0100 Convert input sections to hash lookup Die, O(n), die! M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit 5057adc955ecf218760dbd2a5893d6b40a5709bd Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 16:26:10 2011 +0100 Start refactoring EU::Typemaps Use a hash lookup for avoiding collisions. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit bb9f427674b0fd4d99c533bc29bcd1877313ee92 Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 14:19:54 2011 +0100 Remove note about being untested This code is actually in production use. M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm commit e93efb1afb7706de3c1c044bc31b594c5b302467 Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 14:18:57 2011 +0100 update copyright M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm commit 81cebe0759864829c3af4ab9761ae959005b1dab Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 14:17:17 2011 +0100 Add a trailing 's' to the name of EU::Typemap This is to prevent collisions on case-insensitive file systems with lib/typemap. M MANIFEST D dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap.pm D dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap/InputMap.pm D dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap/OutputMap.pm D dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap/Type.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm M dist/ExtUtils-ParseXS/t/501-t-compile.t M dist/ExtUtils-ParseXS/t/510-t-bare.t M dist/ExtUtils-ParseXS/t/511-t-whitespace.t M dist/ExtUtils-ParseXS/t/512-t-file.t M dist/ExtUtils-ParseXS/t/513-t-merge.t M lib/.gitignore commit a3dd227f7c245d790411c89bdf8c323dd68b32cd Author: Steffen Mueller <smuel...@cpan.org> Date: Thu Feb 10 13:51:54 2011 +0100 Extract typemap-related code from ExtUtils::ParseXS This was available from CPAN a while ago. The plan is to use it to make the typemap parsing and manipulation saner and rip the parser from ExtUtils::ParseXS' dead claws. M MANIFEST A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap/InputMap.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap/OutputMap.pm A dist/ExtUtils-ParseXS/lib/ExtUtils/Typemap/Type.pm A dist/ExtUtils-ParseXS/t/501-t-compile.t A dist/ExtUtils-ParseXS/t/510-t-bare.t A dist/ExtUtils-ParseXS/t/511-t-whitespace.t A dist/ExtUtils-ParseXS/t/512-t-file.t A dist/ExtUtils-ParseXS/t/513-t-merge.t A dist/ExtUtils-ParseXS/t/data/combined.typemap A dist/ExtUtils-ParseXS/t/data/other.typemap A dist/ExtUtils-ParseXS/t/data/simple.typemap ----------------------------------------------------------------------- -- Perl5 Master Repository