FreeBSD Daily Topics

2013年6月19日/etc/make.confでのビルドオプション活用

ports

Configuring options in make.conf

/etc/make.confでPorts Colletionのビルドオプションを指定してある場合、2013年6月14日に追加された変更で従来と挙動が変更されましたので注意しておいてください(/usr/ports/UPDATING: 20130614⁠⁠。

Ports Collectionからアプリケーションやライブラリをビルドする場合、ビルド時にオプションを指定するダイアログが起動するものがあります(環境変数BATCHを設定してあると起動してきません)。一旦オプションを設定すると、以降はオプションを聞かれなくなります。今回、この機能が/etc/make.confでオプションの上書きがある場合にも適用されるようになりました。ports側に新しくオプションが追加されるなどの変更がない限り、オプション設定のダイアログは表示されなくなります。

/etc/make.confでどのような指定ができるかは/usr/ports/Mk/bsd.options.mkに説明があります。たとえば、次のようにオプションを指定しておくことができます。指定されたオプションは、オプションダイアログの表示に反映されます。

### NVIDIA
. if ${.CURDIR} == "/usr/ports/graphics/mesa-demos"
OPTIONS_SET=		NVIDIA
. endif

. if ${.CURDIR} == "/usr/ports/graphics/cairo"
OPTIONS_SET=		OPENGL
. endif

. if ${.CURDIR} == "/usr/ports/x11-toolkits/vte"
OPTIONS_SET=		GLX
. endif

### Applications and Libraries
. if ${.CURDIR} == "/usr/ports/converters/libiconv"
OPTIONS_SET=		PATCHES
. endif

. if ${.CURDIR} == "/usr/ports/editors/vim"
OPTIONS_UNSET=		X11
. endif

. if ${.CURDIR} == "/usr/ports/net/rsync"
OPTIONS_SET=		ICONV
. endif

. if ${.CURDIR} == "/usr/ports/sysutils/conky"
OPTIONS_SET=		XFT
. endif
.endif

OPTIONS_SETに有効にするオプション、OPTIONS_UNSETに無効にするオプションを指定します。オプションは空白やタブ区切りで複数指定できます。

Ports Collectionにおけるオプション指定はこれまでに進められてきた取り組みで、従来のようにフレームワークのない状態から、フレームワークを設けて整理したものへ変更されています。古い指定方法で/etc/make.confを記述してある場合、/usr/ports/Mk/bsd.options.mkを読みながら最新の指定方法へ変更してみてください。

おすすめ記事

記事・ニュース一覧