月別アーカイブ: 2013年5月

GCCでのビルドを強制する方法

FreeBSDは9.1-Rでも独自にビルドすれば、clangをデフォルトコンパイラとすることができます。しかし、全てのportsがclangでコンパイルできる状態ではなくいくつかはgccでコンパイルする必要がでてきます。

そこで、特定のportsだけをgccでビルドする設定を/etc/make.confに書いてみました。

PORTSDIR=/usr/ports
GCC_BUILD_PORTS_LIST = \
sysutils/lsof

.if defined(GCC_BUILD_PORTS_LIST)
.for _DIR in ${GCC_BUILD_PORTS_LIST}
.if ${.CURDIR} == ${PORTSDIR}/${_DIR}
USE_GCC=4.2+
.endif
.endfor
.endif

GCC_BUILD_PORTS_LISTにgccでビルドするportsのリストを作成するとそのportsのコンパイル時に USE_GCC=4.2+ のオプションを付加します。

FreeBSDの標準で入るgccは4.2ですので、それ以降のバージョンのgccを使用してくれます。