This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Aaron Crane [Thu, 25 Apr 2019 09:54:42 +0000 (10:54 +0100)]
Backport memmem(3) detection changes from Perl
This corresponds to Perl 5 commits
ca152fd8207cf53816b1407d5f54f6ea160a3ef8
and
f8d82a1010426d0eb49c33cb903413b882c85c3e.
Aaron Crane [Thu, 25 Apr 2019 09:40:44 +0000 (10:40 +0100)]
Fix bug when $exclusions_file is specified in .package file
The actual programs were trying to load the exclusions file before reading
.package (or even, in one case, without trying to read it at all). I failed
to notice this because I had a "-X" option that duplicated the intended use
of the setting in my .package file.
Aaron Crane [Tue, 27 Nov 2018 11:44:45 +0000 (11:44 +0000)]
Remove modified d_const.U
Perl no longer needs a d_const.U unit at all, so we needn't keep a modified
version of it.
Aaron Crane [Tue, 27 Nov 2018 11:31:09 +0000 (11:31 +0000)]
U/perl/i_db.U: just use C89 "const" without probing
H.Merijn Brand - Tux [Tue, 30 Oct 2018 16:59:33 +0000 (17:59 +0100)]
Add initial support for Minix3
Patch by Sevan Janiyan
Include a hints file for Minix, derived from the NetBSD one but stripped
back to remove most of the legacy parts.
H.Merijn Brand - Tux [Sun, 2 Sep 2018 08:54:53 +0000 (10:54 +0200)]
Add gcc-8 and gcc-9 for FORTIFY_SOURCE
H.Merijn Brand - Tux [Thu, 2 Aug 2018 13:04:12 +0000 (15:04 +0200)]
Hide compile warnings for try.c in compile_ok
We don't want the compilation warnings. We do want the output of try
when it uses $run
Backport of
44a61463
H.Merijn Brand - Tux [Mon, 9 Jul 2018 15:25:32 +0000 (17:25 +0200)]
Fix Berkeley DB function type tests.
Backport of
2f2a2ed1c0bbba915d8fbb368503976317358592
Author: Craig A. Berry <craigberry@mac.com>
Date: Thu Jun 28 17:46:40 2018 -0500
Fix Berkeley DB function type tests.
These tests fail with clang with a missing return in non-void
function warning, and any warning at all causes the types to
default to int. It turns out DB::File doesn't use Configure's
types, but we should report the correct thing in case anyone
accesses them via %Config.
Aaron Crane [Thu, 19 Apr 2018 15:55:35 +0000 (17:55 +0200)]
Restore U/threads/d_strtod_l.U
I inadvertently deleted it in
823598b39fed0d2a9acd54269b4fe5e0f941ab7f,
because it was unused at that point. However, that's only because it hadn't
been named in blead metaconfig.h.
Aaron Crane [Thu, 19 Apr 2018 16:10:45 +0000 (18:10 +0200)]
Merge branch 'arc/exclusions-in-package-file'
This branch pulls in some of the later changes from rmanfredi/dist#14.
Raphaël suggested that the `.package` file be permitted to name the file
used for the `-X` option, and that `packinit` prompt for it. Those changes
have now been applied to our local copy of the (generated) `bin/mconfig`
file, and I've regenerated our `.package` file with the relevant setting.
Finally, our README no longer recommends the option, as it's no longer
needed.
Aaron Crane [Thu, 19 Apr 2018 15:41:49 +0000 (17:41 +0200)]
README: stop recommending the mconfig "-X" option
It's no longer needed.
Aaron Crane [Thu, 19 Apr 2018 15:37:18 +0000 (17:37 +0200)]
Regenerate .package file, specifying .metaconf-exclusions.txt
Aaron Crane [Thu, 19 Apr 2018 15:32:49 +0000 (17:32 +0200)]
bin/mconfig: pull more changes from rmanfredi/dist#14
In particular, this allows the -X option to be named in the .package file
(which would have saved some confusion for Tux).
This also reduces the amount of divergence from upstream dist, which goes
a small way to addressing #43.
Aaron Crane [Wed, 1 Nov 2017 17:53:01 +0000 (17:53 +0000)]
Delete unused units
These 109 units are all under the U directory (not dist/U), but aren't used
in the Perl Configure script — regenerating Configure after their deletion
makes no changes to it.
Apart from the increased ease of maintenance, deleting these also takes
about a second off the time needed to generate Configure.
Niko Tyni [Thu, 9 Nov 2017 21:25:52 +0000 (23:25 +0200)]
Remove U/modified/d_memchr.U in preference for the upstream version
The only differences are in comments, and both look correct to me.
There are more recent modifications in upstream git, but those need to
be tackled separately.
Aaron Crane [Thu, 19 Apr 2018 14:41:02 +0000 (16:41 +0200)]
Restore dist/U/* versions of several units
When using the "-X .metaconfig-exclusions.txt" option in an mconfig command,
the dist/U/* units aren't included, so we can allow them to sit happily
unused in that directory (thus reducing the size of our diff with upstream
dist/mcon/U).
This reverts the following commits:
301e67c457a24b99e46dc3f4cf7c106669ef6157
6952d89540352461dc892820dcec1aeb7dbc586c
8f9faff3fbb4c83ae994b06233a5dfd26a215c8b
Aaron Crane [Thu, 19 Apr 2018 13:36:48 +0000 (15:36 +0200)]
Merge branch 'langinfo'
Make I18n::Langinfo always available (unless a hints file turns it off).
Changes in perl 5.27 cause this module to be available on any platform.
Aaron Crane [Thu, 19 Apr 2018 13:32:52 +0000 (15:32 +0200)]
U/perl/Extensions.U: remove references to unused vars
The probe no longer uses i_langinfo or d_nl_langinfo, so remove them from
the list of variables this unit's targets depend on.
Karl Williamson [Sun, 25 Mar 2018 19:37:57 +0000 (13:37 -0600)]
Make I18n::LLanginfo always available
(unless a hints file turns it off)
Changes in perl 5.27, cause this module to be available on any platform.
H.Merijn Brand - Tux [Thu, 19 Apr 2018 07:54:38 +0000 (09:54 +0200)]
Whitespace checks in mlint
I have discussed this with Rafael, and he kind of agrees. It is not yet
integrated upstream, but now that perl metaconfig has gone through these
changes, it is safe to have this guard in place to be consistent
H.Merijn Brand - Tux [Sat, 14 Apr 2018 15:26:48 +0000 (17:26 +0200)]
[perl #132560] perl-5.24.3, wrong Configure test for IPC_STAT
H.Merijn Brand - Tux [Sat, 14 Apr 2018 12:32:03 +0000 (14:32 +0200)]
remove leftovers
H.Merijn Brand - Tux [Thu, 12 Apr 2018 13:02:53 +0000 (15:02 +0200)]
When on meta don't expand the foldername to search
H.Merijn Brand - Tux [Thu, 12 Apr 2018 12:52:49 +0000 (14:52 +0200)]
Rely on C89 <stdarg.h>
Part of backport for
9d82a2b71ca36a0f03ce4676aab0bada365292a9
H.Merijn Brand - Tux [Thu, 12 Apr 2018 12:40:45 +0000 (14:40 +0200)]
Rely on C89 <limits.h>
part of backporting
350b922a8600b68529a55d5fcc05d4ebd9a45990
H.Merijn Brand - Tux [Thu, 12 Apr 2018 12:34:17 +0000 (14:34 +0200)]
Part of C89, so unwanted
H.Merijn Brand - Tux [Mon, 26 Mar 2018 16:23:49 +0000 (18:23 +0200)]
Delete unneeded duplicate trailing newlines
H.Merijn Brand - Tux [Mon, 26 Mar 2018 16:09:25 +0000 (18:09 +0200)]
Backport some commits from Zefram
H.Merijn Brand - Tux [Sat, 24 Mar 2018 20:45:20 +0000 (21:45 +0100)]
More whitespace consistency
H.Merijn Brand - Tux [Sat, 24 Mar 2018 18:09:01 +0000 (19:09 +0100)]
whitespace consistency
H.Merijn Brand - Tux [Sat, 24 Mar 2018 15:31:47 +0000 (16:31 +0100)]
missing dependency on i_inttypes
H.Merijn Brand [Sat, 24 Mar 2018 15:17:29 +0000 (16:17 +0100)]
Merge pull request #53 from ntyni/debian-893601
Fix pointer to integer cast in null_printf check
Niko Tyni [Sat, 24 Mar 2018 14:49:06 +0000 (16:49 +0200)]
Fix pointer to integer cast in null_printf check
Quoting James Cowgill in https://bugs.debian.org/893601
> I recently noticed a build failure in the "mrs" package which embeds the
> perl interpreter. The strange part was that the error looked completely
> generic but only failed on 32-bit for some reason. I traced this to the
> value of the PRINTF_FORMAT_NULL_OK config,h option in perl which is
> defined on 32-bit, but not defined on 64-bit architectures. This is a
> bug because this check detects the behavior of the compiler and should
> be the same on all architectures with the same GCC version.
>
> The underlying bug is that the check for this warning causes GCC to emit
> an unrelated warning on 64-bit arches which tricks the check into not
> defining PRINTF_FORMAT_NULL_OK.
>
> The line which causes the warning is:
> int null_printf (char* pat,...) { return (int)pat; }
>
> GCC complains about the pointer to integer cast of the wrong size but
> only on 64-bits. I've attached a patch to fix this by casting through
> intptr_t first.
Bug-Debian: https://bugs.debian.org/893601
H.Merijn Brand - Tux [Mon, 15 Jan 2018 08:23:58 +0000 (09:23 +0100)]
Consistent use of whitespace in ?S: and ?C:
H.Merijn Brand - Tux [Fri, 12 Jan 2018 14:59:19 +0000 (15:59 +0100)]
Leader should be TAB no spaces
Karl Williamson [Fri, 12 Jan 2018 06:01:49 +0000 (23:01 -0700)]
Add probe for wcrtomb()
Dominic Hargreaves [Wed, 27 Dec 2017 13:17:50 +0000 (13:17 +0000)]
Remove U.check (Closes: #25)
This is an optimisation that's no longer used and has possibly bit-rotted.
Dominic Hargreaves [Wed, 27 Dec 2017 13:12:06 +0000 (13:12 +0000)]
Add documentation about tags (Closes #24)
Karl Williamson [Mon, 20 Nov 2017 05:12:43 +0000 (22:12 -0700)]
Add snprintf_l, vsnprintf_l probes
These are structured so that they only are effective if plain snprintf
and vsnprintf are present and have been sanity tested.
H.Merijn Brand [Sun, 12 Nov 2017 15:15:45 +0000 (16:15 +0100)]
Merge pull request #48 from ntyni/master
Remove U/perl/i_sysmman.U in preference for the upstream version
H.Merijn Brand [Sun, 12 Nov 2017 15:00:26 +0000 (16:00 +0100)]
Merge pull request #41 from perl5-metaconfig/docs
README changes
H.Merijn Brand [Sun, 12 Nov 2017 15:00:17 +0000 (16:00 +0100)]
Merge branch 'master' into docs
H.Merijn Brand - Tux [Sun, 12 Nov 2017 14:53:34 +0000 (15:53 +0100)]
Divide (a) into beginner and advanced
and make even more clear it is a different package
Niko Tyni [Thu, 9 Nov 2017 21:05:00 +0000 (23:05 +0200)]
Remove U/perl/i_sysmman.U in preference for the upstream version
The only difference in our version is the MAKE dependency
on Hasfield.U, which seems to be useless as $hasfield
is not used.
Aaron Crane [Sat, 4 Nov 2017 13:59:12 +0000 (13:59 +0000)]
Delete needless U/modified/Protochk.U
My commit
502ff8b5c838bc728b5df0e025905496f3a889c3 created that file in order
to modify its contents, but I should merely have made those changes directly
to U/protos/Protochk.U, since it only exists in the Perl 5 metaconfig repo
(not upstream dist).
This commit copies the changed version back to U/protos/Protochk.U, and
deletes the superfluous copy in U/modified.
Niko Tyni [Fri, 13 Oct 2017 09:23:19 +0000 (12:23 +0300)]
Fix modern metalint nits
These are detected by metalint since SVN r132 /
https://github.com/rmanfredi/dist/commit/
8160f5523cbbb37197732ea645d02f884e180f3c
with
"d_statfs3.U": unknown private file 'try.h'.
"d_statfs4.U": unknown private file 'try.h'.
"d_union_semun.U": unknown private file 'tryh.h'.
"dtraceobject.U": unknown private file 'perldtrace.h'.
Even though $rm_try removes try.[cho] anyway, we clean try.h
explicitly to work around the resulting
"U/perl/d_statfs4.U": unused temporary file 'try.h'.
warnings which seem like a bug in metalint.
Aaron Crane [Mon, 23 Oct 2017 10:46:55 +0000 (11:46 +0100)]
Delete locally-modified d_strchr.U unit
Now that Perl excludes "index" and "rindex" from its metaconf symbols, this
is no longer needed.
Aaron Crane [Mon, 23 Oct 2017 10:29:47 +0000 (11:29 +0100)]
README: document "-X .metaconf-exclusions.txt"
Aaron Crane [Sun, 22 Oct 2017 13:52:10 +0000 (14:52 +0100)]
bin/mconfig: new "-X FILE" option
Packages can use this option to list symbols that shouldn't bring in the
corresponding units. For example, Perl need not provide support for BSD
index(3) as an alternative to C89 strchr(3), but "index" is the name of a
Perl builtin, so that string in the source files is misunderstood by
metaconfig as an attempt to use the BSD function.
With this change, Perl can deal with this situation by adding "index" (and
"rindex") to an exclusion list.
Aaron Crane [Sun, 22 Oct 2017 12:40:43 +0000 (13:40 +0100)]
U/modified/d_strerror.U: fix metalint warnings
Lukas Mai [Sun, 22 Oct 2017 09:31:43 +0000 (11:31 +0200)]
README_U: fix typo
H.Merijn Brand - Tux [Sat, 21 Oct 2017 17:55:04 +0000 (19:55 +0200)]
Generate the Glossary based on the most recent config.sh
H.Merijn Brand - Tux [Sat, 21 Oct 2017 16:40:54 +0000 (18:40 +0200)]
Fix mkglossary
• Current (used) dist is per definition in metaconfig/dist
• Use three-arg open
H.Merijn Brand - Tux [Sat, 21 Oct 2017 14:12:41 +0000 (16:12 +0200)]
Trailing whitespace and consistent indent
Aaron Crane [Sat, 21 Oct 2017 16:20:06 +0000 (17:20 +0100)]
Merge branch 'arc/c89ification'
This changes the units in line with blead's new desire not to pretend to
support pre-C89 compilers. Commit
3d10fa085102a79a96d9e335384c3f56f3b6b9cc
in blead was generated from the units as modified here.
Aaron Crane [Sat, 14 Oct 2017 14:21:48 +0000 (16:21 +0200)]
Rely on C89 <string.h> in Perl-specific units
Aaron Crane [Sat, 14 Oct 2017 13:19:58 +0000 (15:19 +0200)]
Rely on C89 <math.h> in Perl-specific units
Aaron Crane [Sat, 14 Oct 2017 09:57:25 +0000 (11:57 +0200)]
U/modified/d_strerror.U: rely on C89 strerror()
Aaron Crane [Fri, 13 Oct 2017 15:37:52 +0000 (17:37 +0200)]
Drop support for the hp9000s500 cpp symbol
https://en.wikipedia.org/wiki/HP_9000 :
> The HP 9000 brand was introduced in 1984 to encompass several existing
> technical workstation models previously launched in the early 1980s. […]
> The Series 500s were based on the HP FOCUS microprocessor. […] The 520 was
> a complete workstation with built-in keyboard, display, 5.25-inch floppy
> disk, and optional thermal printer and 5 MB hard disk. […] The processors
> in the original Series 500s ran at 20 MHz, and could reach a benchmark
> speed of 1 MIPS.
https://en.wikipedia.org/wiki/HP_FOCUS :
> The Hewlett-Packard FOCUS microprocessor, launched in 1982, was the
> first commercial, single chip, fully 32-bit microprocessor available on
> the market. […] The FOCUS […] was a stack architecture, with over 220
> instructions (some 32 bits wide, some 16 bits wide), a segmented memory
> model, and no general purpose programmer-visible registers.
Aaron Crane [Fri, 13 Oct 2017 13:10:10 +0000 (15:10 +0200)]
U/perl/time_size.U: don't try to include non-standard <values.h>
Aaron Crane [Fri, 13 Oct 2017 10:46:14 +0000 (12:46 +0200)]
Rely on C89 <float.h> in modified units
Aaron Crane [Fri, 13 Oct 2017 10:33:53 +0000 (12:33 +0200)]
U/modified/d_dbl_dig.U: assume C89 <limits.h>
This involves creating an initial modified version of this unit.
Aaron Crane [Fri, 13 Oct 2017 10:33:31 +0000 (12:33 +0200)]
U/perl/d_ldbl_dig.U: assume C89 <limits.h>
Aaron Crane [Fri, 13 Oct 2017 09:16:17 +0000 (11:16 +0200)]
U/compline/i_time.U: assume C89 <time.h> exists
Aaron Crane [Fri, 13 Oct 2017 08:26:29 +0000 (10:26 +0200)]
U/modified/d_strchr.U: add stub unit
The Perl core now wants to rely on C89 strchr() and strrchr(), so needn't
attempt to use BSD index() and rindex() as a fallback.
This is almost trivial: Perl can simplify use those functions directly.
However, metaconfig's standard dist/U/d_strchr.U unit says that the C code
should guard uses of index() and rindex() with the HAS_INDEX cpp symbol. But
"index" and "rindex" are also Perl builtins, so they appear in files like
opcode.h and keywords.c. This causes metaconfig to (a) warn you that they
were used without the HAS_INDEX guard, and (b) include the strchr/index
probe in the generated Configure anyway.
Work around this by creating a locally-modified stub d_strchr unit that
never actually does anything.
Aaron Crane [Fri, 13 Oct 2017 07:14:56 +0000 (09:14 +0200)]
Modify i_stdlib.U to unconditionally assume C89 <stdlib.h>
There are very many units that expect this variable to be defined, so this
seems like a better option than editing all of those.
Aaron Crane [Thu, 12 Oct 2017 16:40:23 +0000 (18:40 +0200)]
For Perl, assume C89 prototypes exist
Perl now relies on C89, including prototypes. However, it must continue to
define CAN_PROTOTYPE for the benefit of XS modules. So the Perl-specific
modified version of U/modified/prototype.U is now a stub that probes for
nothing, but still overrides the dist/ version of prototype.U (which would
otherwise find the remaining CAN_PROTOTYPE occurrences in the core and
include the probe anyway).
In addition, the Protochk unit itself looks at CAN_PROTOTYPE, and is used by
many other units. So create a modified version which doesn't do that.
Aaron Crane [Thu, 12 Oct 2017 16:13:54 +0000 (18:13 +0200)]
Modify vaproto.U: don't promise to define _V
Aaron Crane [Thu, 12 Oct 2017 16:04:50 +0000 (18:04 +0200)]
Rely on C89 headers in U/perl/need_va_copy.U
Aaron Crane [Thu, 12 Oct 2017 15:43:32 +0000 (17:43 +0200)]
Rely on C89 headers in U/perl/d_c99_variadic.U
Aaron Crane [Thu, 12 Oct 2017 13:45:54 +0000 (15:45 +0200)]
Assume C89 "volatile"
The U/perl/perlxv.u unit can just use the "volatile" keyword directly (as
U/perl/d_u32align.U already does); and U/modified/d_volatile.U itself no
longer promises to define the "volatile" keyword in config_h.SH.
Aaron Crane [Sat, 21 Oct 2017 15:41:47 +0000 (16:41 +0100)]
U/threads/d_nl_langinfo_l.U: fix probe
If there's no thread-safe nl_langinfo_l(), the Configure variable was being
left as the empty string. Set it to "$define" in that case.
Karl Williamson [Sat, 21 Oct 2017 13:29:26 +0000 (07:29 -0600)]
README: undef vs define in checkcfgvar
Here's my proposal on wording for that
Karl Williamson [Sat, 21 Oct 2017 13:27:14 +0000 (07:27 -0600)]
README: Clarify Win32
Karl Williamson [Sat, 21 Oct 2017 13:26:27 +0000 (07:26 -0600)]
README: Remove obsolete references to EPOC
Karl Williamson [Sat, 21 Oct 2017 13:15:53 +0000 (07:15 -0600)]
README: Fix nit
Karl Williamson [Sat, 21 Oct 2017 12:57:08 +0000 (06:57 -0600)]
README fixes for VMS
I came up with this in consultation with Craig Berry.
H.Merijn Brand - Tux [Sat, 21 Oct 2017 12:10:27 +0000 (14:10 +0200)]
Add probe for presence of <wchar.h>
H.Merijn Brand - Tux [Sat, 21 Oct 2017 12:02:18 +0000 (14:02 +0200)]
Fix Copyright
H.Merijn Brand - Tux [Sat, 21 Oct 2017 12:00:11 +0000 (14:00 +0200)]
CAdd probe for strnlen
H.Merijn Brand - Tux [Sat, 21 Oct 2017 11:55:25 +0000 (13:55 +0200)]
Merge branch 'issue9'
I merged the last two branches into the wrong one. I'll fix up all mistakes
(if any) asap.
H.Merijn Brand - Tux [Sat, 21 Oct 2017 10:29:56 +0000 (12:29 +0200)]
Add probe for mbrtowc()
H.Merijn Brand - Tux [Sat, 21 Oct 2017 10:29:00 +0000 (12:29 +0200)]
Add probe for mbrlen()
Karl Williamson [Fri, 20 Oct 2017 18:48:05 +0000 (12:48 -0600)]
Add probe for mbrtowc()
Karl Williamson [Fri, 20 Oct 2017 18:20:02 +0000 (12:20 -0600)]
U/perl/i_wchar.U: Fix typo
Karl Williamson [Fri, 20 Oct 2017 18:15:39 +0000 (12:15 -0600)]
Add probe for presence of <wchar.h>
Karl Williamson [Fri, 20 Oct 2017 16:03:45 +0000 (10:03 -0600)]
Add probe for mbrlen()
H.Merijn Brand [Fri, 20 Oct 2017 07:10:42 +0000 (09:10 +0200)]
Merge pull request #36 from perl5-metaconfig/docs
U/README: Grammatical correction
Karl Williamson [Thu, 19 Oct 2017 22:43:52 +0000 (16:43 -0600)]
U/README: Grammatical correction
Karl Williamson [Thu, 19 Oct 2017 22:34:50 +0000 (16:34 -0600)]
threads/d_nl_langinfo_l.U: Rmv trailing space
Karl Williamson [Thu, 19 Oct 2017 21:50:13 +0000 (15:50 -0600)]
Add probe for nl_langinfo_l (thread-safe)
H.Merijn Brand - Tux [Thu, 19 Oct 2017 08:04:37 +0000 (10:04 +0200)]
Add probe for localeconv_l()
H.Merijn Brand - Tux [Thu, 19 Oct 2017 07:51:55 +0000 (09:51 +0200)]
Add Configure probe for strtod_l()
H.Merijn Brand [Thu, 19 Oct 2017 07:45:52 +0000 (09:45 +0200)]
Merge pull request #31 from perl5-metaconfig/issue15
Fix ups for README
H.Merijn Brand [Thu, 19 Oct 2017 07:40:41 +0000 (09:40 +0200)]
Merge pull request #26 from perl5-metaconfig/ntyni/filexp-rename
dist/: Rename filexp.U to filexp_path.U to match dist upstream
Karl Williamson [Thu, 19 Oct 2017 01:53:25 +0000 (19:53 -0600)]
Add probe for localeconv_l()
Karl Williamson [Wed, 18 Oct 2017 20:28:14 +0000 (14:28 -0600)]
Add Configure probe for strtod_l()
Karl Williamson [Wed, 18 Oct 2017 19:58:58 +0000 (13:58 -0600)]
Fix ups for README
This is based on khw's attempting to follow the instructions to the
letter.
Karl Williamson [Tue, 17 Oct 2017 17:49:00 +0000 (11:49 -0600)]
Add Configure probe for strtold_l
H.Merijn Brand - Tux [Tue, 17 Oct 2017 13:57:40 +0000 (15:57 +0200)]
add probe for __builtin_{add,sub,mul}_overflow
Merge remote-tracking branch 'origin/mauke/builtin-overflow'