svn commit: r285284 - head/lib/liblzma

Warner Losh imp at bsdimp.com
Wed Jul 8 22:34:35 UTC 2015


I doubt it would ever be useful.
For gcc, just test for 4.2.1.
For clang, what specific feature do you need to test for?

Do you have a specific use case in mind?

This strikes me as a really bad idea absent some use case that has a real example behind it.

Warner

> On Jul 8, 2015, at 4:28 PM, Adrian Chadd <adrian.chadd at gmail.com> wrote:
> 
> hi,
> 
> ok. would it be possible to add a blessed way to say "this is the
> freebsd modified compiler in-tree" ?
> 
> I'd like to see / play around with more external-toolchain driven
> building and using it for port bringups.
> 
> Thanks,
> 
> 
> -adrian
> 
> 
> On 8 July 2015 at 15:22, Pedro Giffuni <pfg at freebsd.org> wrote:
>> 
>> 
>> On 07/08/15 17:04, Adrian Chadd wrote:
>>> 
>>> Is there a blessed way to see whether the compiler we're using is an
>>> external compiler, or an internal one?
>> 
>> 
>> No blessed way: you still have to determine the version of
>> the external compiler for most purposes anyways.
>> The internal compiler (even clang) always reports itself
>> as gcc 4.2.
>> 
>>> eg, the version check isn't enough - it's just a number. how do I know
>>> if it's freebsd clang versus upstream clang?
>>> (Or in my instance, freebsd-gcc versus upstream-gcc.)
>> 
>> 
>> If the compiler reports itself as gcc >= 4.3 it is surely an
>> external compiler. The tricky part is that our internal gcc
>> supports some gcc 4.3 flags and Apple extensions
>> (blocks), but those are not causing a problem AFAICT.
>> 
>> Pedro.
>> 
>> 
>>> 
>>> -a
>>> 
>>> 
>>> On 8 July 2015 at 14:09, Pedro Giffuni <pfg at freebsd.org> wrote:
>>>> 
>>>> 
>>>> On 07/08/15 13:36, Luigi Rizzo wrote:
>>>>> 
>>>>> Author: luigi
>>>>> Date: Wed Jul  8 18:36:37 2015
>>>>> New Revision: 285284
>>>>> URL: https://svnweb.freebsd.org/changeset/base/285284
>>>>> 
>>>>> Log:
>>>>>    only enable immintrin when clang is used. The base gcc does not
>>>>> support
>>>>> it.
>>>>>       Reviewed by:      delphij
>>>>> 
>>>>> Modified:
>>>>>    head/lib/liblzma/config.h
>>>>> 
>>>>> Modified: head/lib/liblzma/config.h
>>>>> 
>>>>> 
>>>>> ==============================================================================
>>>>> --- head/lib/liblzma/config.h   Wed Jul  8 18:12:24 2015
>>>>> (r285283)
>>>>> +++ head/lib/liblzma/config.h   Wed Jul  8 18:36:37 2015
>>>>> (r285284)
>>>>> @@ -150,7 +150,8 @@
>>>>>   #define HAVE_ICONV 1
>>>>>     /* Define to 1 if you have the <immintrin.h> header file. */
>>>>> -#if defined(__FreeBSD__) && defined(__amd64__)
>>>>> +/* FreeBSD - only with clang because the base gcc does not support it
>>>>> */
>>>>> +#if defined(__clang__) && defined(__FreeBSD__) && defined(__amd64__)
>>>>>   #define HAVE_IMMINTRIN_H 1
>>>>>   #endif
>>>>> 
>>>> FWIW, gcc 4.3+ does have it so this may some undesired (but hidden)
>>>> effect when building with an external gcc.
>>>> 
>>>> Pedro.
>>>> 
>> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20150708/77360b28/attachment.bin>


More information about the svn-src-head mailing list