Chosing the C and C++ compilers

Anders F Björklund afb at macports.org
Thu Nov 6 11:43:40 PST 2008


Akim Demaille wrote:

>> Just meant that those are rather straightforwardly mapped from  
>> configure.march and configure.mtune along with configure.m32 and  
>> configure.m64 to make up the configure.cflags, and the settings  
>> for configure.universal_archs (when cross-compiling)
>>
>> "GNU style" cross-compiling uses host-prefixed binaries, where as  
>> "Mac style" cross-compiling normally just uses -arch... or Xcode :-)
>
> I'm a bit confused here.  I understand from your answer that the  
> ports should pass arch specific flags to the compiler.  But  
> apparently it does not.

It passes the ones that affect optimization and such, but doesn't  
really pass -arch (except +universal).
So cross-compiling from one arch (ppc) to another (i386) isn't really  
supported in the default setup...

Binaries in general work so-so when transferred from one machine to  
another with current MacPorts.
Cross-compiled binaries even more so. That doesn't mean it wouldn't  
be a nice future feature to have.

> And the variables you mention are for portfiles, right?  They're  
> not meant for the end user.

The variables are for "base", so in theory for either of  
configuration or user (arguments) or portfiles...
In practice there are a lot of settings, so one needs to determine  
which of them comes from where etc. ?

In the short term it should probably be possible to override a few  
more of the "configure." variables from macports.conf like you have  
been suggesting.
But in the long term, there are probably better ways to allow  
building on one machine and deploying on another (including both - 
arch and SDK and so on...)

--anders



More information about the macports-users mailing list