[plt-scheme] Advice request: compiling mzscheme with icc?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Aug 6 17:35:29 EDT 2007

At Mon, 06 Aug 2007 16:03:26 -0400, Kyle Smith wrote:
> What are the particulars; i.e., is setting CC=icc, and having icc specific
> libraries in the environment variables icc looks for by default
> sufficient, or do I need to pass these along as options to configure as 
> well?
> I can put icc specific flags in CFLAGS, CXXFLAGS, and indicate the libraries
> in LDFLAGS, according to configure --help.  But I need to add the icc 
> specific
> options `-parallel -xT', and suppress any -mcpu, -mtune or -march options
> that configure might otherwise deduce from
> MACHTYPE=powerpc-apple-darwin8.0 and HOSTTYPE=powerpc, which are
> set by the OS, and which cause gcc to inevitably select for the lowest 
> common
> denominator; e.g. i386. 

FWIW, on my MacBook:

 laptop% env | egrep "HOSTTYPE|MACHTYPE"
 HOSTTYPE=intel-pc
 MACHTYPE=i386

I'm pretty sure that I did't configure those myself.

Otherwise, yes, I set CC, CXX, CFLAGS, etc. back when I used `icc'
under Linux.

> However, if I set CFLAGS='-O2 -xT 
> -parallel',
> I'm worried that I'm going to override important Scheme options, like
> -fomit-frame-pointer and such.  Will configure add necessary additional
> arguments in addition to CFLAGS? 

Yes, configure will add appropriate arguments (and it won't include
`-fomit-frame-pointer', since that disables stack traces when the JIT
is enabled).

> Also, I see how to disable or enable a
> features, in configure --help, but I'm not sure how I keep it from using
> incompatible CPU options, unless it only uses CFLAGS

I don't know how to avoid incompatible CPU options, either. Maybe
set HOSTTYPE and MACHTYPE to avoid them?

Matthew



Posted on the users mailing list.