Hi,

On Sun, Oct 06, 2019 at 09:55:25PM +1100, Duncan Roe wrote:
> Hi Pablo,
> 
> On Mon, Sep 30, 2019 at 04:17:53PM +0200, Pablo Neira Ayuso wrote:
> > On Wed, Sep 25, 2019 at 03:14:19PM +0200, Fernando Fernandez Mancera wrote:
> > > Currently clang requires EXPORT_SYMBOL() to be above the function
> > > implementation. At the same time doxygen is not generating the proper
> > > documentation because of that.
> > >
> > > This patch solves that problem but EXPORT_SYMBOL looks less like the Linux
> > > kernel way exporting symbols.
> >
> > Applied, thanks.
> 
> I missed this earlier - take a look at the man pages / html doc with this 
> patch.
> 
> E.g. man attr:
> 
> > attr(3)                             libmnl                            
> > attr(3)
> >
> >
> >
> > NAME
> >        attr - Netlink attribute helpers
> >
> >    Functions
> >        EXPORT_SYMBOL uint16_t mnl_attr_get_type (const struct nlattr *attr)
> >        EXPORT_SYMBOL uint16_t mnl_attr_get_len (const struct nlattr *attr)
> >        EXPORT_SYMBOL uint16_t mnl_attr_get_payload_len (const struct nlattr
> >            *attr)
> >        EXPORT_SYMBOL void * mnl_attr_get_payload (const struct nlattr *attr)
> >        EXPORT_SYMBOL bool mnl_attr_ok (const struct nlattr *attr, int len)
> 
> The web pages are the same.
> 
> Shunting all the EXPORT_SYMBOL lines to the start of the file as in my 
> rejected
> patch might have been ugly, but at least it left the documentation looking as 
> it
> should.
> 
> I just finished making a patch for libnetfilter_queue using the redefined
> EXPORT_SYMBOL as above but taking care to avoid generating lines over 80 chars
> and preserving (or fixing!) alignment of subsequent parameter lines. But I 
> won't
> submit it, because it results in the same horrible documentation.
> 
> I think it should be not too onerous to move the EXPORT_SYMBOL lines to before
> the start of documentation, which should satisfy both doxygen adn clang. Would
> you like me to go ahead with that?

Just sent you a patch for libmnl to remove the EXPORT_SYMBOL from the
doxygen output.
>From f8b59f25120d992ceb31b153ff297f308cf517f0 Mon Sep 17 00:00:00 2001
From: Pablo Neira Ayuso <pa...@netfilter.org>
Date: Sun, 6 Oct 2019 19:45:29 +0200
Subject: [PATCH] libmnl: doxygen: remove EXPORT_SYMBOL from the output

Add input filter to remove the internal EXPORT_SYMBOL macro that turns
on the compiler visibility attribute.

Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
---
 doxygen.cfg.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doxygen.cfg.in b/doxygen.cfg.in
index ee8fdfae97ce..31f01028aff6 100644
--- a/doxygen.cfg.in
+++ b/doxygen.cfg.in
@@ -77,7 +77,7 @@ EXAMPLE_PATH           =
 EXAMPLE_PATTERNS       = 
 EXAMPLE_RECURSIVE      = NO
 IMAGE_PATH             = 
-INPUT_FILTER           = 
+INPUT_FILTER           = "sed 's/EXPORT_SYMBOL//g'"
 FILTER_PATTERNS        = 
 FILTER_SOURCE_FILES    = NO
 SOURCE_BROWSER         = YES
-- 
2.11.0

Reply via email to