compiler selection

N_Ox n.oxyde at gmail.com
Tue Oct 2 14:13:21 PDT 2007


Le 30 sept. 07 à 13:57, Weissmann Markus a écrit :

> On 30.09.2007, at 12:13, Michael Wild wrote:
>
>> Ryan Schmidt wrote:
>>> On Sep 28, 2007, at 14:45, Ryan Schmidt wrote:
>>>> On Sep 28, 2007, at 09:55, Michael Wild wrote:
>>>>
>>>>> My problem actually is that a port which I'm preparing requires  
>>>>> gfortran which doesn't come with Apple's system gcc but is in  
>>>>> port:gcc42. I could simply do "configure.fc ${prefix}/bin/ 
>>>>> gfortran-mp-4.2, but what if someone has another gcc installed?  
>>>>> I could depends_build on gcc42 but if a gcc suite is required  
>>>>> by MacPorts anyways I wouldn't like to impose something which  
>>>>> might install another compiler suite unnecessarily.
>>>>
>>>> If you require gfortran, you should depends_build on gcc42.  
>>>> Nevermind anyone who has gcc43 installed; that's beta and  
>>>> shouldn't be relied on until gcc44 is released, at which point  
>>>> the port can be updated. Nevermind anyone who has gcc41 or gc40  
>>>> or earlier installed; any ports that still depend on those  
>>>> should be updated to gcc42.
>>> Oh, I meant to say: and then you go:
>>> configure.compiler gcc-4.0
>>
>> You mean
>>
>> configure.compiler macports-gcc-4.2
>>
>> else it doesn't work...
>>
>>> and with depends_build gcc42 that's all you should need.
>>
>> Yep, works like a charm now!
>>
>
> Well, you need to pay attention: If you have C++ or Objective-C  
> code, it will link to the C++/Objective-C lib of the used compiler.
> So if you build a C++ program, this needs to be "depends_lib  
> gcc42"! For pure C programs, a "depends_build" is sufficient though.
>

You mean `depends_lib port:gcc42`.

> You can check out if your program does this by doing a `otool -L  
> name-of-the-binary-or-dynamic-library'. C++ programs compiled with  
> macports gcc 4.2 will return e.g. '/opt/local/lib/gcc42/libstdc++. 
> 6.dylib'.
>
>
> -Markus
>
> ---
> Markus W. Weissmann
> http://www.mweissmann.de/
>


--
Anthony Ramine, the infamous MacPorts Trac slave.
nox at macports.org





More information about the macports-dev mailing list