[poky] [PATCH] meta: Add support for GTK+-3.0 static libraries

Khem Raj raj.khem at gmail.com
Wed Jul 5 15:46:05 PDT 2017


On Wed, Jul 5, 2017 at 3:39 PM, Burton, Ross <ross.burton at intel.com> wrote:
>> +                 --enable-static \
>
>
> GTK+ for many years has explicitly disabled static libraries, which is why
> you need to override that here.  That is my first hint that this may not be
> right.
>

we also have DISABLE_STATIC now a days. It might be better to turn it into
a pckageconfig which is disabled by default.

>> +FILES_${PN}-staticdev = " \
>> +                        ${libdir}/*.a \
>> +                        ${libdir}/gtk-3.0/${LIBV}/immodules/*.a \
>> +                        ${libdir}/gtk-3.0/${LIBV}/printbackends/*.a"
>> +
>
>
> So PN-staticdev contains the *static library* forms of the *dynamically
> loaded at runtime modules* for input methods and printer backends.  These
> will never be used, as GTK+ always loads them at runtime using dlopen.
>
>>
>> -    immodules = do_split_packages(d, immodules_root, '^im-(.*)\.so$',
>> 'gtk3-immodule-%s', 'GTK input module for %s')
>> +    immodules = do_split_packages(d, immodules_root,
>> '^im-(.*)\.(?:so|a)$', 'gtk3-immodule-%s', 'GTK input module for %s')
>
>
> But here you're putting the static library forms of the input methods
> modules into gtk3-immodule-*.  Whatever one they actually end up in depends
> on the order of PACKAGES.
>
>>
>> -    do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$',
>> 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
>> +    do_split_packages(d, printmodules_root,
>> '^libprintbackend-(.*)\.(?:so|a)$', 'gtk3-printbackend-%s', 'GTK
>> printbackend module for %s')
>
>
> Ditto.  What package did you want to put the files in?
>
> Anyway, debating the location of the static libraries is meaningless as
> they'll never be used, as they're runtime loadable modules.  In an ideal
> world libtool wouldn't make static libraries for modules but it does.
>
> *If* you want to support a static build of GTK+ then there are ways you can
> make it sort of work, but this is not it.  Look up
> --with-included-immodules, --disable-modules, etc in the GTK+ documentation,
> and pass those.  You should end up with a static gtk+ which contains all the
> input method modules builtin, but as far as I know printing will still be
> broken.
>
> Ross
>
> --
> _______________________________________________
> poky mailing list
> poky at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
>


More information about the poky mailing list