summaryrefslogtreecommitdiff
path: root/Makefile.SH
Commit message (Collapse)AuthorAgeFilesLines
* work around a bug in dtrace - it strips const from function parametersTony Cook2011-08-091-1/+4
| | | | | | | | | | | | | | | | | With usedtrace this caused: - build failures under g++ (OS X) - const qualification warnings with gcc (OS X) The workaround simply adds const to char * parameters if not already present. The bug in dtrace was apparently reported to Sun in 2006: http://opensolaris.org/jive/thread.jspa?threadID=53810 Mozilla ran into the same problem: https://bugzilla.mozilla.org/show_bug.cgi?id=593483
* every use of $(mini_obj) needs the mini specific objects, so include themTony Cook2011-07-281-16/+12
| | | | | Also fixes link issues with usedtrace on Solaris, since perlmini.o wasn't being processed by dtrace.
* new perldelta for 5.15.2Zefram2011-07-201-3/+3
|
* create perldelta for 5.15.1Father Chrysostomos2011-06-211-3/+3
|
* Create a lookup table for magic vtables from magic type, PL_magic_data.Nicholas Clark2011-06-111-4/+6
| | | | | | | | | | | 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 find2perl as a dependency for the target 'test_prep'.Nicholas Clark2011-05-231-1/+6
| | | | | | | 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'.
* if List-Util is built statically, depend on $(PERL_EXE) instead of the ↵Tony Cook2011-05-201-1/+3
| | | | | | | shared library of course, it could be that these dependencies are as redundant as the rest.
* remove unused dependency rule generation for Text/ParseWordsTony Cook2011-05-201-2/+0
| | | | | | | | | 1) Text/ParseWords isn't XS, so never appears in dynamic_ext 2) there's no lib/auto/Scalar/Util.$dlext target, the file would be lib/auto/Scalar/Util/Util.$dlext , but it's built as part of List-Util, so there's no dependency lib/auto/Scalar/Util/Util.$dlext anyway.
* handle a static Cwd when generating the deps for x2p/utilsTony Cook2011-05-201-2/+14
|
* remove unneeded dependencies against CwdTony Cook2011-05-201-4/+0
| | | | | | these were added because the build process for Encode and SDBM_File changes directory, invalidating the original "../lib:../../lib" PERL5LIB. With buildcustomize.pl they can change directory safely.
* Avoid make distclean failing if t/tmp* matches a directory.Nicholas Clark2011-05-191-1/+2
| | | | | | | | | | | | | 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$$")
* update TOC for perl5150deltaDavid Mitchell2011-05-181-3/+3
|
* 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
|