summaryrefslogtreecommitdiff
path: root/Makefile.SH
Commit message (Collapse)AuthorAgeFilesLines
* Create a perldelta for 5.14.0Florian Ragwitz2011-03-201-3/+3
|
* In t/TEST, automatically detect if running under miniperlNicholas Clark2011-02-211-2/+2
| | | | | | 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
* Update TOC for perl51310deltaÆvar Arnfjörð Bjarmason2011-02-201-3/+3
| | | | | | | | | | | | | | | | Quoth Porting/perldelta_template.pod: "Run C<perl pod/buildtoc --build-all> to update the F<perldelta> version in the following files: MANIFEST Makefile.SH pod.lst pod/perl.pod vms/descrip_mms.template win32/Makefile win32/makefile.mk win32/pod.mak"
* Run lib/diagnostics.t during make test_portingLarwan Berke2011-02-161-1/+1
| | | | Signed-off-by: David Golden <dagolden@cpan.org>
* Add ext/re/re.pm to the @INC set for miniperl by lib/buildcustomize.plNicholas Clark2011-02-151-7/+3
| | | | | | | 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.
* Use a buildcustomize.pl to set @INC in miniperl when building extensions.Nicholas Clark2011-02-151-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge perl_keyword.pl into regen/keywords.pl, to generate keywords.[ch]Nicholas Clark2011-01-241-2/+1
| | | | | | | | | | 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)
* Break out the generated function Perl_keywords() into keywords.c, a new file.Nicholas Clark2011-01-241-2/+2
| | | | | | | | 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.
* opcode.pl hasn't generated files named *-old since 2008, so don't delete them.Nicholas Clark2011-01-231-1/+0
| | | | | | 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.
* Update TOC for perl51310deltaJesse Vincent2011-01-221-3/+3
|
* Remove references to compat3.sym and interp.sym, deleted over 10 years ago.Nicholas Clark2011-01-191-2/+0
|
* test_prep now depends on the pods needed for porting/buildtoc.tTony Cook2011-01-171-1/+1
| | | | | In the other makefiles test_prep (or test-prep) depends on all, so they shouldn't need updating.
* Generate pp_* prototypes in pp_proto.h, and remove pp.symNicholas Clark2011-01-091-5/+4
| | | | | | | | | | | 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)
* [perl #73630] Build separate DTrace for miniperlDavid Leadbeater2011-01-021-3/+10
| | | | | | | | | | | | As outlined in the RT ticket due to miniperl's dependencies differing to the final perl binary dtrace -G needs to be called separately for each. Build tested on Mac OS X 10.6, Solaris 11 and Scientific Linux with SystemTap from git. (Solaris is the only system I have access to where DTRACE_O actually gets defined. Neither the dtrace binary on OS X nor SystemTap's dtrace compatibility layer accept the -G option.)
* Move metaconfig control comments into its own filesH.Merijn Brand2010-12-211-17/+0
|
* Restore a reference to $perlpath. Installation needs itH.Merijn Brand2010-12-211-0/+3
| | | | cbeaa1895 removed the reference to $perlpath
* update TOC for perl5138delta and perl5139deltaZefram2010-12-201-3/+3
|
* Remove the Makefile command to touch perlmain.c after running makedepend.Nicholas Clark2010-12-031-2/+0
| | | | | | | | | | | | | | | | | | | | Jerry D. Hedden was right to question whether this was now superfluous, because as best I can tell it was *always* superfluous. Perl 5.000 shipped with a Makefile rule to build perlmain.c using a shell script, with a dependency for perlmain.c on makefile. [Lowercase makefile, now abstracted as $(FIRSTMAKEFILE). This is generated by makedepend from Makefile, by calculating the dependency rules to append to it.] The rule to generate perlmain.c had a prerequisite on $(FIRSTMAKEFILE), and in turn $(FIRSTMAKEFILE) has a dependency on $(c), which included perlmain.c. Hence there was a circular dependency, and the "solution" to avoiding repeated rebuilds was to touch perlmain.c (if it exists), after running makedepend. As best I can tell there is no *actual* dependency for the correct generation of perlmain.c on the contents of $(FIRSTMAKEFILE), as the relevant variables are the same in both Makefile and $(FIRSTMAKEFILE). Hence this command should have been removed, along with the dependency, years ago. However, no-one spotted this until Jerry observed that fbcaf61123069fe4 changed the build rules, and removed the dependency, but not the touch command.
* Following fbcaf61123069fe4, remove perlmain.c from the initial list of C files.Nicholas Clark2010-11-291-1/+1
| | | | | | | | | | | | | | | Otherwise miniperl gets built by ./makedepend, as it calls `make clist`, clist depends on the initial list of C files, and perlmain.c has rules to (re)build it which depend on miniperl. There is no dependency problem with removing perlmain.c from the list of C files, and hence the list of files for which makefile dependency rules are generated, as its (new) dependency on miniperl means that it will always be rebuilt if miniperl is rebuilt, and in turn miniperl will always be rebuilt it miniperlmain.o is out of date. perlmain.o has the same dependencies as miniperlmain.o, so the requirement to rebuild is always satisfied. Thanks to Florian Ragwitz for spotting this problem.
* Remove makeaperl, never used, a wrapper for ExtUtils::MakeMaker::makeaperlNicholas Clark2010-11-281-4/+2
| | | | | | 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.
* Generate perlmain.c using ExtUtils::Miniperl, instead of writemain.SH.Nicholas Clark2010-11-281-4/+4
| | | | | This allows writemain.SH to be removed. This also has the side effect of testing that ExtUtils::Miniperl actually works. :-)
* Proper Makefile dependencies for the x2p/s2p rule.Nicholas Clark2010-11-281-3/+3
| | | | | | | | | Without this, a parallel make for a static build can fail, as x2p/Makefile uses ../perl for a static build, but there was no rule to ensure that ../perl was built. A static build currently still fails some tests, I think because Encode doesn't link all encodings staticly.
* Update TOC for perl5.13.8Chris 'BinGOs' Williams2010-11-211-3/+3
|
* Add l1_char_class_tab.h to Make dependenciesKarl Williamson2010-10-311-1/+1
|
* Restore +x to Makefile.SHNicholas Clark2010-10-211-0/+0
| | | | f4d47668d36d0dd4 unintentionally removed it.
* update TOC for perl5137deltaTatsuhiko Miyagawa2010-10-201-3/+3
|
* Convert lib/Tie/Hash/NamedCapture.pm to an XS module in ext/Nicholas Clark2010-10-141-1/+1
| | | | Initially move only Tie::Hash::NamedCapture::flags from universal.c to it.
* Fix x2p and utils dependencies for static buildsAndy Dougherty2010-10-141-4/+18
| | | | | | | | The x2p and utils .PL extractions use the Cwd module, which is not available in miniperl in a static build. (For a dynamic build, miniperl only loads the pure perl portion of Cwd, but building the whole extension ensures that the pure perl part is correctly built and available. It might be cleaner just to always require the full perl.)
* Eliminate the now unused Makefile targets plextract, pl and pllist.Nicholas Clark2010-10-051-17/+3
|
* Move pod2html.PL into ext/Pod-HtmlNicholas Clark2010-10-051-2/+2
| | | | | Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than repeating the logic in (at least) 5 places.
* Move pod2man.PL, pod2text.PL, podselect.PL into cpan/podlators/scriptsNicholas Clark2010-10-051-2/+2
| | | | | Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than repeating the logic in (at least) 5 places.
* Move pod2usage.PL, podchecker.PL, podselect.PL into cpan/Pod-Parser/scriptsNicholas Clark2010-10-051-4/+2
| | | | | Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than repeating the logic in (at least) 5 places.
* Move pod2latex.PL into its CPAN distribution directory.Nicholas Clark2010-10-051-2/+2
| | | | | Let ExtUtils::MakeMaker deal with running this extraction script, rather than repeating the logic in (at least) 5 places.
* test_prep has a dependency on x2p/s2pNicholas Clark2010-10-051-1/+1
| | | | | This has not been spotted because is has a dependency on $(plextract) which in turn depends on x2p/s2p
* The *.PL scripts in utils/ have a dependency on Cwd in lib.Nicholas Clark2010-10-051-2/+7
| | | | | This has not been spotted because they have a dependency on $(plextract) which in turn depends on $(dynamic_ext).
* Fix perl build problems on Stratus VOSPaul Green2010-10-031-1/+1
| | | | | | | | | | | | | | | | | | The attached text files contain patches to correct build problems on the Stratus VOS (recently renamed "OpenVOS") operating system. I have tested these changes on OpenVOS Release 17.0, which is the most-current customer release. None of these changes should affect any other OS. Makefile.SH: This patch removes the "miniperl" dependency of the "all" target. On an operating system that does not require an executable suffix, the miniperl$(EXE_EXT) dependency evaluates to "miniperl", too. But on an operating system like VOS that does have an executable suffix, miniperl$(EXE_EXT) evaluates to (in our case) "miniperl.pm" and the "miniperl" target is unresolved. ext/Socket/Socket.xs: Sadly, OpenVOS does not yet support IPv6. I edited the code to allow for this case, while retaining IPv6 support for operating systems that do support it.
* Move OP prototypes from pp_proto.h to proto.hNicholas Clark2010-09-271-3/+3
| | | | | | | | | | | | 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.
* Remove targets depending on the removed emacs/ dirFlorian Ragwitz2010-09-251-18/+1
|
* Prepare perldelta for Perl 5.13.6Steve Hay2010-09-191-3/+3
|
* Move the latest perldelta to pod/perldelta.podFlorian Ragwitz2010-09-051-3/+3
| | | | | This way patches including perldelta entries will apply properly, no matter when they are applied. If there's conflicts, they'll at least be in the right file.
* update TOC and perldelta referencesFlorian Ragwitz2010-08-201-2/+2
|
* Make everything exec-bit.txt lists executableFlorian Ragwitz2010-08-191-0/+0
| | | | | | | All these files used to be executable in the release tarballs. Apparently things also work without that in the repository, but I'd rather add this possibly unecessary change to blead instead of breaking the upcoming release. This should probably be looked into again afterwards.
* Only copy op.c to opmini.c if op.c is a symlink, else use a symlink.Nicholas Clark2010-08-161-5/+17
| | | | | | | | Similarly for perl.c to perlmini.c This avoids the work of a file copy if a symlink would do the job, but ensures that we don't create a symlink to a symlink to a file, which (comments suggest) upsets gcc.
* Use a loop to generate the Makefile rules for opmini.c and perlmini.c.Nicholas Clark2010-08-161-19/+16
|
* For both opmini.o and perlmini.o define PERL_EXTERNAL_GLOB and PERL_IS_MINIPERLNicholas Clark2010-08-161-2/+2
| | | | | | Previously only opmini.o was compiled with -DPERL_EXTERNAL_GLOB, and only perlmini.o with -DPERL_IS_MINIPERL. Add "PERL_EXTERNAL_GLOB" to the output of (mini)perl -V if it is defined.
* Cwd.pm needs to be installed in lib before SDBM_File recurses. Mark the ↵Tony Cook2010-08-131-0/+2
| | | | | | | | dependency make_ext.pl fills PERL5LIB with relative directories to the modules needed, but this fails for SDBM_File when it recurses into ext/SDBM_File/sdbm directory. Revealed in parallel builds on OpenBSD.
* Add new hdr op_reg_common to Makefile.SHKarl Williamson2010-07-301-1/+1
| | | | I believe this is required for dependencies to be calculated properly
* Move PathTools from cpan/ to dist/Florian Ragwitz2010-07-241-1/+1
|
* update TOC and perldelta referencesDavid Golden2010-07-201-2/+2
|
* Update Makefile to regen META.yml as it regens other files in regen_allJesse Vincent2010-07-041-4/+7
|