[asterisk-bugs] [JIRA] (ASTERISK-25591) [patch] Complete List of Header Files (#include): iwyu
Rusty Newton (JIRA)
noreply at issues.asterisk.org
Mon Nov 30 09:49:33 CST 2015
[ https://issues.asterisk.org/jira/browse/ASTERISK-25591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rusty Newton updated ASTERISK-25591:
------------------------------------
Component/s: Core/BuildSystem
> [patch] Complete List of Header Files (#include): iwyu
> ------------------------------------------------------
>
> Key: ASTERISK-25591
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-25591
> Project: Asterisk
> Issue Type: New Feature
> Security Level: None
> Components: Core/BuildSystem
> Reporter: Alexander Traud
> Severity: Trivial
> Attachments: iwyu.patch
>
>
> Recently, I had to add a new module. Therefore, I had to list all its header files. Thanks to the Clang support added in May 2015, one can use the Google project include-what-you-use ([iwyu|http://include-what-you-use.org/]) with Asterisk now.
> For example, in Ubuntu 14.04 LTS:
> {{sudo apt-get -y install build-essential libssl-dev libncurses-dev libnewt-dev libxml2-dev libsqlite3-dev uuid-dev libjansson-dev libblocksruntime-dev git iwyu}}
> {{cd /usr/src/}}
> {{git clone http://gerrit.asterisk.org/asterisk}}
> {{cd asterisk/}}
> {{./configure}}
> {{make}}
> {{include-what-you-use -fblocks -DAST_MODULE=NULL -DAST_MODULE_SELF=NULL -I$PWD/include res/res_format_attr_opus.c}}
> Asterisk uses the two proxy/wrapper headers {{asterisk/compat.h}} and {{asterisk/astmm.h}} which should never be included. Instead, {{asterisk.h}} should be used. To automate this, I had to add three [pragma statements|http://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md]. With the attached patch, iwyu works out of the box. If more headers should never be included, Asterisk team, please say so!
> Thanks to iwyu, the list of header files was a simple copy-and-paste experience. Hopefully, this helps others to create better lists of header files, too. Therefore, please, consider this change/feature for inclusion.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list