From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id D9AABBB9A for ; Tue, 25 Oct 2005 18:37:23 +0200 (CEST) Received: from relay01.uchicago.edu (relay01.uchicago.edu [128.135.12.136]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j9PGbNbb024471 for ; Tue, 25 Oct 2005 18:37:23 +0200 Received: from [128.135.9.70] (fritzanderson.uchicago.edu [128.135.9.70]) by relay01.uchicago.edu (8.12.10/8.12.9) with ESMTP id j9PGbMR4003870 for ; Tue, 25 Oct 2005 11:37:22 -0500 (CDT) Mime-Version: 1.0 (Apple Message framework v734) Content-Transfer-Encoding: 7bit Message-Id: <3B352EDD-F1A3-4934-9A0E-53095B258E05@uchicago.edu> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: caml-list@yquem.inria.fr From: Fritz Anderson Subject: Compiling for Mac OS 64 bit? Date: Tue, 25 Oct 2005 11:37:18 -0500 X-Mailer: Apple Mail (2.734) X-Miltered: at concorde with ID 435E5F43.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; uchicago:01 ocaml:01 ocamlmklib:01 compiler:01 compiler:01 pointers:01 integers:01 ocaml:01 powerpc:01 ...:98 haul:98 exception:01 slower:01 integer:01 int:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 I've been asked to research the use of Ocaml in high-performance computing applications on Mac OS X. I take this to mean (a) 64-bit applications (the client says so) and (b) compiled applications. I've configured the build with ./configure -cc 'gcc -arch ppc64' -tk-no-x11 ... which seems to produce the interpreter with no complaints, with the only exception that ocamlmklib.ml had to be edited so that '-arch ppc64' was appended to the value of the mksharedlib variable. Make bootstrap concludes without error. (Caveats that an interpreter that has to haul 64-bit entities around instead of 32-bit entities is apt to be slower, are already understood. By me. The client sees a knob labeled 32/64, and wants to turn it all the way up.) Make opt is not so happy. One example is that the assembler balks at _camlPervasives__55: .long _caml_int64_ops .long 1018167296 .long 4372995238176751616 .data .long 2303 because the huge number should take the .quad directive, not .long. But given that the huge number is 0x3cb0000000000000, I have bad feelings that this is some badly-cleared or -shifted native integer. In fact, my skimming of the compiler source suggests that the compiler doesn't do native 64-bit pointers and integers. Is there a way to configure Ocaml to produce a 64-bit compiler, or is there a project for one? (I know, I'm asking for magic beans.) Or do I tell the client that on PowerPC/Mac OS, it's 32 bits or nothing? -- F Fritz Anderson Mac Programmer University of Chicago