| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
As #21076 reports if you are using `-Wcpp-undef` then you get warnings
when using the `MIN_VERSION_GLASGOW_HASKELL` macro because
__GLASGOW_HASKELL_PATCHLEVEL2__ is very rarely explicitliy set (as
version numbers are not 4 components long).
This macro was introduced in 3549c952b535803270872adaf87262f2df0295a4
and it seems the bug has existed ever since.
Fixes #21076
|
| |
|
|
|
|
|
| |
`test A == B' is a Bash extension, which doesn't work on platforms where
/bin/sh is not Bash.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Newer lld versions may include vendor info in --version output and
thus the version string may not start with ‘LLD’.
Fixes #20907
|
|
|
|
|
|
|
|
|
|
| |
Previously we would unconditionally provide a declaration for `environ`,
even if `<unistd.h>` already provided one. This would result in
`-Werror` builds failing on some platforms.
Also `#include <unistd.h>` to ensure that the declaration is visible.
Fixes #20861.
|
|
|
|
|
|
|
|
| |
FreeBSD (and likely NetBSD) /bin/sh does not support '>& word' to
redirect stdout + stderr. (Also the preferred syntax in bash would
be '&> word' to avoid surprises when `word` is "-" or a number).
Resolves: #20760
|
|
|
|
| |
This ensures quiet configuring works.
|
|
|
|
|
| |
This deduplicates converting from yes/no to YES/NO in the configure
scripts while also making it safer.
|
|
|
|
|
|
|
| |
Some platforms (e.g., armel) require linking against libatomic for
64-bit atomic operations.
Fixes #20549
|
|
|
|
|
|
|
|
|
| |
terminfo now requires term.h but previously neither build system offered
any way to add the containing directory to the include search path. Fix
this in Hadrian.
Also adds libnuma includes to global include search path as it was
inexplicably missing earlier.
|
| |
|
| |
|
|
|
|
| |
These will be useful for upcoming RTS configure script.
|
|
|
|
|
|
|
|
| |
Eventually, the RTS configure alone will need the vast majority of
AC_DEFINE, and the top-level configure will need the most AC_SUBST. By
removing the "side effects" of the macros like this we make them more
reusable so they can be shared between the two configures without doing
too much.
|
| |
|
|
|
|
|
|
|
| |
This will allow better reuse of it, such as in the upcoming RTS
configure script.
Progress towards #17191
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modern clang versions are quite picky when it comes to reporting
redundant arguments. In particular, they will warn when -no-pie is
passed when no linking is necessary.
Previously the configure script used a `$CC -Werror -no-pie -E`
invocation to test whether `-no-pie` is necessary. Unfortunately, this
meant that clang would throw a redundant argument warning, causing
configure to conclude that `-no-pie` was not supported. We now rather
use `$CC -Werror -no-pie`, ensuring that linking is necessary and
avoiding this failure mode.
Fixes #20463.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously `timedWaitCondition` assumed that timeouts were referenced
against `CLOCK_MONOTONIC`. This is wrong; by default
`pthread_cond_timedwait` references against `CLOCK_REALTIME`, although
this can be overridden using `pthread_condattr_setclock`.
Fix this and add support for using `CLOCK_MONOTONIC` whenever possible
as it is more robust against system time changes and is likely cheaper
to query. Unfortunately, this is complicated by the fact that older
versions of Darwin did not provide `clock_gettime`, which means we also
need to introduce a fallback path using `gettimeofday`.
Fixes #20144.
|
|
|
|
|
|
|
| |
bound.
We use a non-inclusive upper bound so that setting the upper bound to 13 for
example means that all 12.x versions are accepted.
|
|
|
|
| |
Only adding "aarch64-unknown-netbsd" to gen-data-layout.sh was sufficient to get it working. No other changes were strictly required.
|
|
|
|
|
|
| |
NetBSD supports pthread_setname_np() but it expects a printf-style format string and a string argument.
Also use pthread for itimer on this platform.
|
|
|
|
|
|
|
|
| |
Previously Hadrian depended implicitly upon whatever `bash` it found in
`PATH`, offerring no way for the user to override. Fix this by detecting
`sh` in `configure` and passing the result to Hadrian.
Fixes #19797.
|
| |
|
| |
|
| |
|
| |
|
|
Previously we would support only one LLVM major version. Here we
generalize this to accept a range, taking this range to be LLVM 10 to 11,
as 11 is necessary for Apple M1 support. We also accept 12, as that is
what apple ships with BigSur on the M1.
|