Dave Mielke <[email protected]> writes:
> So, in fact, Speech Dispatcher's own .pc file isn't specifying the new
> include
> subdirectory.
There seems to be some disagreement about how to do pkg-config files for
libraries.
Some libraries do not add the library-specific subdirectory to the
include path, and you are supposed to use it in the #include directive.
A few quick examples that I find while looking around on my system are
libao, gnutls, and libcurl.
For instance, the relevant bits from libcurl's .pc file:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
*SNIP*
Cflags: -I${includedir}
You're expected to use
#include <curl/curl.h>
Same goes for libao and gnutls.
But the other convention includes the library-specific subdirectory in
the include path. An example is GLib:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
*SNIP*
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include
And you can just #include <glib.h>.
I don't know which is standard. The first seems to be better, because
it gives you namespaces for header names. My libfoo/types.h won't
conflict with your libbar/types.h.
With the 0.8 series of Speech Dispatcher, all of the headers moved down
into /usr/include/speech-dispatcher.
This is also when the pkg-config file was added.
The first convention was adopted, either implicitly or explicitly.
With version 0.8.4, they added the library-specific subdirectory back to
the include path, so you could do
#include <libspeechd.h>
once again, just like you could do in versions 0.7.x and prior, when
there was only one header and it was under /usr/include.
-- Chris
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://mielke.cc/mailman/listinfo/brltty