| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
C89 does not in fact define snprintf() or vsnprintf(), and we must therefore
probe for the existence of those functions before trying to use them.
khw++ for pointing out my earlier error.
This reverts part or all of each of the following commits:
13d66b05c6163c3514774d3d11da5f3950e97e98 Rely on C89 vsnprintf()
e791399041815a1a45cea3c7f277c7045b96e51b Rely on C89 snprintf()
adf7d503e55721c500f0bf66560b8f5df7966fe7 pod/perlhacktips.pod: remove some outdated portability notes
|
|
|
|
| |
This requires a corresponding change in the metaconfig units.
|
|
|
|
| |
It's only needed on systems without C89 <string.h>, which we rely on anyway.
|
| |
|
|
|
|
| |
This requires a corresponding change in the metaconfig units.
|
|
|
|
| |
This requires a corresponding change to the metaconfig units.
|
|
|
|
|
| |
All the information it contains can be gleaned more readily from C89
<limits.h> and <float.h>.
|
|
|
|
|
|
|
|
|
| |
I would like to be able to assume that we have long doubles, and therefore
that LDBL_DIG and friends are all defined too. But it seems that we may
still support some platforms which are otherwise C89, but don't have even
trivial long-double support; in particular, HP/UX 10 apparently uses a
struct of four uint32_t values as long double, but doesn't support other
bits, and confuses the Configure probe that looks for quadmath.
|
|
|
|
| |
This requires newer metaconfig units that also rely on C89 <float.h>.
|
|
|
|
| |
This requires newer metaconfig units that also rely on C89 <limits.h>.
|
|
|
|
|
| |
The Configure script here was built from a metaconfig unit that also assumes
<time.h> exists.
|
|
|
|
|
|
| |
This needs a metaconfig change that defangs the standard unit for finding
strchr(), because that unit sees the uses of "index" and "rindex" (in files
like keywords.c and opcode.h) as indicators that it must be used instead.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that copies U/modified/i_stdlib.U from dist/U/vaproto.U, and changes it to
unconditionally define the i_stdlib Configure variable. That variable is
used by a large number of other Configure units, so it's not actually
practical to try and remove the relevant unit entirely.
|
| |
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that modifies the prototype.U and Protochk.U units to assume that C89
prototypes work.
|
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that copies U/modified/vaproto.U from dist/U/vaproto.U, and changes it to
refrain from promising to define a _V symbol (which would otherwise cause
the relevant probe to included in Configure).
|
| |
|
| |
|
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that makes U/perl/perlxv.U assume that the keyword exists, and prevents
U/modified/d_volatile.U from promising to define a "volatile" keyword;
otherwise, those units would bring in the relevant Configure probe anyway.
|
| |
|
|
|
|
|
|
|
| |
"Sane" means that it works correctly on bytes with their high bit set, as
C89 also requires.
We therefore no longer need to probe for and/or use BSD bcmp().
|
|
|
|
| |
We can therefore also avoid probing for and/or using BSD bcopy().
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C89 says that, if you want to copy overlapping memory blocks, you must use
memmove(), and that attempt to copy overlapping memory blocks using memcpy()
yields undefined behaviour. So we should never even attempt to probe for a
system memcpy() implementation that just happens to handle overlapping
memory blocks. In particular, the compiler might compile the probe program
in such a way that Configure thinks overlapping memcpy() works even when it
doesn't.
This has the additional advantage of removing a Configure probe that needs
to execute a target-platform program on the build host.
|
|
|
|
| |
This means we also never need to consider using BSD bzero().
|
|
|
|
|
| |
At least for now, we retain the StructCopy() macro, but its definition
always just uses struct assignment.
|
|
|
|
|
|
|
| |
This is a merge off several new probes in metaconfig done in the new
shared developing environment by several authors
Thanks to all that contributed!
|
|
|
|
|
| |
Commit 1e436e33 accidentally added the probe to Configure, this finishes
the job by regenerating Glossary, config_h.SH and friends.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Perl now provides a way to build perl without . in @INC by default. If you want
this feature, you can build with -Ddefault_inc_excludes_dot
Because the testing / make process for perl modules do not function well
with . missing from @INC, Perl now supports the environment variable
PERL_USE_UNSAFE_INC=1 which makes Perl behave as it previously did,
returning . to @INC in all child processes.
WARNING: PERL_USE_UNSAFE_INC has been provided during the perl 5.25 development
cycle and is not guaranteed to function in perl 5.26.
Update unit tests and default value files to work with the new %Config
variable "default_inc_excludes_dot"
|
| |
|
|
|
|
|
|
|
|
|
|
| |
For windows/netware It seems that many of the recent fp definitions
have not been yet copied over there [1] [2], so went mostly by dead
reckoning [3].
[1] Note that many of them are not absolutely necessary for building.
[2] The proper updating involves doing stuff in win32, which I do not have.
[3] As far as I can tell, Windows CE does not really not have long double.
|
|
|
|
|
|
|
|
|
|
|
| |
For completeness: it's quite unlikely Perl would build in those
environments.
Though with Cray it's less impossible: Perl used to build in C90
UNICOS, in 5.8-ish timeframe.
With IBM, highly unlikely, because there probably never was a UNIXy
enough environment where the IBM Floating Point Architecture was used.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Detect the VAX floating point formats D and G.
And the F float, but that is float (duh), never likely to be
the double, but do it for consistency (we detect IEEE single
precision floats, too).
The T float and X float are the IEEE 64-bit and 128-bit,
but those were available only on the Alpha.
Tested on vax-netbsd.
|
|
|
|
|
|
|
|
|
| |
As requested by khw++
Until the relevant symbol is used, HAS_STRERROR_L must be mentioned
explicitly in metaconfig.h.
This corresponds to metaconfig d0838744f03cfe7642950ea91dd48f575d0bfd15.
|
|
|
|
|
|
|
|
|
| |
As requested by khw++
Until the relevant symbol is used, HAS_QUERYLOCALE must be mentioned
explicitly in metaconfig.h.
This corresponds to metaconfig 541f0dd272df4f9326996727898393ac8f6626f7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relevant changes:
commit 5d3ffa97290d2d3d65a42a0ed8b69d945b661ee7
Author: H.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Date: Sun May 29 15:30:33 2016 +0200
Finish.U isn't modified anymore
All changes accepted by upstream. One down, 164 to go
commit 5d805d83bd4663831594540ddadeeb6213d19736
Author: H.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Date: Sat May 14 18:48:26 2016 +0200
Remove trailing whitespace on meta-lines in unit files
This change has also been proposed as PR to dist upstream
commit b9807b5fe3f4c97fa34e19b8a9b265f91f0e4aca
Author: H.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Date: Sat May 14 18:30:03 2016 +0200
Merged changes to Finish.U
|
|
|
|
|
| |
perl5.git is now in sync with metaconfig.git commit
7c34fa4e8142642c6e2978f0307e925898465f58
|
|
|
|
|
| |
Work done at the QAH in Rugby.
Multi-thanks to Aaron for helping out here. You're doing a great job!
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
These are all specified by POSIX/SUSv3, but not all platforms have them,
as mentioned in POSIX.pm.
We can only test the pid, uid and code fields, since they are the only
ones that are defined for a user-sent signal.
|
|
|
|
|
| |
This patch also adjusts the generated files suggested by
Porting/checkcfgvar.pl.
|
|
|
|
|
|
|
|
|
|
|
| |
The ppc64el is the first seen little-endian double-double (and also
the first little-endian ppc), but it turns out its little-endianness
is mixed: the doubles are still in big-endian order. Configure was
expecting wrongly a fully byte-reversed double-double.
Therefore extend the long double format detection to cover all the
(double-double) permutations, though the formats of five and eight
are rather unlikely (based on current platforms using double-double).
|