154d6
![]() |
|
|
|
|
|||||||
| Feedback Share your ideas, questions or suggestions with us here. |
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
||||
|
||||
|
I turned on clang for everything today. It seems to compile big ports like Firefox (even with optimizations turned on), gtk, and Qt just fine. With its faster compilation speed it would be more than worthy for ports.
My guess is that there are very few ports that require gcc specifically and these can easily be made to depend on a gcc port. |
|
#2
|
||||
|
||||
|
Quote:
__________________
I don't work here.... either. SHUT UP AND HACK! dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) } http://lists.freebsd.org/pipermail/freebsd-stable/2011-January/061078.html |
| The Following User Says Thank You to UNIXgod For This Useful Post: | ||
jotawski (August 6th, 2012) | ||
|
#3
|
|||
|
|||
|
Quote:
Known port problems
__________________
Zhoopin (ʒuːpiːn) - Meri - Mehrshad Moslehi |
|
#4
|
|||
|
|||
|
Quote:
http://llvm.org/bugs/show_bug.cgi?id=11212 |
|
#5
|
|||
|
|||
|
I've got an SandyBridge Xeon and can't boot using a GEOM_ELI partition if I enable processor optimization.
Using clang for ports isn't hard to configure right now, and there also is the WITH_CLANG_IS_CC build option. IMO it makes little sense right now to drop gcc from base because it's (1) not really broken and (2) a dependency for quite a lot of key ports, including Qt named by the op which depends on libicu and devel/binutils which both require gcc, first due to bugs in clang and later due to poor code. |
|
#6
|
||||
|
||||
|
Quote:
I think gcc should be dropped from base eventually since gcc 4.2 is very old and clang will eventually work flawlessly on a majority of software (not that gcc 4.2 works perfectly either ... a recent firefox had problems for example). Besides, clang is newer technology. It's exciting! |
|
#7
|
|||
|
|||
|
While it's exciting, one also needs to take care not to brake anything (this means brake as little as possible), because in a production environment, it's quite interesting to have stuff braking all of a sudden.
I have to second @xibo here. |
|
#8
|
|||
|
|||
|
libicu can indeed be compiled by clang, but the compiled version will not work. See ports/170051.
FreeBSD official releases are supposed to work as described in the handbook, without tuning or downloading or even writing patches. For an exiting experience, there is STABLE and especially HEAD
|
|
#9
|
||||
|
||||
|
Quote:
I'd agree, except that many ports are patched to compile and run on FreeBSD as it is. Many of them were even patched to compile with clang. This is mostly hidden from us though
|
|
#10
|
|||
|
|||
|
Is it possible to enable clang on a port-by-port basis? Apart from manually setting the CC (etc...) on the make install line?
|
|
#11
|
|||
|
|||
|
Quote:
Code:
# ...
SHALL_USE_CLANG=YES
BLACKLIST += converters/recode
BLACKLIST += devel/binutils
BLACKLIST += devel/valgrind
BLACKLIST += emulators/virtualbox-ose
BLACKLIST += multimedia/libxine
BLACKLIST += sysutils/cdrtools
.for port in ${BLACKLIST}
. if ${.CURDIR:M*/${port}*}
. warning blacklisting ${port}
SHALL_USE_CLANG=NO
. endif
.endfor
# ...
.if defined (SHALL_USE_CLANG) && ${SHALL_USE_CLANG} == YES
. if !defined (CC) || ${CC} == "cc"
CC = clang
. endif
. if !defined (CPP) || ${CPP} == "cpp"
CPP = clang-cpp
. endif
. if !defined (CXX) || ${CXX} == "c++"
CXX = clang++
. endif
.endif
|
| The Following User Says Thank You to xibo For This Useful Post: | ||
ericturgeon (August 12th, 2012) | ||
|
#12
|
|||
|
|||
|
Quote:
Note that some ports which are depended on a lot fail with clang which means that the testing done is incomplete. Last edited by eadler@; August 15th, 2012 at 18:29. Reason: explain a bit more |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [Solved] LLVM/Clang - Default compiler in FreeBSD 9? | frooyo | General | 12 | December 23rd, 2011 10:00 |
| Can we use clang instead of gcc now ? | sw2wolf | General | 1 | August 9th, 2011 07:28 |
| [Solved] gnome2 install from ports with the default options | roelof | Installation and Maintenance of FreeBSD Ports or Packages | 4 | July 18th, 2011 06:34 |
| (Benchmarks) To clang or not to clang | falkman | General | 2 | July 15th, 2011 08:10 |
| bind9 from ports or default? | klabacita | Web & Network Services | 3 | February 4th, 2009 10:43 |