| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
If t/porting/podcheck.t can't find x2p/find2perl, then it is unable to find an
external target for a pod link in perlutil.pod, which it flags up as an error.
find2perl was already a dependency of the 'all' target, hence without this
rule podcheck.t would pass for 'make all test', but not 'make test'.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the tests in t/ make directories with names generated by the test.pl
tempfile(), and if they exit abnormally without deleting them, this would cause
distclean to fail. So change `rm -f t/tmp*` to `rm -rf t/tmp*`
Remove other cruft from the same line in the Makefile.
t/misctmp* hasn't been generated since 7a7e49369367a634.
t/forktmp* hasn't been generated since 1c25d394345c1b97.
t/io/fs.t has deleted t/c itself since 44a8e56aa037ed0f.
(Whilst it might abort and fail to delete it, there's no special treatment
in the Makefile for the other file that it creates, "t/TEST$$")
|
|
|
|
|
|
| |
Set $ENV{PERL_CORE_MINITEST} based on defined &DynaLoader::boot_DynaLoader,
instead of relying on a -minitest parameter. &DynaLoader::boot_DynaLoader is
undefined in miniperl, defined in perl, for both -Dusedl and -Uusedl
|
|
|
|
|
|
|
| |
This avoids a build-time race condition where lib/re.pm might be read midway
through the *second* copy of it (when ext/re/Makefile is being run). It also
simplifies many [Mm]akefile* rules, which previously had a special case to
copy it early.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the build tools now shipped in various subdirectories of cpan/ and dist/
we need to add several paths to @INC when invoking MakeMaker (etc) to build
extensions.
The previous approach of using $ENV{PERL5LIB} was fragile, because:
a: It was hitting the length limit for %ENV variables on VMS
b: It was running the risk of race conditions in a parallel build -
ExtUtils::Makemaker "knows" to add -I../..lib, which puts lib at the *front*
of @INC, but if one parallel process happens to copy a module into lib/
whilst another is searching for it, the second may get a partial read
c: Overwriting $ENV{PERL5LIB} breaks any system where any of the installed
build tools are actually implemented in Perl, if they are relying on
$ENV{PERL5LIB} for setup
This approach
a: Doesn't have %ENV length limits
b: Ensures that lib/ is last, so copy targets are always shadowing copy
sources
c: Only affects miniperl, and doesn't touch $ENV{PERL5LIB}
Approaches that turned out to have fatal flaws:
1: Using $ENV{PERL5OPT} with a module fails because ExtUtils::MakeMaker
searches for the build perl without setting lib, and treats the error
caused by a failed -M as "not a valid perl 5 binary"
2: Refactoring ExtUtils::MakeMaker to *not* use -I for lib, and instead rely
on $ENV{PERL5LIB} [which includes "../../lib"] fails because:
some extensions have subdirectories, and on these EU::MM correctly uses
-I../../../lib, where as $ENV{PERL5LIB} only has space for relative paths,
and only with two levels.
This approach actually takes advantage of ExtUtils::MakeMaker setting an -I
option correct for the depth of directory being built.
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
no longer static, and the two macro definitions move from toke.c to perl.h
Previously, one had to cut and paste the output of perl_keywords.pl into the
middle of toke.c, and it was not clear that it was generated code.
|
|
|
|
|
|
| |
Commit b6b9a09997c80269 removed the last vestiges of the code that generated
any files named *-old, but the code to clean them up remained. It serves no
purpose.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13
locations that relied on them.
regen/opcode.pl now generates prototypes for the PP functions directly, into
pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads
this, removing the only ordering dependency in the regen scripts. opcode.pl
is now responsible for prototypes for pp_* functions. (embed.pl remains
responsible for ck_* functions, reading from regen/opcodes)
|
|
|
|
|
|
|
|
|
| |
# New Ticket Created by (Peter J. Acklam)
# Please include the string: [perl #81880]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=81880 >
Signed-off-by: Abigail <abigail@abigail.be>
|
|
|
|
|
|
| |
makeaperl was added in perl5.000k, wrapped as makeaperl.SH in perl5.000l, but
neither used in the core build nor installed. All it does is acts as a
command-line wrapper to makeaperl() in ExtUtils::MakeMaker.
|
| |
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than
repeating the logic in (at least) 5 places.
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than
repeating the logic in (at least) 5 places.
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than
repeating the logic in (at least) 5 places.
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running this extraction script, rather than
repeating the logic in (at least) 5 places.
|
|
|
|
|
| |
This has not been spotted because is has a dependency on $(plextract) which
in turn depends on x2p/s2p
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make embed.pl fully responsible for generating prototypes and embedding macros
for pp_* and ck_* functions, placing them in embed.h and proto.h
opcode.pl no longer generates pp_proto.h
Remove the (effectively) duplicate explicit entries for (all but 2) ck_*
functions from embed.fnc
We can't actually remove pp_proto.h from the distribution *yet*, as
ExtUtils::MM_Unix and ExtUtils::MM_VMS have hardcoded lists of the installed
headers. Once this is resolved, we can.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When porting/makerel runs, all files copied into the directory for the
tarball have the executable bit stripped and then only a specific set of
files have the executable bit restored.
There are many files in the repo that have the executable bit set in the
repo that will be stripped. So that the state of files in the repo is
as close as possible to the state of files in the release tarball, the
executable bit has been stripped from such files.
In one recent case, a file added from a dual-life module needed the
executable bit set. Because it had the bit in the repo but was
not listed in makerel to get an executable bit, tests using it
passed in the repo and failed in the tarball.
This commit refactors the list into a new file, Porting/exec-bit.txt
and add tests to detect a mismatch between files listed there
and actual executable bits in the repo.
|
|
|
|
| |
lib/unicore/version was getting removed by "make distclean".
|
| |
|
|
|
|
| |
Message-ID: <4B0C4744.7080401@khwilliamson.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that the code in the Makefile to run AutoSplit over lib has actually
been vestigial since some point *before* 5.000. Presumably, initially, Perl code
for extensions was in lib, and autosplit (the precursor to AutoSplit.pm) was run
on them there. Or they were copied from ext to lib first, before splitting.
Fifteen year-old backup tapes refuse to give us the detailed history of the
pre-5.000 period.
Whatever the cause, the code was never needed - backed up by the absense of any
analgous code in the Win32 Makefiles. So remove it. This happens to also remove
the only use of the shell script makedir, so remove it too.
|
|
|
|
| |
Should really have been done as part of 344af494c35a9f0f50dab51474b2e7cd806f1b08
|
| |
|
| |
|
|
|
|
| |
61edc68382f612a884a3181266d6220ea3a727eb
|
|
|
|
|
|
| |
Treat all arguments that /=/ as passthrough, the rest being extensions.
This will converge the argument passing conventions for make_ext.pl and
win32/buildext.pl
|
| |
|
|
|
|
|
|
| |
Add --option argument parsing to make_ext.pl (swiped from buildext.pl).
Add a --cross option to add -MCross to the Makefile.PL line.
Change Cross/Makefile-cross-SH to call "ext/util/make_ext.pl --cross ..."
|
| |
|
|
|
|
|
| |
Message-ID: <4743029A.3010002@iki.fi>
p4raw-id: //depot/perl@32425
|
|
|
|
|
|
| |
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510709250745s1d17ae54y6403711e00b306a0@mail.gmail.com>
p4raw-id: //depot/perl@31979
|
|
|
|
|
|
| |
From: "Konovalov, Vadim Vladimirovich \(Vadim\)** CTR **" <vkonovalov@alcatel-lucent.com>
Message-ID: <D16F05D0CAAA234BA2B753B80DE6100D278EBC@DEEXC1U02.de.lucent.com>
p4raw-id: //depot/perl@31362
|
|
Message-ID: <465B11AB.8000608@vkonovalov.ru>
Date: Mon, 28 May 2007 21:30:19 +0400
p4raw-id: //depot/perl@31296
|