| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This splits a bunch of the subcomponents of the regex engine into
smaller files.
regcomp_debug.c
regcomp_internal.h
regcomp_invlist.c
regcomp_study.c
regcomp_trie.c
The only real change besides to the build machine to achieve the split
is to also adds some new defines which can be used in embed.fnc to control
exports without having to enumerate /every/ regex engine file. For
instance all of regcomp*.c defines PERL_IN_REGCOMP_ANY, and this is used
in embed.fnc to manage exports.
|
|
|
|
|
|
|
| |
Now environ isn't owned by Perl and calling setenv/putenv in XS code
will no longer result in memory corruption.
Fixes #19399
|
|
|
|
|
|
|
|
| |
This was originally added for MinGW, which no longer needs it, and
only still used by Symbian, which is now removed.
This also leaves perlapi.[ch] empty, but we keep the header for CPAN
backwards compatibility.
|
|
|
|
| |
We rely on a C89 implementation anyway.
|
| |
|
|
|
|
| |
Instead of #include-ing the C file, compile it normally.
|
|
|
|
|
|
|
|
|
| |
This is to prevent a conflict showing up on z/OS (os390) because this
file's name is the same as one in /ext, and there are functions
cross-referenced between them, and the loader on that platform
can't deal with this.
See http://nntp.perl.org/group/perl.perl5.porters/226612
|
|
|
|
|
| |
This includes various tweaks related to building SipHash and other
cleanup.
|
|
|
|
|
|
| |
Without this, the main Makefile and Makefile.micro interfere with each other,
as they both generate the same 5 files, and both think that they can delete
them with their respective clean targets.
|
|
|
|
| |
Commit 9387abf86b0530ac missed this.
|
|
|
|
| |
This was fixed in Makefile.SH in commit 0f13ebd5d71f8177.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add instructions on how to use it to README.micro.
There's rather too much size-specific in perl's configuration to make it viable
to have a single uconfig.sh that will work "properly" on both LP32 and LP64
platforms. It seems best to ship the default as LP32 (which is correct for
Win32 (although I don't know if microperl yet builds on Win32)), and provide
just a config.sh file for LP64, as most (all?) 64 bit *nix platforms are LP64,
and can run the shell commands to generate a uconfig.h from it.
(Win64 is LLP64, so uconfig64.sh isn't going to be right for it, so the
inability of Win64 to generate uconfig.h from uconfig64.sh isn't a problem)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now, all the tests we run don't use Config, so don't try to build it first.
[Hence this is about half of the original commit by David Leadbeater, which
did build Config, from config.sh]
There's an unresolved problem with building Config - building Config.pm etc
from config.sh won't reflect the capabilities of the microperl being tested,
so that argues for the right solution to be adapting configpm to be able to use
uconfig.sh instead. But doing that means that when building and (re)testing
"regular" perl, we could end up with a build tree with lib/Config.pm "up to
date", as far as make is concerned, but totally the wrong contents in reality.
Tests will fail, heads will be scratched, time will be wasted, etc.
|
|
|
|
|
| |
Previously it tried to patch 'uconfig.shx', now it patches
'uconfig.sh' as documented.
|
|
|
|
| |
(Half of a single commit by David Leadbeater)
|
|
|
|
|
| |
Makefile.micro hadn't kept up with the changes for generate_uudmap,
make it match the real Makefile.
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids limiting microperl to platforms with a Bourne shell. It also
avoids automated build tools modifying distribution files as part of the
default build targets.
Now that we have a regression test to ensure that uconfig.h is up to date,
the version as shipped will be consistent with uconfig.sh. README.micro
already instructs people to run `make -f Makefile.micro regen_uconfig` if
they edit uconfig.sh, so no change needed there.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Message-ID: <4743029A.3010002@iki.fi>
p4raw-id: //depot/perl@32425
|
|
|
| |
p4raw-id: //depot/perl@31245
|
|
|
|
|
|
| |
From: "Brandon Black" <blblack@gmail.com>
Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com>
p4raw-id: //depot/perl@30980
|
|
|
|
|
| |
Message-ID: <460ED79A.5030809@iki.fi>
p4raw-id: //depot/perl@30823
|
|
|
|
|
| |
Message-ID: <44583D9F.8060401@gmail.com>
p4raw-id: //depot/perl@28074
|
|
|
|
|
|
|
| |
compatability with previous versions of Perl. Change also includes
various Makefile changes to compile the new file and link it into
libperl.
p4raw-id: //depot/perl@25866
|
|
|
| |
p4raw-id: //depot/perl@23027
|
|
|
|
|
|
|
|
|
| |
implementing the opendir()/readdir()/closedir() using
external commands give up "ANSI-pureness" and define them
in uconfig.sh, also define other stuff like rename() and putenv().
Leave out the $| emulation in my_fork() since we are
not supposed to have fork() under microperl.
p4raw-id: //depot/perl@20646
|
|
|
| |
p4raw-id: //depot/perl@18516
|
|
|
|
|
| |
Message-ID: <20020925234023.A20044@fdgroup.com>
p4raw-id: //depot/perl@17953
|
|
|
| |
p4raw-id: //depot/perl@16823
|
|
|
| |
p4raw-id: //depot/perl@16722
|
|
|
| |
p4raw-id: //depot/perl@15470
|
|
|
|
|
| |
submit-ing to get to Win32, and as "off site" backup.
p4raw-id: //depot/perlio@14352
|
|
|
|
|
|
|
|
|
|
| |
to pp_sort.c. Includes the quicksort stabilizing layer
from John P. Linderman. -Msort=qsort or -Msort=fast is
faster than without (or with -Msort=mergesort or -Msort=safe)
for short random inputs, but for some reason not quite as fast
as 5.6.1 qsort. More benchmarking, profiling, tuning, and
optimizing definitely needed.
p4raw-id: //depot/perl@13179
|
|
|
| |
p4raw-id: //depot/perl@11858
|
|
|
|
|
| |
working in 5.7.x
p4raw-id: //depot/perl@11803
|
|
|
|
|
|
|
|
|
| |
use systems' realpath(). Too many security problems,
too many buggy implementations.
TODO: the realpath() emulation code in util.c doesn't
seem fully operational? (readlink(), for example?)
p4raw-id: //depot/perl@10744
|
|
|
| |
p4raw-id: //depot/perl@10685
|
|
|
| |
p4raw-id: //depot/perl@10682
|
|
|
| |
p4raw-id: //depot/perl@10235
|
|
written from scratch; few casts added as microperl compilation
doesn't have all prototypes available.
p4raw-id: //depot/cfgperl@6174
|