看板 FB_ports 關於我們 聯絡資訊
On Thu, Jun 26, 2014 at 10:38 AM, Nathan Whitehorn <nwhitehorn@freebsd.org> wrote: > On 06/26/14 08:44, Baptiste Daroussin wrote: >> >> On Thu, Jun 26, 2014 at 08:35:14AM -0700, Nathan Whitehorn wrote: >>> >>> On 06/26/14 03:02, Alexey Dokuchaev wrote: >>>> >>>> On Wed, Jun 25, 2014 at 07:23:05AM -0700, Justin Hibbits wrote: >>>>> >>>>> As I mentioned earlier, you can set "FAVORITE_COMPILER=gcc" in >>>>> make.conf, and it'll build with gcc47. >>>> >>>> FAVORITE_COMPILER looks more like a hack to me. Ideally boost's port >>>> Makefile should be fixed instead. >>>> >>>> I also would rather use system compiler (whether it's gcc4.2 or clang) >>>> instead of gcc47. >>>> >>>> ./danfe >>>> >>> Yes, it should be made to respect whatever cc is. >> >> As long as cc is supported upstream, boost being a nightmare to maintain I >> will >> reject all patches that are not accepted upstream first, otherwise bumping >> to >> 1.56 will be painful. >> >> That said I fully support the effort. >> >> regards, >> Bapt > > > The following patch fixes the issue for me (as well as several other ports). > I'll let you decide whether this is how you want to handle the problem. > -Nathan > > Index: Mk/Uses/compiler.mk > =================================================================== > --- Mk/Uses/compiler.mk (revision 358026) > +++ Mk/Uses/compiler.mk (working copy) > @@ -75,7 +75,9 @@ > ALT_COMPILER_TYPE= none > _ALTCCVERSION= > .if ${COMPILER_TYPE} == gcc && exists(/usr/bin/clang) > +.if ${ARCH} == amd64 || ${ARCH} == i386 # clang often non-default for a > reason > _ALTCCVERSION!= /usr/bin/clang --version > +.endif > .elif ${COMPILER_TYPE} == clang && exists(/usr/bin/gcc) > _ALTCCVERSION!= /usr/bin/gcc --version > .endif > @@ -138,7 +140,7 @@ > > .if ${_COMPILER_ARGS:Mc++11-lang} > .if !${COMPILER_FEATURES:Mc++11} > -.if defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc > +.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} > != amd64 || ${ARCH} != i386) # clang not always supported on Tier-2 > USE_GCC= yes > CHOSEN_COMPILER_TYPE= gcc > .elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 33) || > ${COMPILER_TYPE} == gcc > bapt mentioned a while back about separating the concept of the 'base compiler' and 'ports compiler'. Perhaps we need to explore this again. It should be possible to mark ports as being dependencies for the ports compiler, and all other ports would get built by said compiler, while those are built by the base compiler. This way we can take advantage of any enhancements we might get with a newer compiler (like better altivec support and autovectorization from newer gcc, better optimizations, etc). - Justin _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"