четверг, 30 июня 2011 г.

Сборка FreeBSD-9 с помощью Clang

Сборка FreeBSD-9 с помощью Clang
Clang является фронэндом к LVM и призван заменить gcc в базовой системе. Сейчас же по умолчанию сборка как системы, так и портов ведется с помощью далеко не самой свежей версии gcc.

Согласно http://wiki.freebsd.org/BuildingFreeBSDWithClang для переключения на clang нужно прописать в /etc/make.conf
.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
# Don't die on warnings
NO_WERROR=
WERROR=
# Don't forget this when using Jails!
NO_FSCHG=
Однако, это имеет побочный эффект в виде использования clang в том числе и для сборки портов. Если это не то, что нам нужно, немного подправим конфиг, добавив дополнительное условие:

.if empty(.CURDIR:M/usr/ports/*)
.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
.endif
Таким образом clang будет использоваться только если текущая директория не начинается с /usr/ports

http://blog.bsd-root.com/2011/05/freebsd-9-clang.html

Комментариев нет:

Отправить комментарий