| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 372a31d8f53707bcfa9c233ce02a93f778b7bb4b.
I missed this when I was merging that branch. It should never have
made its way into blead. It was to find out why the Windows smokes
were temporarily failing, by dumping Config_heavy.pl in the logs.
This was what led to 0ee364945bd.
|
|
|
|
| |
nt,hun
|
|
|
|
|
|
|
|
|
|
|
| |
Config::_V() is how perl -V is implemented internally, and is called called
directly from the interpreter's switch passing routine. Hence the value of
$^O at runtime will always be the same as the value of $^O at build time,
so conditionals dependent on the value of $^O will always take the same
execution path. So only generate the relevant code, and hence avoid shipping
VMS and Cygwin specific code except on those platforms. (But add a sanity
test in Config::_V() to ensure that the runtime $^O has the correct value -
ie that the Perl code and the perl binary correspond.)
|
|
|
|
| |
This will make subsequent changes easier.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is old code in configpm to handle mulit-line entries in config.sh
along the lines of
plibpth='/lib/x86_64-redhat-linux/4.4.5/
/lib/../lib64/
/usr/lib/x86_64-redhat-linux/4.4.5/
/usr/lib/../lib64/
/lib/
/usr/lib/'
which was broken, and produced
Use of uninitialized value $1
warnings, and messed up the content of lib/Config_heavy.pl.
We probably normally don't have multi-line entries, which is why no-one
noticed it before, but 40f026236b9959b7ad3260fedc6c66cd30bb7abc
has started generating the entry above.
|
|
|
|
|
| |
Fixes Use of uninitialized value $ENV{"CYGWIN"} in concatenation (.) or string
at /usr/lib/perl5/5.13.10/i686-cygwin/Config_heavy.pl line 54
|
|
|
|
| |
t/porting/bincompat.t tests that they are in order, so no need to sort them.
|
|
|
|
|
|
|
| |
Typeglob aliasing saves just over .5K, because fewer internal structures are
created. In the general case the behaviour of the two differs, but as the
only package variables of these names are subroutines, and we are within our
own namespace, there is no difference here.
|
|
|
|
|
|
| |
Can now use warnings and use vars, as both pragmata were fixed (some years ago)
not to pull in Carp unconditionally. use vars '%Config' (in two places) is
(about) 98 bytes smaller than our %Config on this platform.
|
|
|
|
|
|
|
| |
Currently ExtUtils::MM_{Unix,VMS} contain hard-coded lists, which omit some
headers, and include other headers that we would like to like to eliminate.
Having the Perl installation providing the canonical list for itself allows
us to avoid the these problems.
|
|
|
|
|
|
|
|
| |
Previously one could only find out by parsing the output of perl -V the list
of local patches, the compilation date, and the compilation options (some of
which affect binary compatibility). Now provide all of these as
local_patches(), compile_date(), bincompat_options() and
non_bincompat_options().
|
|
|
|
|
|
|
|
|
|
| |
The refactor generates %Export_Cache at perl build time, and hence avoids
Config.pm running a map on load. The change also results in @Config::EXPORT
containing shared hash key scalars, which saves 124 bytes on this platform,
modest, but everything helps.
Also change the build script to programmatically generate the function stubs
in Config.pm, instead of having the list duplicated by hand.
|
|
|
|
|
|
| |
This avoids Config.pm loading Config_heavy.pl when DynaLoader.pm is loaded.
It has been reading these at run time since 37589e1eefb1bd62, which post-dates
the analysis of which %Config::Config values are most "popular".
|
|
|
|
|
|
|
|
| |
When Config.pm dies with a perl/library version mismatch error, include
the path of the perl executable in the error message.
This helps avoid confusion during perl build when a cc wrapper written in
perl is used (such as colorgcc)
|
|
|
|
|
|
|
|
|
| |
Avoid the use of sprintf - __PACKAGE__ is a constant, so can be inlined within
the message string. Don't store '%Config' in %Export_Cache, as that's only used
to deal with exported functions. The variable %Config is special-cased.
On this platform, cachegrind shows a 1% reduction in instruction count and
L1 cache references as a result.
|
|
|
|
|
|
| |
For this platform, cachegrind reckons a 0.5% reduction in L1 cache refs and
0.5% reduction in instructions executed, which whilst small, is a step in the
right direction.
|
|
|
|
| |
Saves having object code to build one SV that Config::_V can find out by itself.
|
|
|
|
|
|
| |
Previously it was a Perl program generated by code embedded in perl.c, with
conditional compilation logic, hence a combination of C pre-processor, C and
Perl.
|
|
|
|
|
| |
A slight Makefile simplification, and another move towards Win32 standardising
on running miniperl as $(MINIPERL), which currently is ..\miniperl.exe
|
| |
|
| |
|
|
|
|
| |
previous patches
|
|
|
|
| |
it would
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The net result of this patch is to make available via Config.pm and -v/-V the
details about the git version info we have available for the build. When built within
a git repository git is queried directly. When built from a snapshot or bundle
it is assumed that the source is unchanged, and that the required details are
avaialble in a file called .patch, whose format current is a four field string
in the following format: "$branchname $date.$time $sha1 $describe". The
generator of these files currently resides on camel.booking.com.
* git-describe is now used more directly with -v.
When the prefix of git-describe matches the version number
as determined by the defines in patchlevel.h then we use ONLY
the git-describe output, otherwise we include
the git describe in parenthesis after the version number. Either way
the describe text is optionally followed by a star should there be
uncommitted changes.
eg: This is perl, v5.11.0 (GitLive-blead-136-g58ca560) built for i686-linux
or: This is perl, v5.11.0-1-g58ca560 built for i686-linux
or: This is perl, v5.11.0 built for i686-linux
* include the SHA1 in perl -V summary, and automatically include unpushed
commits in the registered patches list
* include various git/version/.patch details in %Config, as follows:
git_commit_id # sha1 of HEAD
git_ancestor # ancestor in $remote/$branch (presumably canonical)
git_describe # git describe
git_branch # current branch
git_uncommitted_changes # "true" if there are any, empty otherwise
git_unpushed_commits # List of sha1's of unpushed commits
git_commit_id_title # Used to make the perl -V summary output
Additionally one more value is added depending on build process used: when
building from an rsynced snapshot (or any dist including a file called
.patch) then the second field will be used to populate the
"git_snapshot_date" field. Otherwise if built in a git directory (as is hopefully
recommended these day) then the field will be "git_commit_date" which will be the
commit date of HEAD.
This patch introduces two new files (on top of .patchnum) that will be generated by
make_patchnum.sh: "lib/Config_git.pl" and "unpushed.h", the former is used to make
git data available to Config.pm/%Config without rebuilding everything else, and the
second is used to expose unpushed commits (if any) via the registered patch facility
of patchlevel.h
|
|
|
|
|
| |
by perldoc or by search.cpan.org)
p4raw-id: //depot/perl@32916
|
|
|
|
|
| |
Message-ID: <466D6803.1020808@vkonovalov.ru>
p4raw-id: //depot/perl@31366
|
|
|
|
|
|
|
| |
Message-ID: <4659F6E2.3090805@vkonovalov.ru>
with adjustments to the MANIFEST
p4raw-id: //depot/perl@31287
|
|
|
|
|
|
|
| |
[Make the original versions of relocated paths available from
%Config::Config with the prefix "raw_". Not sure if "raw_" is the
best choice.]
p4raw-id: //depot/perl@28210
|
|
|
|
|
|
| |
Should stop spurious rebuilding of extensions.
Also add documentation and copyright to top of file.
p4raw-id: //depot/perl@27603
|
|
|
|
|
|
| |
%Config::Config with the prefix "raw_". Not sure if "raw_" is the
best choice.
p4raw-id: //depot/perl@27513
|
|
|
|
|
|
|
| |
to the current location of the perl tree, move it, install more things,
move it again, lather rinse repeat.
Configure with -Duserelocatableinc
p4raw-id: //depot/perl@27491
|
|
|
|
|
| |
Seems to be installing rather more that it's supposed to be.
p4raw-id: //depot/perl@27490
|
|
|
|
|
| |
p4raw-link: @26071 on //depot/perl: 8861ecc69a87dc6907b3e9c79689edb5df16413e
p4raw-id: //depot/perl@26072
|
|
|
|
|
|
| |
until we find a better implementation of it (or
remove it). See [perl #36375].
p4raw-id: //depot/perl@25195
|
|
|
|
|
| |
Configure_heavy.pl gets truncated.
p4raw-id: //depot/perl@24982
|
|
|
|
|
| |
Message-ID: <42A414DD.8090504@rowman.com>
p4raw-id: //depot/perl@24823
|
|
|
|
|
| |
require it, not something (or maybe nothing) in the correct place.
p4raw-id: //depot/perl@24659
|
|
|
|
|
| |
Message-ID: <B356D8F434D20B40A8CEDAEC305A1F2453D653@esebe105.NOE.Nokia.com>
p4raw-id: //depot/perl@24271
|
|
|
| |
p4raw-id: //depot/perl@23752
|
|
|
|
|
|
| |
everyone should already be using archlibext etc
Add the extra special case code for otherlibdirs
p4raw-id: //depot/perl@23679
|
|
|
|
|
|
|
|
| |
(With appropriate fixups in Config.pm to complete the illusion)
Currently can only be enabled with hackery to config.sh
TODO - proper Configure support, and support for otherlibdirs in
Config.pm
p4raw-id: //depot/perl@23674
|
|
|
|
|
| |
if there aren't any. '' only code is much simpler.
p4raw-id: //depot/perl@23564
|
|
|
| |
p4raw-id: //depot/perl@23563
|
|
|
|
|
| |
isn't actually a frequently looked up value.
p4raw-id: //depot/perl@23562
|
|
|
|
|
|
|
| |
working.
No need to keep $Config_SH around in memory when we can easily
re-create it.
p4raw-id: //depot/perl@23561
|
|
|
|
|
| |
data, rather than just guesswork.
p4raw-id: //depot/perl@23558
|