Chosing the C and C++ compilers
Anders F Björklund
afb at macports.org
Fri Nov 7 00:29:27 PST 2008
Akim Demaille wrote:
>>> Really, I just wish I had a simple means (= not by having to
>>> specify it on each port command line) to specify CC and CXX.
>>
>> Why would you want to do that? We have few enough volunteers with
>> few enough resources as it is; I don't think we can afford to
>> require port maintainers to allow any compiler to be used with
>> their ports. It's good that we lock it down to a specific
>> compiler. Port maintainers can override that if necessary for
>> their specific ports, but it should not be for users to change.
>
> Well, if I change the compiler, I'm well aware that I'm off tracks,
> and if something goes wrong, it's on my side.
Most of the configure stuff mentioned falls in the "unsupported"
category...
a.k.a. MacPorts isn't Gentoo ;-)
>>> Or else, I would prefer that the hard coded values be fully
>>> qualified (/usr/bin/i686-apple-darwin9-gcc-4.0.1) instead of
>>> short (/usr/bin/gcc-4.0).
>>
>> But then we would have to find out what that value is, for the
>> current processor architecture and OS version. And what happens
>> when we want to build a universal binary?
>
> This is something Anders helped me understand, and as I wrote
> elsewhere, I think that sticking to /usr/bin/gcc-4.0 is a fine
> option *provided* that the proper cflags are given to the compiler
> to clarify the target architecture. In that case I can use my
> compile farm efficiently, whatever the combination of architectures.
I think you are right to expect to be able to override cc/cxx (at
your own risk)
>>> In that case I have nothing special to do to use distcc with
>>> macports.
>>
>> Since we already have some distcc options in MacPorts we obviously
>> want it to be easy to use with MacPorts. But I personally have
>> never used it so I have no input on how best to do so.
>
> Using distcc provides a huge speed-up. At work I "make -kj20". It
> makes a large difference. And I wish I could use the same amount
> of cpu to upgrade my laptop.
Using ccache is also good, and the combination of the two can be
really awesome.
> Really, all it requires is to pass the proper flags to the compiler.
>
> Of course I can change my /usr/bin/gcc-4.0 to make it a wrapper
> around the original one passing additional flags, but I feel that
> it is more appropriate to have ports pass more precise flags to the
> compilers.
Use the commandline workaround for now and something better can be
done for 1.8...
--anders
More information about the macports-users
mailing list