summaryrefslogtreecommitdiff
path: root/Makefile.micro
Commit message (Collapse)AuthorAgeFilesLines
* regcomp.c - decompose into smaller filesYves Orton2022-12-091-2/+15
| | | | | | | | | | | | | | | | | 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.
* make PERL_USE_SAFE_PUTENV the default and the only optionTomasz Konojacki2022-05-291-1/+1
| | | | | | | Now environ isn't owned by Perl and calling setenv/putenv in XS code will no longer result in memory corruption. Fixes #19399
* Remove PERL_GLOBAL_STRUCTDagfinn Ilmari Mannsåker2020-07-201-5/+2
| | | | | | | | 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.
* Don't attempt to define or use STANDARD_CAaron Crane2017-10-211-2/+1
| | | | We rely on a C89 implementation anyway.
* Add time64 as its own build target.Jarkko Hietaniemi2015-07-221-1/+4
|
* dquote_static.c -> dquote.cJarkko Hietaniemi2015-07-221-1/+4
| | | | Instead of #include-ing the C file, compile it normally.
* Change name of mro.cKarl Williamson2015-03-191-2/+2
| | | | | | | | | 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
* Split out hash functions into new file and turn into inline static functionsYves Orton2013-03-191-1/+1
| | | | | This includes various tweaks related to building SipHash and other cleanup.
* For microperl, prefix generateuudmap and the 3 generated headers with u.Nicholas Clark2011-08-241-8/+8
| | | | | | 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.
* Group 3 headers as $(generated_headers) in microperl's Makefile.Nicholas Clark2011-08-241-4/+5
| | | | Commit 9387abf86b0530ac missed this.
* Correct errors in the use of multiple targets, which could break parallel make.Nicholas Clark2011-06-111-1/+3
| | | | This was fixed in Makefile.SH in commit 0f13ebd5d71f8177.
* Create a lookup table for magic vtables from magic type, PL_magic_data.Nicholas Clark2011-06-111-4/+4
| | | | | | | | | | | 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
* For microperl, add uconfig64.sh, with values suitable for an LP64 platform.Nicholas Clark2011-03-281-0/+3
| | | | | | | | | | | | | | 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)
* Add very simple microtest for microperlNicholas Clark2011-03-281-0/+4
| | | | | | | | | | | | | | 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.
* microperl: Fix patch_uconfig targetDavid Leadbeater2011-03-281-1/+1
| | | | | Previously it tried to patch 'uconfig.shx', now it patches 'uconfig.sh' as documented.
* microperl: Define NO_MATHOMS to save ~10kNicholas Clark2011-03-281-1/+2
| | | | (Half of a single commit by David Leadbeater)
* microperl: Update generate_uudmap in Makefile.microDavid Leadbeater2011-03-281-4/+4
| | | | | Makefile.micro hadn't kept up with the changes for generate_uudmap, make it match the real Makefile.
* Don't automatically regenerate uconfig.h as part of the microperl build.Nicholas Clark2011-03-281-1/+1
| | | | | | | | | | | 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.
* Break out the generated function Perl_keywords() into keywords.c, a new file.Nicholas Clark2011-01-241-1/+4
| | | | | | | | 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.
* Generate pp_* prototypes in pp_proto.h, and remove pp.symNicholas Clark2011-01-091-1/+1
| | | | | | | | | | | 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)
* Move OP prototypes from pp_proto.h to proto.hNicholas Clark2010-09-271-1/+1
| | | | | | | | | | | | 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.
* Convert xsutils.c and lib/attributes.pm to a regular XS extension.Nicholas Clark2009-04-121-4/+1
|
* Re: [PATCH] various RC1 nitsJarkko Hietaniemi2007-11-201-41/+54
| | | | | Message-ID: <4743029A.3010002@iki.fi> p4raw-id: //depot/perl@32425
* delete thrdvar.h and move its contents to intrpvar.hDave Mitchell2007-05-201-1/+1
| | | p4raw-id: //depot/perl@31245
* Re: new C3 MRO patchBrandon Black2007-04-191-1/+4
| | | | | | From: "Brandon Black" <blblack@gmail.com> Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com> p4raw-id: //depot/perl@30980
* microperl plus missing config varsJarkko Hietaniemi2007-04-011-0/+6
| | | | | Message-ID: <460ED79A.5030809@iki.fi> p4raw-id: //depot/perl@30823
* microperl updateJarkko Hietaniemi2006-05-031-1/+1
| | | | | Message-ID: <44583D9F.8060401@gmail.com> p4raw-id: //depot/perl@28074
* Add a new file, mathoms.c, to hold old code kept around for binarySteve Peters2005-10-281-1/+4
| | | | | | | 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
* More microperl tweaks.Marcus Holland-Moritz2004-07-021-2/+1
| | | p4raw-id: //depot/perl@23027
* Apply much of Ilya's microperl patch, but instead ofJarkko Hietaniemi2003-08-121-5/+9
| | | | | | | | | 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
* microperl update.Jarkko Hietaniemi2003-01-191-5/+5
| | | p4raw-id: //depot/perl@18516
* move all pad-related code to its own src fileDave Mitchell2002-10-021-5/+8
| | | | | Message-ID: <20020925234023.A20044@fdgroup.com> p4raw-id: //depot/perl@17953
* Don't assume sh and true.Jarkko Hietaniemi2002-05-271-2/+2
| | | p4raw-id: //depot/perl@16823
* microperl: do not regenerate the perly.Jarkko Hietaniemi2002-05-211-0/+12
| | | p4raw-id: //depot/perl@16722
* microperl tweaks.Jarkko Hietaniemi2002-03-241-3/+5
| | | p4raw-id: //depot/perl@15470
* Nearly-working threads re-structuring. Do not integrate,Nick Ing-Simmons2002-01-191-5/+2
| | | | | submit-ing to get to Win32, and as "off site" backup. p4raw-id: //depot/perlio@14352
* Implement the sort pragma. Split sort code from pp_ctl.cJarkko Hietaniemi2001-11-211-1/+4
| | | | | | | | | | 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
* Add sharedsv.o to microperl object files.Jarkko Hietaniemi2001-09-041-1/+5
| | | p4raw-id: //depot/perl@11858
* remove deprecated PERL_OBJECT cruft, it has long since stoppedGurusamy Sarathy2001-08-311-1/+1
| | | | | working in 5.7.x p4raw-id: //depot/perl@11803
* After some reading I don't think we can blindlyJarkko Hietaniemi2001-06-201-1/+1
| | | | | | | | | 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
* Split off the pack/unpack code, from Nicholas Clark.Jarkko Hietaniemi2001-06-181-1/+4
| | | p4raw-id: //depot/perl@10685
* Add the locale.c and numeric.c to the microperl sources.Jarkko Hietaniemi2001-06-181-1/+8
| | | p4raw-id: //depot/perl@10682
* Microperl tweaks.Jarkko Hietaniemi2001-05-271-1/+2
| | | p4raw-id: //depot/perl@10235
* microperl changes from Simon Cozens; Makefile for microperlJarkko Hietaniemi2000-05-311-0/+125
written from scratch; few casts added as microperl compilation doesn't have all prototypes available. p4raw-id: //depot/cfgperl@6174