svn commit: r285284 - head/lib/liblzma

Pedro Giffuni pfg at FreeBSD.org
Wed Jul 8 22:26:56 UTC 2015



On 07/08/15 17:18, Dimitry Andric wrote:
> Check whether the path starts with /usr/bin, maybe?  Normally, you would
> check for the existence of a random header in a configure script.  But
> from within a C source file, it's not that easy.
>
> That said, immintrin.h is available for all usable versions of clang,
> and should be available in all versions of gcc >= 4.4 (at least, if I
> read gcc's commit history correctly).  And gcc in base is definitely not
> 4.4. :-)

Ahh yes, it's probably gcc 4.4 (I stopped following their changes
long ago). Our internal gcc carries a couple of headers that were
introduced in gcc 4.3 before the license change.

Pedro.

> -Dimitry
>
>> On 09 Jul 2015, at 00:04, Adrian Chadd <adrian.chadd at gmail.com> wrote:
>>
>> Is there a blessed way to see whether the compiler we're using is an
>> external compiler, or an internal one?
>>
>> 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.)
>>
>>
>> -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.
>>>



More information about the svn-src-head mailing list