UsingTheRightCompiler

Joshua Root jmr at macports.org
Sun Nov 13 19:37:43 PST 2011


You don't appear to actually be using clang in the output you quoted, 
but rather 'cc', which is linked to llvm-gcc-4.2 on your system. I don't 
know if clang -E would behave significantly differently, but it's well 
worth checking.

- Josh

On 2011-11-14 13:19 , Matthew Cottrell wrote:
> Using "$(CC) -E" did not succeed because it left an input file unused.
>
> :info:build cc -E -IMENUS ARB_GDEmenus.source>ARB_GDEmenus
> :info:build i686-apple-darwin11-llvm-gcc-4.2: ARB_GDEmenus.source: linker input file unused because linking not done
>
> Would it be too brittle to simply use /usr/bin/cpp?
>
> That seems to work just fine:
>
> :info:build cpp -IMENUS ARB_GDEmenus.source>ARB_GDEmenu
>
> But I don't want to create a situation that will break for some folks.
>
>
> On Nov 13, 2011, at 8:57 PM, Ryan Schmidt wrote:
>
>>
>> On Nov 13, 2011, at 19:27, Matthew Cottrell wrote:
>>
>>> I'm trying to use the right compiler, but ${configure.cpp} is empty on my system.  How do I satisfy a port that needs cpp?
>>>
>>> I do have the other stuff
>>>
>>> ${configure.cc}=/Developer/usr/bin/clang
>>> ${configure.cxx}=/Developer/usr/bin/clang++
>>
>> configure.cpp should be populated for most compilers, but MacPorts does not set the CPP environment variable for you; doing so caused problems for more ports than it solved.
>>
>> If you have a port that needs CPP set, set it yourself, as in:
>>
>> configure.env CPP=${configure.cpp}
>>
>> But I do see that configure.cpp is empty when the compiler is clang. Typically, when $(CPP) is empty, software will use "$(CC) -E". So you could try setting it that way.


More information about the macports-dev mailing list