Re: How to find out the API coverage of Perl bindings



On 12.07.2009 18:15, Torsten Schoenfeld wrote:
nm --defined-only --extern-only blib/arch/auto/Champlain/Champlain.so |
grep XS
nm --defined-only --extern-only /usr/lib/libchamplain-0.3.so | grep -v
'_get_type'

You could run `nm --undefined-only` on your bindings' Champlain.so to
get a list of external symbols used. Apart perhaps from stuff from glibc
and the Glib and Gtk2 bindings, these will exactly be those functions in
libchamplain that you wrap.

I just tried this for Gtk2, and it works pretty well:

nm --defined-only --extern-only \
  /opt/gnome/lib/libgdk-x11-2.0.so \
  /opt/gnome/lib/libgdk_pixbuf-2.0.so \
  /opt/gnome/lib/libgtk-x11-2.0.so \
    | grep -v _libgtk_only \
    | grep -v _marshal_ \
    | cut -d " " -f 3 \
    | sort > wanted-api

nm --undefined-only blib/arch/auto/Gtk2/Gtk2.so \
  | grep -v GLIBC \
  | grep -v pthread_ \
  | grep -v Perl_ \
  | grep -v gperl_ \
  | grep -v gtk2perl_ \
  | cut -d " " -f 11 \
  | sort > wrapped-api



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]