summaryrefslogtreecommitdiff
path: root/Configure
Commit message (Collapse)AuthorAgeFilesLines
* Sync Configure with metaconfigmaint-5.30Dominic Hargreaves2020-06-071-1/+1
| | | | | This brings Configure in line with <https://github.com/Perl/metaconfig/tree/maint-5.30>
* Adapt Configure to GCC version 10Petr Písař2020-02-271-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I got a notice from Jeff Law <law@redhat.com>: Your particular package fails its testsuite. This was ultimately tracked down to a Configure problem. The perl configure script treated gcc-10 as gcc-1 and turned on -fpcc-struct-return. This is an ABI changing flag and caused Perl to not be able to interact properly with the dbm libraries on the system leading to a segfault. His proposed patch corrected only this one instance of the version mismatch. Reading the Configure script revealed more issues. This patch fixes all of them I found. Please note I do not have GCC 10 available, I tested it by faking the version with: --- a/Configure +++ b/Configure @@ -4672,7 +4672,7 @@ $cat >try.c <<EOM int main() { #if defined(__GNUC__) && !defined(__INTEL_COMPILER) #ifdef __VERSION__ - printf("%s\n", __VERSION__); + printf("%s\n", "10.0.0"); #else printf("%s\n", "1"); #endif (cherry picked from commit 6bd6308fcea3541e505651bf8e8127a4a03d22cd)
* Update documentation, readmes, comments, and utilities to reference the ↵Dan Book2020-02-111-7/+7
| | | | | | | | GitHub issue tracker The perlbug utility and perlbug@perl.org should no longer be used to submit bug reports or patches. (cherry picked from commit 8166b4e0bc220e759aa233af54ac1e60cc510f0c)
* Regenerate Configure from latest metaconfigAaron Crane2019-04-251-6/+3
| | | | This corresponds to metaconfig commit 70210eb08b2643bfce98cfa92a3ee52c613dfa56
* Improve setlocale() detection in Configure-ish filesKarl Williamson2019-03-041-4/+177
| | | | This also now notes some behavior of setlocale
* Add towupper() and towlower() to Configure-ish filesKarl Williamson2019-03-041-4/+16
|
* Add wctype.h to Configure-ish filesKarl Williamson2019-03-041-0/+6
|
* Improve detection of memrchr, strlcat, and strlcpy.Andy Dougherty2019-01-311-6/+57
| | | | | | | | | | | This is continuation of commit f8d82a1010 addressing [perl #133760]. Linux systems using the musl C library have memmem, memrchr, strlcat, and strlcpy, but the prototypes are only visible if _GNU_SOURCE is defined. This patch makes Configure test both whether the prototype is visible and whether the C symbol is visible. Still to be done is automatically adding _GNU_SOURCE if the musl library is being used -- probably in hints/linux.sh.
* Another attempt to improve Configure detection of memmem() [perl #133760].Andy Dougherty2019-01-231-40/+18
| | | | | | | | This updates commit ca152fd8207cf53816b1407d5f54f6ea160a3ef8. Linux systems have memmem, but the prototype in <string.h> is only visible if __GNU_SOURCE is defined. This version tests for both the prototype in <string.h> and the symbol in libc. (Thanks to Tony C. for the suggestion.) (For BSD systems, no extra define is needed.)
* Add ability to include literal text in the prototype check.Andy Dougherty2019-01-231-0/+1
| | | | | | This is the same technique as in the metaconfig unit Protochk.U. See that unit for more usage information. It is a bit clunky, but does work.
* Improve Configure detection of memmem() [perl #133760].Andy Dougherty2019-01-221-2/+41
| | | | | | | | | | | | Linux systems have memmem, but the header prototype is only visible if the C library, but didn't check if the correct prototype is available. This patch compiles & runs a test program that will fail if the prototype is needed but not available. This does not completely close [perl #133760]. The tests for strlcat() and strlcpy() may also need to be similarly changed. Also, this patch does not change whether _GNU_SOURCE is defined or not. Presumably that would be done separately in the linux hints file.
* Rely on C89 "const"Aaron Crane2018-11-271-35/+0
| | | | | | | | | | The metaconfig probe for <db.h> previously relied on the d_const symbol set by the "const" probe, so generating Configure here has been done against metaconfig commit 1204d4627a06b11f16620188f3fa83159ed35fd9 which changes that. Thanks to khw++ for pointing out this oversight in my attempt last year to make the codebase rely on C89.
* Add initial support for Minix3H.Merijn Brand2018-10-301-1/+4
| | | | | | | 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.
* Add gcc-8 and gcc-9 for FORTIFY_SOURCEH.Merijn Brand2018-09-021-1/+1
|
* Configure: redirect try.c errors to /dev/nullKarl Williamson2018-08-011-1/+1
|
* Fix Berkeley DB function type tests.Craig A. Berry2018-07-071-0/+2
| | | | | | | | 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.
* Add HAS_STRTOD_L to metaconfig.h and rebuild ConfigureAaron Crane2018-04-191-0/+6
|
* Rebuild Configure using metaconfig langinfo changeAaron Crane2018-04-191-9/+9
| | | | We are now in sync with perl5-metaconfig/metaconfig@2d3a3017b8d44d778ed765d529ca114924b3ee14
* Rebuild Configure from latest unitsAaron Crane2018-04-191-24/+24
| | | | | | | | | | | | Most of the change here comes from a single unit being moved in the generated Configure, but there are some substantive changes: - config_h.SH was missing HAS_DUPLOCALE and d_duplocale - d_duplocale was also missing from the platform-specific config-var files This still doesn't quite ensure that rebuilding Configure makes no changes, because there are differences to nl_langinfo() handling that need a change in our metaconfig units. That will come next.
* Regen after backporting and mergingH.Merijn Brand2018-04-161-4/+21
| | | | I am aware that this might break a few tests
* Whitespace consistencyH.Merijn Brand2018-03-271-98/+84
|
* Actually make I18N::Langinfo avail on all platformsKarl Williamson2018-03-121-2/+6
| | | | | | | | | | | | I thought I had done this earlier, but testing on Windows demonstrated that I hadn't. While at it, move the details in the docs for Perl_langinfo to the module's pod. This doesn't follow the paradigm for putting the Configure stuff in all the related configure files, but I saw no point to doing so. If you are reading this because I was wrong, feel free to ticket it or fix it.
* configure probe for mkostemp()Zefram2017-12-221-0/+6
| | | | | This is another file descriptor creating function that's needed as an O_CLOEXEC-handling variant of an existing function.
* configure probes for accept4(), dup3(), pipe2()Zefram2017-12-221-0/+18
| | | | | These will shortly be used to implement I/O operations that create file descriptors with the FD_CLOEXEC flag set atomically.
* Restore ability to build on platforms without snprintf()Aaron Crane2017-11-181-0/+69
| | | | | | | | | | | | | 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
* Rebuild Configure from current metaconfigAaron Crane2017-11-181-1/+1
| | | | | | Commit 46857622bdd8fff9558b66485f86ae4eb019ec55 of the metaconfig repo reverts to the upstream version of i_sysmman.U, which has a slightly different comment.
* Configure: rebuild from latest unitsAaron Crane2017-10-231-37/+37
| | | | This is a whitespace-only change.
* Rely on C89 <string.h>Aaron Crane2017-10-211-76/+24
| | | | This requires a corresponding change in the metaconfig units.
* Don't attempt to use non-standard <memory.h>Aaron Crane2017-10-211-26/+0
| | | | It's only needed on systems without C89 <string.h>, which we rely on anyway.
* Rely on C89 <assert.h>Aaron Crane2017-10-211-6/+0
|
* Rely on C89 <math.h>Aaron Crane2017-10-211-49/+14
| | | | This requires a corresponding change in the metaconfig units.
* Rely on C89 strerror()Aaron Crane2017-10-211-43/+12
| | | | This requires a corresponding change to the metaconfig units.
* Drop support for the hp9000s500 cpp symbolAaron Crane2017-10-211-9/+1
| | | | | | | | | | | | | | | | | | | | | | This includes changed metaconfig units which drop support in the same way. 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.
* Don't try to use <values.h>Aaron Crane2017-10-211-13/+0
| | | | | All the information it contains can be gleaned more readily from C89 <limits.h> and <float.h>.
* Rely on C89 <float.h> defining DBL_DIGAaron Crane2017-10-211-23/+0
| | | | | | | | | 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.
* Rely on C89 <float.h>Aaron Crane2017-10-211-23/+2
| | | | This requires newer metaconfig units that also rely on C89 <float.h>.
* Rely on C89 <limits.h>Aaron Crane2017-10-211-12/+0
| | | | This requires newer metaconfig units that also rely on C89 <limits.h>.
* Rely on C89 <time.h>Aaron Crane2017-10-211-14/+5
| | | | | The Configure script here was built from a metaconfig unit that also assumes <time.h> exists.
* Rely on C89 strchr() and strrchr()Aaron Crane2017-10-211-37/+0
| | | | | | 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.
* Rely on C89 sprintf() return value semanticsAaron Crane2017-10-211-65/+0
|
* Rely on C89 <stddef.h>Aaron Crane2017-10-211-6/+0
|
* Rely on C89 <stdlib.h>Aaron Crane2017-10-211-102/+101
| | | | | | | | 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.
* Rely on C89 <stdarg.h>Aaron Crane2017-10-211-115/+0
|
* Rely on C89 prototypesAaron Crane2017-10-211-30/+0
| | | | | | 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.
* Don't pretend to determine whether ansi2knr is neededAaron Crane2017-10-211-48/+22
|
* Rely on C89 variadic prototypesAaron Crane2017-10-211-126/+109
| | | | | | | 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).
* Configure: assume C89 headers in need_va_copy probeAaron Crane2017-10-211-132/+122
| | | | This matches a recent change to metaconfig.
* Rely on C89 vprintf()Aaron Crane2017-10-211-194/+109
|
* Configure: assume C89 headers in d_c99_variadic_macros probeAaron Crane2017-10-211-134/+126
| | | | This matches a recent change to metaconfig.
* Rely on C89 snprintf()Aaron Crane2017-10-211-69/+0
|