|
转载请注明 [url=http://bbs.cnetbsd.org]http://bbs.cnetbsd.org 类似于ports中的“make config”和“make config-recursive”命令,pkgsrc也有“make show-options”命令可以做到显示和间接配置编译参数的作用 在任一pkgsrc软件目录下,用
命令即可得到此软件支持的所有编译参数、默认参数、目前编译时所用参数 如果我们想修改默认编译参数的话就在“make”后面、要执行的操作(例如:show-options、install、package……)前面加上
即如
以inputmethod/uim为例 cd /usr/pgksrc/inputmethod/uim make show-options 得到如下信息显示 Any of the following general options may be selected: 表示此软件包默认的编译参数是“anthy canna gtk”,当前的编译参数是“anthy canna gtk”,所有可用的编译参数是“anthy canna eb gtk qt”。如果要改变编译参数的话就 make PKG_OPTIONS.uim="qt -canna" install 这就会在默认参数的基础上去掉“canna”支持,并添加“qt”的支持。此时软件的所用编译参数就会变为“anthy gtk qt”。如果你想确认一下的话,就可以用 make PKG_OPTIONS.uim="qt -canna" show-options 来查看 “PKG_OPTIONS.packagename”变量用于对单个软件指定编译参数。如果想对pkgsrc里的所有支持同一参数的软件都使用某个参数的话,可以使用“PKG_DEFAULT_OPTIONS”变量。具体用法类似“PKG_OPTIONS.packagename” 即如
因为此变量是针对pkgsrc里所有软件,所以一般都是写进mk.conf,而不在命令行里单独使用。但是如何使用还在于个人选择,我只是提供一点小看法 同样,类似于ports可在make.conf添加“WITH_DVD=yes”之类参数类似。pkgsrc也可在mk.conf添加预定制参数,避免每次编译此软件时都手工输入PKG_OPTIONS.packagename="options1 options2…… -options1 -options2……" 如果想对pkgsrc里的某一软件使用某个参数的话。就在mk.conf里添加
例如,我想在编译wget时去掉ipv6的支持,以及支持ssl。就在mk.conf里添加
如上所述,如果想对pkgsrc里的所有支持同一参数的软件都使用某个参数的话。就在mk.conf里添加
例如,我想让所有支持用户可定制选项的软件都不编译ipv6的支持和debug的支持,就在mk.conf里添加
当然,并非所有软件都有选项可以订制。只有部分支持用户可定制选项的软件可通过此法定制 所有参数以及详细解释可以在/usr/pkgsrc/mk/defaults/options.description里找到。当然,更好的选择是在要安装的软件的目录下执行“make show-options”,以便确定所有可用参数 关于“=”“+=”“?=”的具体区别和意义请参阅相关文档 [ 本帖最后由 cnhnln 于 2007-1-6 00:20 编辑 ] 查看全部评论(0)我来说两句 |
用非标准参数编译(定制)pkgsrc里的软件
发布时间: 2008-6-28 18:21 作者: cnhnln 来源: http://www.chinaunix.net
