| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This ensures that it gets re-run, and lib/Pod/Functions.pm rebuilt, if
perlfunc.pod is changed.
|
|
|
|
|
| |
This will allow Pod::Functions to use Pod::Simple as part of its build
process.
|
|
|
|
|
|
|
| |
This will be used to generate compile-time inversion lists in a C hdr
file that can be included in programs for initialization speed
Three simple inversion lists are included in this initial commit
|
|
|
|
|
|
| |
This has been done on win32 since commit b4a415570dc258dd in 2006.
However, the new Pod::Html caching code only uses one file, pod2htmd.tmp,
so remove now redundant cleanup code for pod2htmi.tmp.
|
| |
|
|
|
|
|
|
|
| |
The install.html target generates vms/README_vms.pod and files in two
directories, pod/perlfunc/ and pod/perlipc/
Add all three to .gitignore files, and add rules to delete the directories
when cleaning.
|
|
|
|
|
|
|
|
|
|
| |
The long deprecated --netscape flag was removed in commit 27b29ec338b08496.
This was originally added to control use of Netscape specific HTML
extensions, , but became a no-op when that functionality was removed.
--libpods was removed in commit 3b49d8d9ac841d8e.
However neither commit removed use of these flags by callers to Pod::Html,
notably in installhtml and the Makefiles that invoke it. Hence this commit.
|
| |
|
|
|
|
|
| |
This script generates lib/feature.pm. Soon it will be made to gener-
ate other files, too.
|
| |
|
|
|
|
|
|
|
|
| |
Previously the Makefile piped the output of makedef.pl to sort. This had the
side effect of ignoring the exit code from makedef.pl, as make could only
see the exit code of the last command in the pipeline. This concealed the
causes of the parallel make failure when makedef.pl was missing a dependency
on Config.pm
|
|
|
|
|
|
| |
roffitall remains a shell script, identical apart from a dynamically
generated list of man pages (and removal of the comment from 2000 that
this should be done).
|
|
|
|
|
|
|
|
| |
Commit 9d6c7f2eccef26a6 changed makedef.pl to use Config.pm
Commit 208d7614b345d1fb refactored makedef.pl to read values from
%Config::Config, instead of reading directly from config.sh
Hence we can replace the dependency on config.sh with one on lib/Config.pm
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pod/buildtoc now only generates pod/perltoc.pod, and only takes a --quiet
option. All the other file (re)generation code is now in Porting/pod_rules.pl.
This splits functionality which generates a new file at build time from
functionality for maintainers, which edits files in place. This permits the
unwinding of some of commit 02cc404a20a8a345, which achieved net
simplification in pod/buildtoc by merging code paths dealing with new files
(only pod/perltoc.pod) and existing files being edited.
pod_rules.pl has a --tap option, instead of buildtoc's non-standard --test
option, and defaults to --build-all if no arguments are passed. As buildtoc
now does one job, it no longer takes a --build-toc option, hence all the
Makefiles which call it need updating.
|
|
|
|
|
| |
This step was omitted from commit
0765b2b82b120f4e57571368932aa4863aba62f6
|
| |
|
|
|
|
|
| |
Consistently make test_prep identical to test-prep
for all x-y and x_y targets.
|
| |
|
|
|
|
|
|
|
|
| |
This inserts several case $osname in linux) spitshell ... esac
statements to emit valgrind targets only where valgrind is available.
Platform dependence is better than checking for valgrind executable
because it serves as a subtle hint that it can be installed.
Other platforms can be added by those who have them.
|
|
|
|
|
|
|
| |
commit c7b956bbbaff changed Makefile.SH to emit gmake-only syntax, fix
that by doing so only on linux, by inserting a spitshell dependent on
osname. This isnt the most direct fix, but it starts to isolate
linux-only/mostly stuff, like test.valgrind.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move --log-fd=3 option from unconditional invocation into VG_OPTS
default value. A future version of perf will understand --log-fd=3,
but other tools probably will not, with this we can accommodate them,
and the current version of perf.
Makefile.SH:
Set VALGRIND var conditionally, to allow cmdline override (this is
probably non-portable, will need review at least).
perl.valgrind.config target's test of $(VALGRIND) is simplified to use
$(VG_TEST), which defaults to its legacy value: ./perl -e 1
2>/dev/null. Setting it to '--help' is needed for perf, and would
also work to verify that valgrind is runnable, but current test is
slightly more comprehensive for valgrind, so Ive left that for user to
change in the environment.
t/TEST:
1. --log-fd=3 is in default, but can be overridden by setting VG_OPTS
2. several variable renames to clarify purpose
3. $toolnm to rename output file with flexible suffix,
ie: valgrind, cachegrind, perf-stat
4. add perf to cachegrind as a special case, avoid culling of valgrind
output files by their content
With above, and following env, make test.valgrind works:
# --log-fd isnt mainline yet.
VALGRIND=/home/jimc/projects/lx/linux-2.6/tools/perf/perf
VG_TEST=--help
VG_OPTS='stat --log-fd=3 -- '
$> make test.valgrind;
PERL_VALGRIND=1 VALGRIND='/home/jimc/projects/lx/linux-2.6/tools/perf/perf' ./runtests choose
t/base/cond....................................................ok
t/base/if......................................................ok
t/base/lex.....................................................ok
...
[jimc@groucho perl]$ cat t/base/*.perf-stat
Performance counter stats for './perl base/cond.t':
5.882071 task-clock # 0.850 CPUs utilized
1 context-switches # 0.000 M/sec
1 CPU-migrations # 0.000 M/sec
483 page-faults # 0.082 M/sec
4,688,843 cycles # 0.797 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
3,368,118 instructions # 0.72 insns per cycle
718,821 branches # 122.205 M/sec
48,053 branch-misses # 6.68% of all branches
0.006920536 seconds time elapsed
This patch will allow you to use released version of perf,
just drop the --log-fd from VG_OPTS. The tests will fail,
because perf will write to STDOUT, and foul the harness.
The following runs cachegrind, creates t/*/*.cachegrind files.
It is much slower than using perf-stat.
$> export VG_OPTS='--tool=cachegrind --log-fd=3 -- '
$> make test.valgrind
==25822== Cachegrind, a cache and branch-prediction profiler
==25822== Copyright (C) 2002-2009, and GNU GPL'd, by Nicholas Nethercote et al.
==25822== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==25822== Command: ./perl base/cond.t
==25822==
==25822==
==25822== I refs: 1,680,072
==25822== I1 misses: 8,129
==25822== L2i misses: 3,675
==25822== I1 miss rate: 0.48%
==25822== L2i miss rate: 0.21%
==25822==
==25822== D refs: 604,393 (400,033 rd + 204,360 wr)
==25822== D1 misses: 12,599 ( 8,838 rd + 3,761 wr)
==25822== L2d misses: 6,261 ( 2,966 rd + 3,295 wr)
==25822== D1 miss rate: 2.0% ( 2.2% + 1.8% )
==25822== L2d miss rate: 1.0% ( 0.7% + 1.6% )
==25822==
==25822== L2 refs: 20,728 ( 16,967 rd + 3,761 wr)
==25822== L2 misses: 9,936 ( 6,641 rd + 3,295 wr)
==25822== L2 miss rate: 0.4% ( 0.3% + 1.6% )
NB: The following almost works; t runs the 1st test 5 times, and
produces 1 statistics file, but it fails, because TEST sees multiple
leaders, (FAILED--seen duplicate leader) and exits immediately,
because it happens in t/base. A work-around is easy enough, but adds
yet another knob. TBD.
$> VALGRIND=perf VG_OPTS='stat -r5 --log-fd=3 --' make test.valgrind
Performance counter stats for './perl base/cond.t' (5 runs):
5.568965 task-clock # 0.833 CPUs utilized ( +- 1.82% )
0 context-switches # 0.000 M/sec ( +- 61.24% )
0 CPU-migrations # 0.000 M/sec ( +-100.00% )
478 page-faults # 0.086 M/sec ( +- 0.37% )
4,441,737 cycles # 0.798 GHz ( +- 1.84% )
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
3,183,574 instructions # 0.72 insns per cycle ( +- 2.30% )
669,241 branches # 120.173 M/sec ( +- 2.87% )
41,826 branch-misses # 6.25% of all branches ( +- 3.78% )
0.006688160 seconds time elapsed ( +- 1.49% )
This patch is really a proof-of-concept; perf tool has far more
capabilities than t/TEST can exploit well, but this is a start,
and makes perf foo experimentation easier.
|
|
|
|
|
|
| |
The build was broken by the move of Carp from lib to dist, because
miniperl calls perlmodlib.PL, perlmodlib.PL loads FindBin, and FindBin
wants Carp.
|
| |
|
|
|
|
|
|
|
|
| |
global.sym was a file listing the exported symbols, generated by regen/embed.pl
from embed.fnc and regen/opcodes, which was only used by makedef.pl
Move the code that generates global.sym from regen/embed.pl to makedef.pl,
and thereby eliminate the need to ship a 907 line generated file.
|
|
|
|
|
|
|
| |
regen/uconfig_h.pl can't be run (by default) by regen.pl, as regen.pl needs
to be cross-platform, whilst regen/uconfig_h.pl relies on having a Bourne
Shell. However, if one has managed to extract Makefile from Makefile.SH,
that's clear proof that one has a working Bourne Shell available :-)
|
|
|
|
|
|
| |
uudmap.h bitcount.h mg_data.h are all generated by generate_uudmap, and all
need to be deleted as part of the clean targets, so it makes sense to
reference all 3 together using a single makefile macro.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Also fixes link issues with usedtrace on Solaris, since perlmini.o
wasn't being processed by dtrace.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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'.
|
|
|
|
|
|
|
| |
shared library
of course, it could be that these dependencies are as redundant as the
rest.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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"
|
|
|
|
| |
Signed-off-by: David Golden <dagolden@cpan.org>
|