summaryrefslogtreecommitdiff
path: root/m4
Commit message (Collapse)AuthorAgeFilesLines
* Fix a few Note inconsistenciesBen Gamari2022-02-011-1/+0
|
* Rip out remaining SPARC supportBen Gamari2022-01-292-12/+0
|
* Improve detection of lld linkerSergey Vinokurov2022-01-181-0/+2
| | | | | | | Newer lld versions may include vendor info in --version output and thus the version string may not start with ‘LLD’. Fixes #20907
* rts: Only declare environ when necessaryBen Gamari2022-01-111-0/+14
| | | | | | | | | | 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.
* Use POSIX shell syntax to redirect stdout/errViktor Dukhovni2021-12-012-2/+2
| | | | | | | | 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
* Avoid raw `echo` in `FPTOOLS_SET_PLATFORM_VARS`John Ericson2021-12-011-1/+1
| | | | This ensures quiet configuring works.
* Factor our `FP_CAPITALIZE_YES_NO`John Ericson2021-11-275-17/+18
| | | | | This deduplicates converting from yes/no to YES/NO in the configure scripts while also making it safer.
* Link against libatomic for 64-bit atomic operationsIlias Tsitsimpis2021-11-251-6/+37
| | | | | | | Some platforms (e.g., armel) require linking against libatomic for 64-bit atomic operations. Fixes #20549
* hadrian: Ensure that term.h is in include search pathBen Gamari2021-11-171-0/+6
| | | | | | | | | 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.
* Factor out FP_FIND_LIBFFI and use in RTS configure tooJohn Ericson2021-11-081-0/+69
|
* Factor out GHC_ADJUSTORS_METHOD m4 macroJohn Ericson2021-11-081-0/+48
|
* Factor out unregisterised and tables next to code m4 macrosJohn Ericson2021-11-072-0/+67
| | | | These will be useful for upcoming RTS configure script.
* Separate some AC_SUBST / AC_DEFINEJohn Ericson2021-11-022-9/+0
| | | | | | | | 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.
* configure: Hide error output from --target checkBen Gamari2021-10-311-1/+1
|
* Modularize autoconf platform detectionJohn Ericson2021-10-316-157/+154
| | | | | | | This will allow better reuse of it, such as in the upcoming RTS configure script. Progress towards #17191
* Rename fp_gcc_supports__atomics to fp_cc_supports__atomicsHaochen Tong2021-10-121-5/+5
|
* Move libatomic check into m4/fp_gcc_supports_atomics.m4Haochen Tong2021-10-121-14/+38
|
* configure: Fix redundant-argument warning from -no-pie checkBen Gamari2021-10-031-2/+2
| | | | | | | | | | | | | | | 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.
* configure: Add check for whether CC supports --targetBen Gamari2021-09-231-0/+33
|
* configure: Move nm search logic to new fileBen Gamari2021-09-231-0/+40
|
* rts/OSThreads: Fix reference clock of timedWaitConditionBen Gamari2021-08-021-0/+2
| | | | | | | | | | | | | | | 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.
* Set min LLVM version to 9 and make version checking use a non-inclusive upperZubin Duggal2021-06-201-1/+1
| | | | | | | 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.
* Support NetBSD/aarch64 via LLVM codegenPHO2021-05-221-0/+5
| | | | Only adding "aarch64-unknown-netbsd" to gen-data-layout.sh was sufficient to get it working. No other changes were strictly required.
* rts: Correctly call pthread_setname_np() on NetBSDPHO2021-05-071-0/+17
| | | | | | 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.
* hadrian: Don't depend upon bash from PATHBen Gamari2021-05-061-0/+15
| | | | | | | | 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.
* configure: Move libdw search logic to macroBen Gamari2021-05-051-0/+57
|
* configure: Move libnuma check to macroBen Gamari2021-05-051-0/+60
|
* configure: Move pthreads checks to macroBen Gamari2021-05-051-0/+101
|
* Break up aclocal.m4Ben Gamari2021-05-0566-0/+2638
|
* llvmGen: Accept range of LLVM versionsBen Gamari2021-03-171-0/+177
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.