On 03/11/2012 00:16, Ian Lynagh wrote:

Hi Karel,

On Fri, Nov 02, 2012 at 07:39:45PM +0100, Karel Gardas wrote:

I'm curious if this patch is kind of controversial so you are
reluctant to merge it. If you find any issue with it please let me
know so I can change it as per your suggestion. I've done this patch
to un-break GHC HEAD build failure on my solaris 11 box.

If we're going to go this route, then I think we should do it by
comparing SIZEOF_VOID_P to SIZEOF_INT etc, rather than assuming that
either 'ld' or 'd' is right based on _LP64.

However, I'm hoping to replace mkDerivedConstants.c with probably a
configure script soon, so that it can produce the right results when
cross-compiling.

Yes we need to replace mkDerivedConstants.c with something else for cross compilation, but I really hope it doesn't have to be a configure script :-) Surely it's possible to convince the C compiler to emit struct offsets without having to run the program, somehow?

Cheers,
        Simon






On 10/30/12 06:59 PM, Karel Gardas wrote:
Note that PRIdPTR is considered as linux-ism so it's not available on platforms
like Solaris, although some other free Unix(-like) OSes apparently supports
it too.
---
  includes/mkDerivedConstants.c |   11 +++++++++++
  1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c
index 1393112..953b2b5 100644
--- a/includes/mkDerivedConstants.c
+++ b/includes/mkDerivedConstants.c
@@ -30,6 +30,17 @@
  #include<stdio.h>
  #include<string.h>

+
+#if !defined(PRIdPTR)
+#if defined(_LP64)
+/* compiling for 64bit target */
+#define PRIdPTR "ld"
+#else
+/* compiling for 32bit target */
+#define PRIdPTR "d"
+#endif
+#endif


Thanks
Ian


_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to