UsingTheRightCompiler

Matthew Cottrell matt.cottrell at mac.com
Mon Nov 14 04:36:04 PST 2011


Still no luck with the preprocessor problem.  Using clang -E still returns an error:

:info:build clang -E -IMENUS ARB_GDEmenus.source >ARB_GDEmenus
:info:build clang: warning: ARB_GDEmenus.source: 'linker' input unused when '-E' is present
:info:build clang: warning: argument unused during compilation: '-I MENUS'



On Nov 13, 2011, at 10:37 PM, Joshua Root wrote:

> 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.

--
Matthew Cottrell
Lewes, DE 19958

http://www.mattcottrell.org






More information about the macports-dev mailing list