[OE-core] [PATCH 00/29] Add gobject introspection support to oe-core
Alexander Kanavin
alexander.kanavin at linux.intel.com
Wed Nov 11 13:48:19 UTC 2015
On 11/11/2015 03:34 PM, Mark Hatle wrote:
> Also has anyone looked at the .typelib information and determined if any of it
> is available via direct inspection via readelf, dwarf interpretation or other
> method that does not require execution? Is there a definition of the .typelib
> information anywhere and some simple examples of how its generated by the
> runtime objects? (To pursue this, the way forward is to determine a way to
> generate the .typelib by reading the chosen binaries in some way -- and then
> running a 'ptest' like check that the generated and runtime versions result in
> the same data.)
You can simply take a look at any of the .gir files: they are XMLs that
are used to generate typelibs and contain essentially the same information.
I think it's totally unrealistic to extract all the high-level OOP
semantics from .so libraries with readelf and friends.
For instance, gstreamer pipelines:
<class name="Bin"
c:symbol-prefix="bin"
c:type="GstBin"
parent="Element"
glib:type-name="GstBin"
glib:get-type="gst_bin_get_type"
glib:type-struct="BinClass">
<implements name="ChildProxy"/>
<constructor name="new" c:identifier="gst_bin_new">
<return-value transfer-ownership="none">
<type name="Element" c:type="GstElement*"/>
</return-value>
<parameters>
<parameter name="name"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the name of the new bin</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="add_element">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
...
etc etc etc.
Alex
More information about the Openembedded-core
mailing list