This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
metaconfig.git
2 weeks agoMerge pull request #61 from xenu/master master
Karl Williamson [Fri, 22 Nov 2019 19:50:59 +0000 (11:50 -0800)]
Merge pull request #61 from xenu/master

add probe for __attribute__(always_inline)

2 weeks agoadd probe for __attribute__(always_inline) 61/head
Tomasz Konojacki [Fri, 22 Nov 2019 18:43:22 +0000 (18:43 +0000)]
add probe for __attribute__(always_inline)

2 weeks agoisless probe in Configure broken #17216
H.Merijn Brand - Tux [Thu, 21 Nov 2019 15:00:45 +0000 (16:00 +0100)]
isless probe in Configure broken #17216

5 weeks agoUpdate README to reflect new location on github
H.Merijn Brand - Tux [Tue, 29 Oct 2019 17:08:25 +0000 (18:08 +0100)]
Update README to reflect new location on github

2 months agoAdd check for malloc_usable_size (Richard Leach)
H.Merijn Brand - Tux [Mon, 16 Sep 2019 06:02:28 +0000 (08:02 +0200)]
Add check for malloc_usable_size (Richard Leach)

2 months agoMerge pull request #60 from tonycoz/futimes-exit
H.Merijn Brand [Tue, 10 Sep 2019 10:09:36 +0000 (12:09 +0200)]
Merge pull request #60 from tonycoz/futimes-exit

c99 requires functions to be declared before they're called

2 months agoc99 requires functions to be declared before they're called 60/head
Tony Cook [Tue, 10 Sep 2019 00:35:39 +0000 (10:35 +1000)]
c99 requires functions to be declared before they're called

and exit() is declared in stdlib.h

3 months agoReset xxx_convert to empty string if none of 3 utilities is found
H.Merijn Brand - Tux [Mon, 26 Aug 2019 09:51:03 +0000 (11:51 +0200)]
Reset xxx_convert to empty string if none of 3 utilities is found

Backport 6e404ab585deadc1c32d50513f13b50ae395c00d

This will cause Configure to enter the WHOA block and default to using
sprintf.

