| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
BeOS was an operating system for personal computers developed by Be Inc,
initially for their BeBox hardware. The OS Haiku was written as an open source
replacement/continuation for BeOS, and its perl port is current and actively
maintained.
The BeOS port has not been updated since 2004.
|
|
|
|
|
|
| |
directory t/opbasic.
For RT #115838
|
| |
|
|
|
|
| |
It's not unusual, for example, for the search path to include "(" and ")" in cygwin.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
VM/ESA was a mainframe OS. IBM ended service on it in June 2003. It was
superseded by Z/VM.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Discovered doing a parallel build on OpenBSD, reproducible elsewhere
with:
./Configure ... && make ext/Pod-Functions/pm_to_blib
While Pod-Escapes is a dependency of Pod-Simple, the Pod-Simple build
process doesn't require that Pod-Escapes already be built, while the
Pod-Functions build process does.
|
|
|
|
|
|
|
|
| |
This seemingly redundant action seems to be necessary for maximum
portability on repeat makes - certainly HP-UX make will happily assume that
the target (the symlink) is out of date, attempt to re-run the rule, and
then fail because the `ln -s` command fails due to the target already
existing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|