diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-07-11 18:40:31 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-07-12 08:55:00 -0400 |
commit | 60ec8f74d32a9976ac8ddf6fd366218283fcac3e (patch) | |
tree | 4e29c75a7c06b19ea187cd9f6ba81b5b01788fc8 /distrib | |
parent | 1ee49cb11c7ad1af20c117a5395df96ded9a729f (diff) | |
download | haskell-60ec8f74d32a9976ac8ddf6fd366218283fcac3e.tar.gz |
distrib/configure: Fail if we can't detect machine's word size
This is a sure sign that something is terribly wrong.
We also now verify that the word size that the binary distribution
expects matches the word size produced by the local target toolchain.
Finally we rename WordSize to TargetWordSize, since non-host/target
qualified quantities are terribly confusing.
Reviewers: austin, hvr, Phyx
Reviewed By: Phyx
Subscribers: Phyx, rwbarton, thomie, erikd
Differential Revision: https://phabricator.haskell.org/D3711
Diffstat (limited to 'distrib')
-rw-r--r-- | distrib/configure.ac.in | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in index ac6af24b94..a15b4a5a3c 100644 --- a/distrib/configure.ac.in +++ b/distrib/configure.ac.in @@ -134,10 +134,20 @@ dnl May need to use gcc to find platform details. dnl -------------------------------------------------------------- FPTOOLS_SET_HASKELL_PLATFORM_VARS -dnl WordSize for settings.in +dnl TargetWordSize for settings.in AC_CHECK_SIZEOF(void *, 4) -WordSize=$ac_cv_sizeof_void_p -AC_SUBST(WordSize) +if test "x$ac_cv_sizeof_void_p" = "x0"; then + AC_MSG_ERROR([Failed to determine machine word size. Does your toolchain actually work?]) +fi +dnl Check that the toolchain we have is consistent with what the compiler expects +if test "x$ac_cv_sizeof_void_p" != "x@TargetWordSize@"; then + AC_MSG_ERROR([This binary distribution produces binaries for a target with + word size of @TargetWordSize@, but your target toolchain produces binaries + with a word size of $ac_cv_sizeof_void_p. Are you sure your toolchain + targets the intended target platform of this compiler?]) +fi +TargetWordSize=$ac_cv_sizeof_void_p +AC_SUBST(TargetWordSize) # dnl ** how to invoke `ar' and `ranlib' |