为Nginx的Configure添加配置参数--with-lcov

 

需求:

若为Nginx添加lcov的相关功能,需要在configure的时候配置参数:

 --with-cc-opt="-fprofile-arcs -ftest-coverage" --with-ld-opt=-lgcov

但是,叔度提出,每次configure都要写这些参数,太麻烦,能不能直接写一个--with-lcov就解决问题呢?

因此,后面的解决方案就是为Nginx的Configure添加配置参数--with-lcov,实现于2011年12月。

 

解决方案:

首先分析nginx源码的configure文件,从里面去查看configure的时候,是由哪里代码负责处理配置参数的。

最后发现,配置参数的读取及设置,是在nginx源码的auto文件夹内的option文件内处理的。

下面的代码贴出与--with-cc-opt, --with-ld-opt相关的处理代码:

// 设置lcov相关变量参数

NGX_CC_OPT=

NGX_LD_OPT=

// 根据配置参数,设置NGX_CC_OPT与NGX_LD_OPT的值

--with-cc-opt=*)                 NGX_CC_OPT="$value"        ;;

--with-ld-opt=*)                 NGX_LD_OPT="$value"        ;;

// help方法内对--with-cc-opt和--with-ld-opt参数的说明

--with-cc-opt=OPTIONS              set additional options for C compiler

--with-ld-opt=OPTIONS              set additional options for linker

 

看过源码内对--wiht-cc-opt与--with-ld-opt的设置之后,可以很轻易的想到,增加一个--with-lcov参数之后,

只要将--with-cc-opt和--with-ld-opt设置成固定值就ok了。

因此,解决方案如下:

// 设置--with-lcov的变量参数

NGX_LCOV=NO

// 根据配置参数,设置NGX_LCOV的值

--with-lcov)                     NGX_LCOV=YES               ;;

// 编写help方法内对--with-lcov参数的说明

--with-lcov                        enable lcov, the valid values:

--with-cc-opt=\"-fprofile-arcs -ftest-coverage\"

--with-ld-opt=-lgcov

// 根据NGX_LCOV的值,对NGX_CC_OPTNGX_LD_OPT进行设置

if [ $NGX_LCOV = YES ]; then

NGX_CC_OPT="-fprofile-arcs -ftest-coverage"

NGX_LD_OPT=-lgcov

fi

 

 

最后,所有工作就此完成。在configure的时候,只需要配置参数为--with-lcov,就能完成lcov的配置工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值