summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* More whitespace bug-compatibilitySteffen Mueller2011-07-121-4/+10
|
* More compatibility testingSteffen Mueller2011-07-124-16/+508
|
* Add test of EU::Typemap output against old ParseXS codeSteffen Mueller2011-07-122-0/+137
| | | | | This is testing for string equivalency, not code equivalency. But it's better than nothing.
* More bug-compatibility with old ExtUtils::ParseXSSteffen Mueller2011-07-121-0/+5
|
* Reinstate prototype default and warning about invalid prototypesSteffen Mueller2011-07-121-4/+3
|
* Add method to get ANSIfied codeSteffen Mueller2011-07-122-2/+38
| | | | | This is done to all of the code in EU::PXS anyway, so why not have a nice method for it?
* Implement 'skip' option for merging typemapsSteffen Mueller2011-07-124-16/+76
| | | | | | | 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.
* Implement 'replace' option when merging typemapsSteffen Mueller2011-07-126-30/+119
| | | | | And by proxy, this had to be implemented in the three add_* methods. Also adds more tests for merging with conflicts.
* Allow merging typemaps from fileSteffen Mueller2011-07-121-4/+14
|
* Add method to generate the prototype lookup hashSteffen Mueller2011-07-121-0/+32
| | | | | | 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.
* Methods to get typemaps in ParseXS compatible formatSteffen Mueller2011-07-121-0/+108
| | | | | | 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.
* Reduce code duplication by using the same prototype regexpSteffen Mueller2011-07-122-5/+7
|
* Teach EU::Typemaps about the _ prototypeSteffen Mueller2011-07-121-1/+1
| | | | | I am in a hurry and this makes things correct, but really, this should maybe use EU::ParseXS' regular expression.
* Bump ExtUtils::Typemaps versionSteffen Mueller2011-07-121-1/+1
| | | | | | Just to make sure there really will never be a confusion or collision with the similarly named module that has been living on CPAN.
* Simplify "remove" logic after previous refactoringSteffen Mueller2011-07-121-23/+14
|
* Hash lookup for output sectionsSteffen Mueller2011-07-121-16/+19
| | | | | | More O(1) for everyone. Also fixes a tiny issue with an error message from the inputmap conversion.
* Convert input sections to hash lookupSteffen Mueller2011-07-121-22/+23
| | | | Die, O(n), die!
* Start refactoring EU::TypemapsSteffen Mueller2011-07-121-32/+42
| | | | Use a hash lookup for avoiding collisions.
* Remove note about being untestedSteffen Mueller2011-07-121-2/+0
| | | | This code is actually in production use.
* update copyrightSteffen Mueller2011-07-124-4/+4
|
* Add a trailing 's' to the name of EU::TypemapSteffen Mueller2011-07-1211-85/+87
| | | | | This is to prevent collisions on case-insensitive file systems with lib/typemap.
* Extract typemap-related code from ExtUtils::ParseXSSteffen Mueller2011-07-1213-0/+1363
| | | | | | 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.
* Cleanup of make_targetablesmueller/strictpxs_fixupsSteffen Mueller2011-07-121-10/+29
|
* Fix function name in documentationSteffen Mueller2011-07-121-1/+1
|
* Remove unnecessary Data::Dumper loadingSteffen Mueller2011-07-121-1/+0
|
* Revert "Revert "Moved prototype check to XS code, allowing the .pm file ↵Steffen Mueller2011-07-122-6/+3
| | | | | | | change from yesterday"" This reverts commit cf8fc7eed929846d31d02d565b4d5f4480a18d69, reinstating the move of the prototype check to XS code.
* Start documenting the EU::ParseXS changesSteffen Mueller2011-07-121-0/+14
|
* Documentation: maintainers & copyrightSteffen Mueller2011-07-121-3/+11
| | | | | Adding Jim Keenan and myself to the list of maintainers. Sorry, Jim! Update copyright and prettify a note.
* Documentation fixSteffen Mueller2011-07-121-3/+3
| | | | Be more precise about the return values of process_typemaps().
* Rename some ExtUtils::ParseXS 'constants'Steffen Mueller2011-07-123-11/+14
| | | | Make them have properly descriptive, camel case names.
* Reapply the patch that tought EU::ParseXS about _ protosSteffen Mueller2011-07-122-2/+7
| | | | Even including a test!
* Ignore new ExtUtils::ParseXS files in libSteffen Mueller2011-07-121-0/+2
|
* Re-apply ExtUtils::ParseXS portion of 1e8125c62127Steffen Mueller2011-07-121-0/+3
| | | | | Which had to be reverted as 634b52b92f42a6bb93c549 for a big rebase.
* Re-apply typo fixes from c4a6f826b3676d1fdbd99Steffen Mueller2011-07-124-4/+4
| | | | | | | These had to be reverted for the ExtUtils::ParseXS rebase of Jim Keenan's strictification work. Originally reverted as 8e19e0c1f155990dc120199.
* Re-apply EU::ParseXS portion of c33e8be1506a75eSteffen Mueller2011-07-122-2/+4
| | | | | This is the unused-arg stuff in tests. Originally reverted as 836ae07757f3a1a32212.
* A bit more documentation of make_targetable().James E. Keenan2011-07-121-3/+4
|
* Add documentation on the hashrefs produced by process_typemaps().James E. Keenan2011-07-121-1/+79
|
* Add documentation and additional testsJames E. Keenan2011-07-122-0/+133
| | | | ... exploring relationship between typemaps and \%targetable.
* Mostly adding tests and documentation.James E. Keenan2011-07-1211-76/+359
| | | | | | | | | Rename sub print_preprocessor_statements() to analyze_preprocessor_statements(). Modify interface to map_type() and re-work tests as needed. Wrote documentation in Utilities.pm for process_single_typemap(), map_type(), standard_XS_defs(), assign_func_args(), analyze_preprocessor_statements(). Write tests in t/109-standard_XS_defs.t, t/110-assign_func_args.t.
* Move several functions to Utilities.pmJames E. Keenan2011-07-125-130/+314
| | | | | | | | | Namely: check_conditional_preprocessor_statements(), Warn(), blurt() and death() to Utilities.pm. Add file to test blurt, death and Warn. (death() is not really testable yet due to hard-coded 'exit'.) ovid++, rjbs++, xdg+++ for assistance in developing tests."
* Change check_cpp() to check_conditional_preprocessor_statements()James E. Keenan2011-07-1210-57/+256
| | | | | | | | ... to be more self-documenting. Also: Explicitly pass $self to Warn(), blurt() and death(). Add skeletons of files to test functions moved (or planned to be moved) to Utilities.pm.
* Was able to move $Packid into $self.James E. Keenan2011-07-121-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that I got build failures when I attempted to pull $Package into $self. The distributions below because during various 'eval EXPR' statements, I got a 'Global variable $Package ...' error. cut -d '/' -f 7,8,9,10,11 research/problematic.builds.20100410.txt D/DB/DBURDICK/BoostGraph/Boost-Graph-1.4.tar.gz D/DE/DEEMON/Crypt-OpenSSL-SMIME-0.02.tar.gz D/DL/DLOWE/Text-Tmpl-0.33.tar.gz D/DM/DMAKI/Data-Valve-0.00010.tar.gz D/DO/DORMANDO/Perlbal-XS-HTTPHeaders-0.20.tar.gz E/ED/EDPRATOMO/Algorithm-Permute-0.12.tar.gz J/JH/JHI/String-Approx-3.26.tar.gz K/KA/KARMAN/Search-Tools-0.45.tar.gz K/KI/KILINRAX/HTML-Strip-1.06.tar.gz L/LA/LAIRDM/Algorithm-SVM-0.13.tar.gz M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz M/MC/MCEGLOWS/Search-ContextGraph-0.15.tar.gz M/MH/MHX/Convert-Binary-C-0.74.tar.gz M/MH/MHX/Tie-Hash-Indexed-0.05.tar.gz M/MI/MIKEWONG/Table-ParentChild-0.05.tar.gz M/MS/MSERGEANT/CDB_File-0.96.tar.gz M/MS/MSERGEANT/IO-KQueue-0.34.tar.gz P/PA/PAJAS/XML-LibXML-1.70.tar.gz P/PM/PMQS/Filter-1.37.tar.gz S/SA/SALVA/Compress-PPMd-0.11.tar.gz S/SA/SAPER/Net-Pcap-0.16.tar.gz S/SA/SAPER/Net-RawIP-0.25.tar.gz S/SG/SGOELDNER/MonetDB-CLI-MapiXS-0.03.tar.gz S/SM/SMUELLER/Math-SymbolicX-FastEvaluator-0.01.tar.gz S/SM/SMUELLER/Parse-ExuberantCTags-1.01.tar.gz S/SP/SPIDB/Net-ext-1.011.tar.gz T/TJ/TJMATHER/Crypt-OpenSSL-DSA-0.13.tar.gz
* Refactor some code into sub set_cond()James E. Keenan2011-07-122-15/+25
| | | | Eliminate instances of calling subs with '&'.
* Add vim modeline entries.James E. Keenan2011-07-122-1/+5
|
* Move sub print_preprocessor_statements() into Utilities.pm.James E. Keenan2011-07-122-34/+36
|
* Refactor some code into sub assign_func_args().James E. Keenan2011-07-122-7/+14
|
* Don't have to undef if it's never been assigned to.James E. Keenan2011-07-121-5/+3
|
* Move several variables found inside the PARAGRAPH loopJames E. Keenan2011-07-121-7/+7
| | | | ... closer to the point where each is first used.
* Move $orig_args closer to where it's usedJames E. Keenan2011-07-121-1/+2
|
* Move $prepush_done closer to where it's usedJames E. Keenan2011-07-121-2/+2
|