Am Mittwoch 27 September 2006 00:30 schrieb Hendrik Sattler:
> From pkg-config manpage:
>       Libs.private:
>               This line should list any private libraries in use.  Private
>               libraries are libraries which are not exposed through your
>               library, but are needed in the case of static linking.
>
> The purpose of this option is exactly what I mentioned. It is present since
> pkg-config 0.18 (current is 0.21).

Using
Requires.private: bluez libusb
also works but it would not be right as the --libs output should contain 
exactly what you used for linking:
# readelf -d /usr/lib/libopenobex.so.1.3.0

Dynamic section at offset 0x7014 contains 22 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libusb-0.1.so.4]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

Ups, you do not even link to -lbluetooth. So the pkg-config file is even more 
wrong. You only use it for the apps. Try it out:
$ objdump -T /usr/lib/libopenobex.so.1.3.0 | grep UND
(or use nm -D)
There are not symbols from -lbluetooth.
So letting all application that use libopenobex link against -lbluetooth is 
double-wrong.

Probably best (always using _exactly_ the same libs as done for the lib):
Libs.private: @USB_LIBS@

HS

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Openobex-users mailing list
Openobex-users@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/openobex-users

Reply via email to