Date: Wed, 08 Jul 2015 17:22:38 -0500 From: Pedro Giffuni <pfg@FreeBSD.org> To: Adrian Chadd <adrian.chadd@gmail.com> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r285284 - head/lib/liblzma Message-ID: <559DA2AE.2090202@FreeBSD.org> In-Reply-To: <CAJ-Vmo=m0Y%2BE0oi5ec5RzyziqObOj=fKY1K-8HzqK8x7D_TcKg@mail.gmail.com> References: <201507081836.t68IacJu069563@repo.freebsd.org> <559D9172.9040305@FreeBSD.org> <CAJ-Vmo=m0Y%2BE0oi5ec5RzyziqObOj=fKY1K-8HzqK8x7D_TcKg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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. >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?559DA2AE.2090202>