summaryrefslogtreecommitdiff
path: root/t/porting/regen.t
Commit message (Collapse)AuthorAgeFilesLines
* Generate the lib/ cleanup rules in the Win32 Makefiles from MANIFEST.Nicholas Clark2013-07-241-1/+1
|
* Generate the lib/ cleanup rules in Makefile.SH automatically from MANIFEST.Nicholas Clark2013-07-241-1/+1
|
* Refactor t/porting/regen.t to check everything (and the return values!).Nicholas Clark2013-07-241-12/+34
| | | | | | | | | | | | | | Previously it was fire-and-forget for the 3 programs it ran (and for the programs that regen.pl ran). Now we die if any program fails to return 0. Also regen.t had an explicit list of programs to test. It turned out that it was not testing regen/mk_invlists.pl. Now regen.t has a skip list of what not to test, and everything not skipped it tested. This way any new additions will not get missed. This was implemented by refactoring regen.pl to read the list of programs it runs from <DATA>, so that regen.t can open regen.pl to extract the same list.
* Invert the build logic for miniperlmain.c and ExtUtils::MiniperlNicholas Clark2013-07-071-1/+2
| | | | | | | | | | | | | Now ExtUtils::Miniperl has the master version of {mini,}perlmain.c and is checked into the repository. miniperlmain.c is now generated by a script in regen/ which uses ExtUtils::Miniperl. Tweak ExtUtils::Miniperl::writemain() to take an optional first argument, a reference to a file handle. This permits the regen script to use the regen_lib.pl functions for file opening/closing/renaming and TAP generation. For now check in ExtUtils::Miniperl minimally modified from the version generated by the former minimod.pl. The next commit will tidy it up.
* Make ‘make regen’ regenerate the tree in perllexwarnFather Chrysostomos2013-06-091-1/+1
| | | | | | | | | | | ‘perl regen/warnings.pl tree’ would already generate the tree, but it had to be run separately and then copied and pasted into perllexwarn. Now regen/warnings.pl modifies perllexwarn in place as part of its regeneration. The ‘tree’ command line argument will still cause the tree to be output to STDOUT. This causes the three missing experimental categories to be listed in perllexwarn, resolving ticket #118369.
* Add regen/genpacksizetables.pl to t/porting/regen.tNicholas Clark2013-05-201-1/+1
|
* t/porting/regen.t: Add file to checkKarl Williamson2013-05-201-1/+2
|
* Make makemeta more cognisant and easier to useChris 'BinGOs' Williams2013-02-051-1/+1
| | | | | | | | | | Provide -y and -j switches to produce yml or json files, respectively, for use in regen rules and tests The default behaviour is to produce both files. Update release managers' guide to say to regen the META files before generating release tarballs.
* Teach makemeta to use CPAN::Meta to generate both META.json and META.ymlChris 'BinGOs' Williams2013-02-021-2/+6
|
* Regenerate the regnode table in perldebguts.pod automaticallyFather Chrysostomos2012-12-221-1/+1
|
* Correct test count in regen.tFather Chrysostomos2012-01-021-1/+1
|
* regen.t: update test countFather Chrysostomos2011-12-241-1/+1
|
* Refactor t/porting/regen.t to use TestInit q(T A);Nicholas Clark2011-09-241-13/+2
| | | | | | Previously it had custom code to change directory to the top of the source tree, and to convert the library paths to absolute. TestInit has common code for this.
* Eliminate global.sym, as makedef.pl can generate it internally.Nicholas Clark2011-08-251-1/+1
| | | | | | | | global.sym was a file listing the exported symbols, generated by regen/embed.pl from embed.fnc and regen/opcodes, which was only used by makedef.pl Move the code that generates global.sym from regen/embed.pl to makedef.pl, and thereby eliminate the need to ship a 907 line generated file.
* Generate magic_names in dump.c using mg_vtable.pl.Nicholas Clark2011-06-111-1/+1
|
* Create a lookup table for magic vtables from magic type, PL_magic_data.Nicholas Clark2011-06-111-1/+1
| | | | | | | | | | | Use it to eliminate the large switch statement in Perl_sv_magic(). As the table needs to be keyed on magic type, which is expressed as C character constants, the order depends on the compiler's character set. Frustratingly, EBCDIC variants don't agree on the code points for '~' and ']', which we use here. Instead of having (at least) 4 tables, get the local runtime to sort the table for us. Hence the regen script writes out the (unsorted) mg_raw.h, which generate_uudmap sorts to generate mg_data.h
* Generate the definitions for magic vtables from data in a regen script.Nicholas Clark2011-06-111-1/+1
| | | | | | | | | | | Previously perl.h contained a long section of MGVTBL_SET() macros declaring the core's various magic vtables. Convert the information into data structures in a new script regen/mg_table.pl, and use this to generate a new file mg_vtable.h, included by perl.h This is the first step in reducing the number of places that data relating to magic vtables is declared (and has to be kept in sync), and will allow more flexibility in parts of the core's implementation.
* Add regen/uconfig_h.pl to regenerate uconfig.hNicholas Clark2011-03-281-1/+1
| | | | | | | | Most of the work is done by config_h.SH, but the wrapper is needed to add the digest lines, so that t/porting/regen.t can verify that it's up to date. I think that we need to take the "digest" approach, rather than "build to a temporary file during testing", as we can't rely on a working Unix shell on all platforms, and we couldn't even be sure that we get the skip list correct.
* Skip t/porting/regen.t on VMS.Craig A. Berry2011-03-221-0/+4
| | | | | The output of regen.pl is slightly different than on Unix. Could probably be ported with a moderate effort.
* Merge perl_keyword.pl into regen/keywords.pl, to generate keywords.[ch]Nicholas Clark2011-01-241-2/+2
| | | | | | | | | | Prepend + or - in front of all the keyword names in __DATA__ to mark weak and strong keywords, needed for keyword.c As keywords.c needs Devel::Tokenizer::C 0.05, not a core module (and not a common module either) we can no longer run it as part of regen.pl. So store the sha256 of the source in the generated files, and use this in to check that they are not stale (in t/porting/regen.t)
* regen/mk_PL_charclass.pl can test that l1_char_class_tab.h is up to date.Nicholas Clark2011-01-241-2/+3
|
* t/porting/regen.t can test that regcharclass.h is up to date.Nicholas Clark2011-01-231-3/+4
| | | | | As regen/regcharclass.pl uses regen_lib.pl and rename_if_different(), all that is needed is to pass it --tap on the command line.
* t/porting/regen.t can test that META.yml is up to date.Nicholas Clark2011-01-231-1/+2
| | | | | | | | | | As Porting/makemeta uses regen_lib.pl and rename_if_different(), all that is needed is to pass it --tap on the command line. t/porting/regen.t now tests that all files mentioned in the release managers guide are up to date (and tests will fail if they are not), hence there is now no need for the release manager to explicitly test that generated files are not stale.
* Store the SHA-256 of the source in files generated by regen_perly.plNicholas Clark2011-01-231-1/+31
| | | | | | | bison isn't available everywhere, so we can't simply re-run regen_perly.pl to verify that perly.{act,h,tab} are up to date. So instead store the SHA-256 of the input files, and extend t/porting/regen.t to check that the input files haven't been changed subsequently.
* regen/overload.pl should use rename_if_different() for lib/overload/numbers.pmNicholas Clark2011-01-231-1/+1
| | | | | | It was the only file generated by any of the regen/*.pl scripts which was always written out directly, instead of first creating a temporary file, and only moving that if successfully generated (and different).
* A test to check that regen.pl doesn't need running.Nicholas Clark2010-09-281-0/+23
We can't run regen.pl as part of the build, as we'd end up with a circular dependency between the headers and miniperl.