| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Switches from generating an image-base address using the basename of the
output file to using GCC's built-in `--enable-auto-image-base` linker
option.
This aligns the linking behaviour for Win32/gcc with that of
ExtUtils-MakeMaker which removed image-base generation in commit
<https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/343d21a453c4d03cf7304dbd4c4dd8180df574ad>.
|
|
|
|
|
|
|
|
| |
There are a number of files excluded using gitignore rules that are
included in the repository. This can lead to confusion if something
other than git tries to read the ignore files.
Add rules to the gitignore files so that these files won't be ignored.
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.280235 - 2020-11-01
Fix:
- Fix compilation on darwin with XCode 12 (-Werror=implicit-function-declaration)
Thanks to DrHyde for the patch.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This updates the bug tracker URL from http://rt.perl.org
to https://rt.perl.org.
There is a place in the code, in corelist.pl, that is sensitive
to the URL of the bug tracker. This now understands both
versions of the bug tracker URL. Ideally, this will be
consolidated once the dust settles.
This patch also updates ExtUtils::CBuilder, Safe, threads
and threads::shared to point to the new bug tracker URL.
|
| |
|
| |
|
|
|
|
| |
Committer: additional email address for contributor
|
|
|
|
|
|
| |
For: RT 133966
Committer: Bump $VERSION in dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
|
|
|
|
|
|
|
|
|
| |
0.280230 - 2017-11-22
Fixed:
- Updated Changes
- Used OurPkgVersion instead of PkgVersion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using vars pragma is discouraged and has been superseded
by 'our' declarations available in Perl v5.6.0 or later.
Additionally using 'vars' pragma increase the memory consumption of a
program by about 700 kB for no good reason.
This commit is about replacing the usage of 'vars' pragma
by 'our' in blead where it makes sense. ( leaving 'cpan' directory
outside of the scope )
-- using vars
perl -e 'use vars qw(@ISA $AUTOLOAD $VERSION); print qx{grep RSS /proc/$$/status} '
VmRSS: 2588 kB
-- using our instead
perl -e 'our (@ISA, $AUTOLOAD, $VERSION); print qx{grep RSS /proc/$$/status} '
VmRSS: 1864 kB
|
|
|
|
|
| |
See perl #132358: Just closing it leaves that file descriptor available
for use by the next open(), which can have unforeseen consequences...
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: James E Keenan <jkeenan@cpan.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File::Basename::fileparse(), when called with two arguments, is
documented to return a list of three elements:
The non-suffix part of the file's basename.
The file's dirname, plus trailing path separator.
The suffix part of the file's basename.
Thus,
my ($name,$path,$suffix) = fileparse('/tmp/perl/p5p/foo.patch', qr/\.[^.]*/);
returns:
$name: foo
$path: /tmp/perl/p5p/
$suffix: .patch
If we want to take those values and compose a path with
File::Spec->catfile(), we have to bear in mind that File::Spec generally
expects to have directories precede filenames in its arguments. Thus,
the correct way to use the values returned by fileparse() would be:
my $cf = File::Spec->catfile($path, $name . $suffix);
In ExtUtils::CBuilder::Base::new(), however, the return values from
fileparse() were named in a way that suggested that the first value
would be the dirname and the second would be the non-suffix part of the
basename:
my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
$ccpath -- which here is really a basename -- was then used as the first
argument to catfile():
File::Spec->catfile( $ccpath, $cxx, $ccsfx )
In addition, in the above $ccsfx should not have been a separate
argument. Rather, it should have been concatenated without a path
separator to the second argument.
For: RT # 131749. See also:
https://github.com/Perl-Toolchain-Gang/ExtUtils-CBuilder/pull/6 (thanks
to stphnlyd of Perl Toolchain Gang).
Signed-off-by: James E Keenan <jkeenan@cpan.org>
|
|
|
|
|
|
|
|
|
|
| |
Switch from two-argument form. Filehandle cloning is still done with the two
argument form for backward compatibility.
Committer: Get all porting tests to pass. Increment some $VERSIONs.
Run: ./perl -Ilib regen/mk_invlists.pl; ./perl -Ilib regen/regcharclass.pl
For: RT #130122
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-.UPDATEALL is dmake only, doesn't exist in gmake, create more targets
instead
GNUmakefile:1319: warning: overriding recipe for target '.UPDATEALL'
GNUmakefile:1024: warning: ignoring old recipe for target '.UPDATEALL'
-fix ok/nok targets on dmake and gmake
-dont delete old mini config.h, the copy overwrites it, for dmake and gmake
1 less process to run this way
-modify whitespace and comments between 2 makesfiles so there are less
delta lines if the 2 are diffed, this aids in diagnostics
-remove perlmainst.c/perlmain.c build products, just use runperl.c directly
1 less disk file to create and later clean and git status and 2 less nodes
in the make graph to traverse, also better for C debugger, since
"runperl.c" is around after a git clean of the source tree, and runperl.c
is in every single callstack in perl.
-remove copying mini config.h to CORE dir, pointless since (mini) config.h
isn't an input to config_h.PL, remove the exit 1 from commit 137443ea0a
from 5.003, rewriting config.h is not a reason to stop the build with a
fatal error, vivify CORE dir or else sub copy() fails
-deshell UNIDATAFILES/mktables, 1 less cmd.exe process and 1 less .bat file
written to disk for gmake (dmake always uses cmd.exe ATM)
-combining mini config.h AKA $(MINIDIR)\.exists shell append lines is for
another commit
-perlglob.exe is not installed, it doesn't need to be rebased, it is only
needed for module building, removing the dep makes the dep graph simpler
-rename PERLIMPLIB so the lib is built in its final location in CORE dir
this removes an extra xcopy process run. Since perl dll's .a/.lib
is not longer in the root of the source tree, change the 2 tests and
ExtUtils::CBuilder::Platform::Windows to look at the uninstalled final
location dir, not the root dir
-fix typo 0.282224->0.280224 in dist/ExtUtils-CBuilder/Changes
-for GCC PERLEXPLIB must be used, passing "perldll.def" on cmd line to g++
means all data globals with EXTCONST are exported (which have dllexport
on their declaration) instead of just what is in perldll.def and
globvar.sym, INTERN/EXTERN.h could be revised to fix that, but I am not
doing that at this time. Also drop linking GCC perl523.dll from 3
processes to just 1 process like with VC builds. Removing 2nd run of
dlltool fixes a race condition where libperl523.a was generated twice.
This caused a race condition failure where linking a XS DLL failed
because the GCC linker of the XS DLL saw a partially written
libperl523.a.
-Relocation was tested with $(LINK32) -v -mdll -o $@
-Wl,--disable-auto-image-base -Wl,--image-base -Wl,0x400000
$(BLINK_FLAGS) $(PERLDLL_OBJ) $(shell @type Extensions_static)
$(LIBFILES) $(PERLEXPLIB)
to g++ linker to force an address conflict and verified with VMMap
(unrelocated perl523.dll has ~40KB private memory, relocated has ~240KB
private memory on Win 7 32b), historically there are problems with
dllexport and dlltool and relocation problems with mingw
-$(COREDIR)\ppport.h in gmake is separate lines since gmake normally
launches processes directly, not through the shell, so it is more
efficent to keep it as multiple lines for gmake, while dmake likes to
burn CPU and IO between each line, and runs each line through cmd.exe
-disable parallel building in make_ext.pl by not passing MAKEFLAGS env
var to any subprocess, EUMM is not ready for parallelness inside a module
building on Win32
-have harness proc and child .t procs share same disk perl.exe and
perl523.dll files, this way they share memory pages, makefile.mk does
the same thing
|
|
|
|
|
|
|
|
| |
00-have-compiler.t deliberately does something that tries to fork and
exec a non-existent file.
Stop spurious 'Can't exec "djaadjfkadjkfajdf"' appearing on stderr
by temporaily closing it before running the relevant tests.
|
|
|
|
|
| |
This module needs a little work for os390. But until someone
wants/needs to have it done, we'll simply skip the test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.280223 - 2015-06-02
Fixed:
- Impose deterministic order on cpp-definition options.
Heretofore, ExtUtils::CBuilder put cpp-definition options
into the cc command line in non-deterministic order. This
produced noise when diffing build logs.
Make this order deterministic. (RT #124106)
Added:
- Add tests for ascii-betical order in t/04-base.t.
|
|
|
|
|
|
|
|
|
|
|
| |
Heretofore, ExtUtils::CBuilder put cpp-definition options into the cc command line in
non-deterministic order. This produced noise when diffing build logs. Make
this order deterministic.
Add tests for ascii-betical order in t/04-base.t. Increment $VERSION in three
packages. Remove commented-out line.
For: RT #124106
|
| |
|
|
|
|
|
|
|
|
|
| |
Extracted from patch submitted by Lajos Veres in RT #123693.
This commit applies those patches to files under dist/ *other than* those
pertaining to Tie-File.
Update $VERSION in Dumper.pm and Storable.pm after re-applying patches from RT
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 5bf4b3bf13bc4055684a48448b05920845ef7764.
On p5p-list, Steve Hay wrote on 2015-01-29:
"... these and other changes to Tie-File could break backwards compatibility.
The keys of %opt are passed in from user code, so we can't change the expected
key from "autodefer_threshhold" to "autodefer_threshold" without also asking
users to change their code, which is probably more hassle than it's worth."
Parts of the reverted commit will be re-committed from a new patch.
|
|
|
|
| |
Extracted from patch submitted by Lajos Veres in RT #123693.
|
| |
|
|
|
|
|
|
| |
VAX C was a pre-ANSI compiler that was superceded about fifteen
years ago, so there is no reason to include special cases for it
now.
|
|
|
|
|
| |
(It has non-POSIX interfaces and semantics which probably should
be left outside e.g. Cwd::realpath()).
|
|
|
|
|
|
| |
Update $VERSION in each platform-specific module.
For: RT #122860
|
| |
|
|
|
|
|
|
|
|
| |
Switch to using VERSION_FROM in Makefile.PL.
For: RT #122675
Add update to ExtUtils::CBuilder to perldelta.
|
|
|
|
|
|
|
| |
This is done because quite a bit of CPAN assumes that
if libperl.so links to something, then you'll get those
functions for free, but that is not the case on
Android.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several modules on CPAN expect being able to pass the library
name returned by ->link to DynaLoader::dl_load_file and have it Just Work.
However, because ->link returns relative paths, those modules ran afoul
of Android's linker, which will only look in a handful of hardcoded
system directories for relative libraries, plus whatever LD_LIBRARY_PATH
pointed to at the start of execution.
This commit makes ->link on Android always return an absolute path,
which will be found by the linker.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The link function call in the have_compiler and have_cplusplus tests create
a compilet.def file on Windows which is correctly recorded for cleaning up
when the EU::CB object is destroyed, but if another one gets made in the
meantime then ExtUtils::Mksymlists::Mksymlists moves the first one to
compilet_def.old, which isn't recorded for cleaning up and gets left
behind when the test script has finished. Using a new object each time,
destroying the previous one first, prevents this.
|
|
|
|
| |
Bump $VERSION.
|
|
|
|
|
|
|
|
|
| |
use IO::File was added with the upgrade to 0.23 (commit c3fb68a339256eb3 in
April 2008), but the use of IO::File in the code was eliminated by the
upgrade to 0.2800 (commit 06e8058f27e4269b in Dec 2010), which replaced
the code in question with use of File::Temp. The latter refactoring also
added the use Data::Dumper; line, but did not add any code which uses
Data::Dumper.
|
|
|
|
| |
For: RT #116479
|
| |
|
| |
|
|
|
|
| |
on other OSes.
|