On Wed, Feb 28, 2024 at 10:20:50PM -0800, Dima Kogan wrote:
> Thanks for replying. I'll revert the changes.
> > ... however, I will say it's very strange to ship a shared library,
> > that has a public shlibs file, and has a -dev package that depends on
> > it, but the headers shipped in that -dev package are NOT the
> > authoritative api for that library?

> That's how I did it, and while it sounds odd, I believe this is right.
> The public interface is

>   vnl-gen-header ... > generated.h

> and

>   #include "generated.h"

> The generated header contains some user-facing macros that call the
> functions in vnlog.h with specific arguments. That's the API. From the
> compiler's perspective, the functions declared in vnlog.h are the
> interface, and the ABI in those symbols must be stable, and putting them
> into the .symbols file is appropriate. Let me know if I'm doing
> something wrong.

What I'm unclear on is why you don't run vnl-gen-header at build time and
output the "generated" header in the -dev package with a comprehensive
description of all the ABI entry points?

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org

Attachment: signature.asc
Description: PGP signature

Reply via email to