What Ole said.

This requires careful thought for impact to downstream API users.

Chris.

> -----Original Message-----
> From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On
> Behalf Of Ole Troan
> Sent: Monday, November 20, 2017 8:17 AM
> To: Dave Barach (dbarach) <dbar...@cisco.com>
> Cc: vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] Import/includes in .api files
> 
> > Since the beginning of time, we've been running .api files through the C
> preprocessor. Put all of your "typeonly..." definitions in a file, and 
> #include it.
> Should work immediately.
> 
> But not for any of the other language bindings...
> 
> Ole
> 
> >
> > Thanks to Damjan, there's only one copy of the suffix rule, in 
> > .../src/suffix-
> rules.mk. Here's the relevant rule:
> >
> > %.api.h: %.api @VPPAPIGEN@
> >     @echo "  APIGEN  " $@ ;                                 \
> >     mkdir -p `dirname $@` ;                                 \
> >     $(CC) $(CPPFLAGS) -E -P -C -x c $<                      \
> >     | @VPPAPIGEN@ --input - --output $@ --show-name $@ > /dev/null
> >
> > HTH… Dave
> >
> > -----Original Message-----
> > From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io]
> On Behalf Of Neale Ranns (nranns)
> > Sent: Monday, November 20, 2017 3:28 AM
> > To: vpp-dev@lists.fd.io
> > Subject: [vpp-dev] RFC: Import/includes in .api files
> >
> >
> > Hi All,
> >
> > I’d like to be able to re-use types defined in one .api file in many other 
> > .api
> files. My specific objective is to re-use a fib_path_t across the many APIs 
> that
> describe a destination to which to send packets.
> >
> > My first attempt at this is:
> >  https://gerrit.fd.io/r/#/c/9489/
> >
> > I updated vppapigen to accept the keyword ‘import’, munch the
> subsequent string, and then generate the #include in the resulting .api.h.
> then the fun started… multiple type definitions, include guards, here be
> dragons, turn back now and seek assistance.
> > I later realised that an import statement is not required. If I create
> vnet/fib/fib.api and add it to vnet_all_api_h.h at the top, then that has some
> success. However, no import statement is not so friendly to other tools that
> parse the .api files.
> >
> > So an RFC that is really an RFH; how is it best to approach this?
> >
> > Regards,
> > Neale
> >
> >
> > _______________________________________________
> > vpp-dev mailing list
> > vpp-dev@lists.fd.io
> > https://lists.fd.io/mailman/listinfo/vpp-dev
> > _______________________________________________
> > vpp-dev mailing list
> > vpp-dev@lists.fd.io
> > https://lists.fd.io/mailman/listinfo/vpp-dev

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to