UsingTheRightCompiler

Joshua Root jmr at macports.org
Mon Nov 14 04:48:06 PST 2011


You might need to use '-x c-header' as well because the input file 
doesn't have the usual suffix. I'd guess it's parsing '.source' as '.so' 
which makes it treat it as a linker input.

- Josh

On 2011-11-14 23:36 , Matthew Cottrell wrote:
> 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