Change Gconvert checkit() prototype for [perl #134371].

In the checkit() routine inside Configure, clang++ was taking the
if (strcmp(expect, got)) branch even though the 'expect' and 'got' strings
were identical.  A first step in debugging this was to realize that
the checkit() function never returned a value, so relabel it as void.
With clang version 7.0.1-8 (tags/RELEASE_701/final) (Debian),
this change seems to work around the strcmp issue.

Further Configure gconvert probe cleanups for C++.  As part of debugging
[perl #134375] and [perl #134371], try to eliminate warnings thrown by
clang++.

3 months agoMerge pull request #58 from tonycoz/sysroot
H.Merijn Brand [Mon, 26 Aug 2019 09:36:02 +0000 (11:36 +0200)]
Merge pull request #58 from tonycoz/sysroot

(perl #134360) --sysroot apparently needs the =

3 months ago(perl #134360) --sysroot apparently needs the = 58/head
Tony Cook [Mon, 26 Aug 2019 04:49:52 +0000 (14:49 +1000)]
(perl #134360) --sysroot apparently needs the =

See: https://rt.perl.org/Ticket/Display.html?id=134360

4 months agoConfigure: reuse "cached" value of "none" for dir
H.Merijn Brand - Tux [Thu, 25 Jul 2019 14:10:27 +0000 (16:10 +0200)]
Configure: reuse "cached" value of "none" for dir

When value of a directory (i.e. man1dir) is set to "none" because of:
- '-D' option set on cmdline (i.e. -Dman1dir=none) OR
- because value is reused from previous configure run

And when the prefix is different from the previous configure run(*) then
keep the value of "none". predefined/cached value does not contain the
old prefix so there is no harm in keeping it.

(*): due to another bug this also happens when prefix ends with a
     trailing slash

See https://rt.perl.org/Ticket/Display.html?id=134284

4 months agoRemove trailing '/' from prefix
H.Merijn Brand - Tux [Thu, 25 Jul 2019 13:52:44 +0000 (15:52 +0200)]
Remove trailing '/' from prefix

Change how/when the trailing '/' from a prefix is removed.

The original code had two problems:

1) it only stripped the trailing slash when value was predefined
   (either from -Dprefix=/foo/bar/ or from a previous configure run)
2) when it did strip the value then it also caused 'oldprefix' to
   be set. This in turns causes other predefined (/cached) paths to
   be ignored.

See https://rt.perl.org/Public/Bug/Display.html?id=134284

4 months agoRemove vestiges of mpeix support (removed in 5.17.x)
H.Merijn Brand - Tux [Thu, 25 Jul 2019 13:44:43 +0000 (15:44 +0200)]
Remove vestiges of mpeix support (removed in 5.17.x)

backport of e3c1dc81bda4523bfc897fec8afe25b162e29cb6

4 months agoFix erroneous references to USE_CBACKTRACE
H.Merijn Brand - Tux [Thu, 25 Jul 2019 13:41:02 +0000 (15:41 +0200)]
Fix erroneous references to USE_CBACKTRACE

The #define set in Configure and used in locale.c and util.c is actually
USE_C_BACKTRACE.

backport of 812e2121cb84e726a5a5b5a3a64c6f949426e02f

4 months agoAllow -Uusedtrace / -Dusedtrace=false / -Dusedtrace=no
H.Merijn Brand - Tux [Tue, 9 Jul 2019 14:30:12 +0000 (16:30 +0200)]
Allow -Uusedtrace / -Dusedtrace=false / -Dusedtrace=no

7 months agoBackport perl5 core changes by Andy, correcting Aaron's merge 5.30.0
H.Merijn Brand - Tux [Thu, 25 Apr 2019 14:06:57 +0000 (16:06 +0200)]
Backport perl5 core changes by Andy, correcting Aaron's merge

7 months agoAssume <stdlib.h> exists when probing for setlocale()
Aaron Crane [Thu, 25 Apr 2019 11:18:52 +0000 (12:18 +0100)]
Assume <stdlib.h> exists when probing for setlocale()

We're on C89, after all :-)

7 months agoBackport improvements to setlocale() probe
Aaron Crane [Thu, 25 Apr 2019 10:57:08 +0000 (11:57 +0100)]
Backport improvements to setlocale() probe

This is from Perl 5 commit 2e3ef32f4acc106de6ae8170099f09a36d4ef490, but
with a couple of changes to appease the metaconfig linter by avoiding
strings of the form /\w+=\S+/ (which it interprets as attempts to set shell
variables).

7 months agoBackport probes for towlower() and towupper()
Aaron Crane [Thu, 25 Apr 2019 10:38:00 +0000 (11:38 +0100)]
Backport probes for towlower() and towupper()

From Perl 5 commit 0806cdda2789ca6394976d1ff3e65dd59bcb8d1b (but with a typo
in the glossary description fixed).

7 months agoBackport detection of <wctype.h>
Aaron Crane [Thu, 25 Apr 2019 10:15:53 +0000 (11:15 +0100)]
Backport detection of <wctype.h>

This corresponds to Perl 5 commit 92271d410d92433b97015908e12c9f262c5953e7

7 months agoBackport detection improvements for memrchr, strlcat, and strlcpy
Aaron Crane [Thu, 25 Apr 2019 10:04:41 +0000 (11:04 +0100)]
Backport detection improvements for memrchr, strlcat, and strlcpy

This corresponds to Perl commit ba73a4cb8f472480a2d630613d1e9e1172d518d3

7 months agoBackport ability to include literal text in prototype checks
Aaron Crane [Thu, 25 Apr 2019 09:59:48 +0000 (10:59 +0100)]
Backport ability to include literal text in prototype checks

This corresponds to Perl 5 commit 63c1fa6a98bc60234a21de83dd191cd581a5d073

7 months agoBackport memmem(3) detection changes from Perl
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.

7 months agoFix bug when $exclusions_file is specified in .package file
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.

12 months agoRemove modified d_const.U
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.

12 months agoU/perl/i_db.U: just use C89 "const" without probing
Aaron Crane [Tue, 27 Nov 2018 11:31:09 +0000 (11:31 +0000)]
U/perl/i_db.U: just use C89 "const" without probing

13 months agoAdd initial support for Minix3
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.

15 months agoAdd gcc-8 and gcc-9 for FORTIFY_SOURCE
H.Merijn Brand - Tux [Sun, 2 Sep 2018 08:54:53 +0000 (10:54 +0200)]
Add gcc-8 and gcc-9 for FORTIFY_SOURCE

16 months agoHide compile warnings for try.c in compile_ok
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

16 months agoFix Berkeley DB function type tests.
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.

19 months agoRestore U/threads/d_strtod_l.U 5.27.11 5.28.0 5.28.1
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.

19 months agoMerge branch 'arc/exclusions-in-package-file'
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.

19 months agoREADME: stop recommending the mconfig "-X" option 55/head
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.

19 months agoRegenerate .package file, specifying .metaconf-exclusions.txt
Aaron Crane [Thu, 19 Apr 2018 15:37:18 +0000 (17:37 +0200)]
Regenerate .package file, specifying .metaconf-exclusions.txt

19 months agobin/mconfig: pull more changes from rmanfredi/dist#14
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.

19 months agoDelete unused units 46/head
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.

19 months agoRemove U/modified/d_memchr.U in preference for the upstream version
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.

19 months agoRestore dist/U/* versions of several units
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

19 months agoMerge branch 'langinfo'
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.

19 months agoU/perl/Extensions.U: remove references to unused vars 54/head
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.

19 months agoMake I18n::LLanginfo always available
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.

19 months agoWhitespace checks in mlint
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

19 months ago[perl #132560] perl-5.24.3, wrong Configure test for IPC_STAT
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

19 months agoremove leftovers
H.Merijn Brand - Tux [Sat, 14 Apr 2018 12:32:03 +0000 (14:32 +0200)]
remove leftovers

19 months agoWhen on meta don't expand the foldername to search
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

19 months agoRely on C89 <stdarg.h>
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

19 months agoRely on C89 <limits.h>
H.Merijn Brand - Tux [Thu, 12 Apr 2018 12:40:45 +0000 (14:40 +0200)]
Rely on C89 <limits.h>

part of backporting 350b922a8600b68529a55d5fcc05d4ebd9a45990

19 months agoPart of C89, so unwanted
H.Merijn Brand - Tux [Thu, 12 Apr 2018 12:34:17 +0000 (14:34 +0200)]
Part of C89, so unwanted

20 months agoDelete unneeded duplicate trailing newlines
H.Merijn Brand - Tux [Mon, 26 Mar 2018 16:23:49 +0000 (18:23 +0200)]
Delete unneeded duplicate trailing newlines

20 months agoBackport some commits from Zefram
H.Merijn Brand - Tux [Mon, 26 Mar 2018 16:09:25 +0000 (18:09 +0200)]
Backport some commits from Zefram

20 months agoMore whitespace consistency
H.Merijn Brand - Tux [Sat, 24 Mar 2018 20:45:20 +0000 (21:45 +0100)]
More whitespace consistency

20 months agowhitespace consistency
H.Merijn Brand - Tux [Sat, 24 Mar 2018 18:09:01 +0000 (19:09 +0100)]
whitespace consistency

20 months agomissing dependency on i_inttypes
H.Merijn Brand - Tux [Sat, 24 Mar 2018 15:31:47 +0000 (16:31 +0100)]
missing dependency on i_inttypes

20 months agoMerge pull request #53 from ntyni/debian-893601
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

20 months agoFix pointer to integer cast in null_printf check 53/head
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

22 months agoConsistent use of whitespace in ?S: and ?C:
H.Merijn Brand - Tux [Mon, 15 Jan 2018 08:23:58 +0000 (09:23 +0100)]
Consistent use of whitespace in ?S: and ?C:

22 months agoLeader should be TAB no spaces
H.Merijn Brand - Tux [Fri, 12 Jan 2018 14:59:19 +0000 (15:59 +0100)]
Leader should be TAB no spaces

22 months agoAdd probe for wcrtomb()
Karl Williamson [Fri, 12 Jan 2018 06:01:49 +0000 (23:01 -0700)]
Add probe for wcrtomb()

23 months agoRemove U.check (Closes: #25)
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.

23 months agoAdd documentation about tags (Closes #24)
Dominic Hargreaves [Wed, 27 Dec 2017 13:12:06 +0000 (13:12 +0000)]
Add documentation about tags (Closes #24)

2 years agoAdd snprintf_l, vsnprintf_l probes
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.

2 years agoMerge pull request #48 from ntyni/master
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

2 years agoMerge pull request #41 from perl5-metaconfig/docs
H.Merijn Brand [Sun, 12 Nov 2017 15:00:26 +0000 (16:00 +0100)]
Merge pull request #41 from perl5-metaconfig/docs

README changes

2 years agoMerge branch 'master' into docs 41/head
H.Merijn Brand [Sun, 12 Nov 2017 15:00:17 +0000 (16:00 +0100)]
Merge branch 'master' into docs

2 years agoDivide (a) into beginner and advanced
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

2 years agoRemove U/perl/i_sysmman.U in preference for the upstream version 48/head
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.

2 years agoDelete needless U/modified/Protochk.U
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.

2 years agoFix modern metalint nits 10/head
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.

2 years agoDelete locally-modified d_strchr.U unit
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.

2 years agoREADME: document "-X .metaconf-exclusions.txt"
Aaron Crane [Mon, 23 Oct 2017 10:29:47 +0000 (11:29 +0100)]
README: document "-X .metaconf-exclusions.txt"

2 years agobin/mconfig: new "-X FILE" option 42/head
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.

2 years agoU/modified/d_strerror.U: fix metalint warnings
Aaron Crane [Sun, 22 Oct 2017 12:40:43 +0000 (13:40 +0100)]
U/modified/d_strerror.U: fix metalint warnings

2 years agoREADME_U: fix typo
Lukas Mai [Sun, 22 Oct 2017 09:31:43 +0000 (11:31 +0200)]
README_U: fix typo

2 years agoGenerate the Glossary based on the most recent config.sh
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

2 years agoFix mkglossary
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

2 years agoTrailing whitespace and consistent indent
H.Merijn Brand - Tux [Sat, 21 Oct 2017 14:12:41 +0000 (16:12 +0200)]
Trailing whitespace and consistent indent

2 years agoMerge branch 'arc/c89ification'
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.

2 years agoRely on C89 <string.h> in Perl-specific units 40/head
Aaron Crane [Sat, 14 Oct 2017 14:21:48 +0000 (16:21 +0200)]
Rely on C89 <string.h> in Perl-specific units

2 years agoRely on C89 <math.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

2 years agoU/modified/d_strerror.U: rely on C89 strerror()
Aaron Crane [Sat, 14 Oct 2017 09:57:25 +0000 (11:57 +0200)]
U/modified/d_strerror.U: rely on C89 strerror()

2 years agoDrop support for the hp9000s500 cpp symbol
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.

2 years agoU/perl/time_size.U: don't try to include non-standard <values.h>
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>

2 years agoRely on C89 <float.h> in modified units
Aaron Crane [Fri, 13 Oct 2017 10:46:14 +0000 (12:46 +0200)]
Rely on C89 <float.h> in modified units

2 years agoU/modified/d_dbl_dig.U: assume C89 <limits.h>
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.

2 years agoU/perl/d_ldbl_dig.U: assume C89 <limits.h>
Aaron Crane [Fri, 13 Oct 2017 10:33:31 +0000 (12:33 +0200)]
U/perl/d_ldbl_dig.U: assume C89 <limits.h>

2 years agoU/compline/i_time.U: assume C89 <time.h> exists
Aaron Crane [Fri, 13 Oct 2017 09:16:17 +0000 (11:16 +0200)]
U/compline/i_time.U: assume C89 <time.h> exists

2 years agoU/modified/d_strchr.U: add stub unit
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.

2 years agoModify i_stdlib.U to unconditionally assume C89 <stdlib.h>
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.

2 years agoFor Perl, assume C89 prototypes exist
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.

2 years agoModify vaproto.U: don't promise to define _V
Aaron Crane [Thu, 12 Oct 2017 16:13:54 +0000 (18:13 +0200)]
Modify vaproto.U: don't promise to define _V

2 years agoRely on C89 headers in U/perl/need_va_copy.U
Aaron Crane [Thu, 12 Oct 2017 16:04:50 +0000 (18:04 +0200)]
Rely on C89 headers in U/perl/need_va_copy.U

2 years agoRely on C89 headers in U/perl/d_c99_variadic.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

2 years agoAssume C89 "volatile"
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.

2 years agoU/threads/d_nl_langinfo_l.U: fix probe
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.

2 years agoREADME: undef vs define in checkcfgvar
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

2 years agoREADME: Clarify Win32
Karl Williamson [Sat, 21 Oct 2017 13:27:14 +0000 (07:27 -0600)]
README: Clarify Win32

2 years agoREADME: Remove obsolete references to EPOC
Karl Williamson [Sat, 21 Oct 2017 13:26:27 +0000 (07:26 -0600)]
README: Remove obsolete references to EPOC

2 years agoREADME: Fix nit
Karl Williamson [Sat, 21 Oct 2017 13:15:53 +0000 (07:15 -0600)]
README: Fix nit

2 years agoREADME fixes for VMS
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.

2 years agoAdd probe for presence of <wchar.h>
H.Merijn Brand - Tux [Sat, 21 Oct 2017 12:10:27 +0000 (14:10 +0200)]
Add probe for presence of <wchar.h>