Android port problems

Matúš Kukan matus.kukan at gmail.com
Fri May 18 00:58:52 PDT 2012


On 17 May 2012 14:56, David Tardon <dtardon at redhat.com> wrote:
>>
>> On Thu, 2012-05-17 at 12:22 +0300, Tor Lillqvist wrote:
>> > libraries into fewer. There is an option for that already,
>> > --enable-mergelibs, that merges quite a large number of them into one,
>> > libmergedlo.so. This works only for libraries in gbuildified modules,
>> > built in tail_build.
>> ...
>> > Anyway, this indeed has helped a lot. But not enough. I am not sure if
>> > the number of libraries merged this way can be easily increased much
>> > at this stage of gbuildification.

I don't know what is much but it can be easily increased I think.
At least conditionally for Android.

Originally I understood we want to merge libraries which are "always used".
I have a year old list of libraries (attached) where I also mark the
status of modules.
It was created by starting ./soffice --calc ./soffice --writer ... 5
different runs.
'5    ucpgvfs1.uno.so             ->    ucb              <- GNU      <- TAIL'
says that the library was loaded 5 times (always) and is from
tail_build's module ucb.

But currently we are merging also fwl and fwm which are not used at
the start of Libreoffice.
I think we can merge these only for Android and also add more small
component libs like fileacc.
Attached patch.

The simple rules for adding:
- library needs to be from tail_build
- It must not create circular dependencies because of linking chains

> All these modules are candidates for adding into tail_build (adding of
> connectivity immediately allows adding of other modules: svl, sot,
> unixODBC). And I think there will be a couple of other candidates after
> these three branches are all merged into master.

shell/, unotools/. (Well, we need to move crashrep/ behind tail_build)
Next blocker would be pyuno, blocking sax.

Actually I have created patch based on feature/gbuild_conversions which
adds fsstorage, svl, sot and vcl to libmerged. I am waiting for the merge.
But vcl is big, if there are problems with linking..

Best,
Matus
-------------- next part --------------
5    ucpgvfs1.uno.so             ->    ucb              <- GNU      <- TAIL
5    stocservices.uno.so         ->    stoc             <- GNU
5    localebe1.uno.so            ->    shell            <- GNU      <- TAIL
5    libxolo.so                  ->    xmloff           <- GNU      <- TAIL
5    libxmlreader.so             ->    xmlreader        <- GNU
5    libxml2.so.2                ->    libxml2          <- EXT
5    libxcrlo.so                 ->    xmlscript        <- GNU      <- TAIL
5    libvclplug_gtklo.so         ->    vcl		        <- GNU      <- TAIL
5    libvclplug_genlo.so         ->    vcl		        <- GNU      <- TAIL
5    libvcllo.so                 ->    vcl		        <- GNU      <- TAIL
5    libuuilo.so                 ->    uui              <- GNU      <- TAIL
5    libutllo.so                 ->    unotools		    <- GNU
5    libuno_sal.so.3             ->    sal		        <- GNU
5    libuno_salhelpergcc3.so.3   ->    salhelper		<- GNU
5    libuno_cppu.so.3            ->    cppu		        <- GNU
5    libuno_cppuhelpergcc3.so.3  ->    cppuhelper		<- GNU
5    libucpfile1.so              ->    ucb              <- GNU      <- TAIL
5    libucbhelper4gcc3.so        ->    ucbhelper        <- GNU
5    libucb1.so                  ->    ucb              <- GNU      <- TAIL
5    libtllo.so                  ->    tools		    <- GNU
5    libtklo.so                  ->    toolkit		    <- GNU      <- TAIL
5    libsvxlo.so                 ->    svx		        <- GNU      <- TAIL
5    libsvxcorelo.so             ->    svx		        <- GNU      <- TAIL
5    libsvtlo.so                 ->    svtools		    <- GNU      <- TAIL
5    libsvllo.so                 ->    svl		        <- GNU      <- TAIL
5    libstore.so.3               ->    store            <- GNU
5    libstdc++.so.6              ->    external         <- EXT
5    libspllo.so                 ->    desktop          <- GNU      <- TAIL
5    libsotlo.so                 ->    sot		        <- GNU      <- TAIL
5    libsofficeapp.so            ->    desktop          <- GNU      <- TAIL
5    libsfxlo.so                 ->    sfx2		        <- GNU      <- TAIL
5    libsblo.so                  ->    basic            <- GNU      <- TAIL
5    libsaxlo.so                 ->    sax              <- GNU
5    libreg.so.3                 ->    registry         <- GNU
5    libpixman-1.so.0            ->    cairo            <- EXT
5    libpackage2.so              ->    package          <- GNU      <- TAIL
5    liblocaledata_en.so         ->    i18npool         <- GNU
5    liblnglo.so                 ->    linguistic       <- GNU      <- TAIL
5    libjvmfwk.so.3              ->    jvmfwk           <- GNU
5    libjvmaccessgcc3.so.3       ->    jvmaccess        <- GNU
5    libicuuc.so.44              ->    icu              <- EXT
5    libicule.so.44              ->    icu              <- EXT
5    libicui18n.so.44            ->    icu              <- EXT
5    libi18nutilgcc3.so          ->    i18nutil         <- GNU
5    libi18npaperlo.so           ->    i18npool         <- GNU
5    libi18nisolang1gcc3.so      ->    i18npool         <- GNU
5    libgcc_s.so.1               ->    external         <- EXT
5    libgcc3_uno.so              ->    bridges
5    libfwklo.so                 ->    framework	    <- GNU      <- TAIL
5    libfwilo.so                 ->    framework	    <- GNU      <- TAIL
5    libfwelo.so                 ->    framework	    <- GNU      <- TAIL
5    libfilterconfig1.so         ->    filter           <- GNU      <- TAIL
5    libeditenglo.so             ->    editeng          <- GNU      <- TAIL
5    libdrawinglayerlo.so        ->    drawinglayer	    <- GNU      <- TAIL
5    libdesktop_detectorlo.so    ->    vcl		        <- GNU      <- TAIL
5    libdeploymentmisclo.so      ->    desktop          <- GNU      <- TAIL
5    libdb-4.7.so                ->    berkeleydb       <- EXT
5    libcppcanvaslo.so           ->    cppcanvas        <- GNU      <- TAIL
5    libcomphelpgcc3.so          ->    comphelper	    <- GNU
5    libcanvastoolslo.so         ->    canvas           <- GNU      <- TAIL
5    libcairo.so.2               ->    cairo            <- EXT
5    libbasegfxlo.so             ->    basegfx          <- GNU
5    libavmedialo.so             ->    avmedia          <- GNU      <- TAIL
5    i18npool.uno.so             ->    i18npool         <- GNU
5    gconfbe1.uno.so             ->    shell            <- GNU      <- TAIL
5    fsstorage.uno.so            ->    svl		        <- GNU      <- TAIL
5    desktopbe1.uno.so           ->    shell            <- GNU      <- TAIL
5    configmgr.uno.so            ->    configmgr		<- GNU      <- TAIL
5    bootstrap.uno.so            ->    stoc             <- GNU
----------------------------------------------------------------------------
4    sax.uno.so                  ->    sax              <- GNU
4    libmsfilterlo.so            ->    filter           <- GNU      <- TAIL
3    ucpexpand1.uno.so           ->    ucb              <- GNU      <- TAIL
3    reflection.uno.so           ->    stoc             <- GNU
3    libxstor.so                 ->    package          <- GNU      <- TAIL
3    libxslt.so.1                ->    libxslt          <- EXT
3    libunoxmllo.so              ->    unoxml		    <- GNU      <- TAIL
3    libmcnttype.so              ->    dtrans           <- GNU      <- TAIL
3    libhelplinkerlo.so          ->    l10ntools        <- GNU
3    libfileacc.so               ->    fileaccess	    <- GNU      <- TAIL
3    introspection.uno.so        ->    stoc             <- GNU
3    deploymentlo.uno.so         ->    desktop          <- GNU      <- TAIL
2    libvbahelperlo.so           ->    vbahelper	    <- GNU      <- TAIL
2    libsdlo.so                  ->    sd		        <- GNU      <- TAIL
2    libooxlo.so                 ->    oox		        <- GNU      <- TAIL
1    libswlo.so                  ->    sw		        <- GNU      <- TAIL
1    libswdlo.so                 ->    sw		        <- GNU      <- TAIL
1    libspelllo.so               ->    lingucomponent	<- GNU      <- TAIL
1    libsduilo.so                ->    sd		        <- GNU      <- TAIL
1    libscnlo.so                 ->    extensions       <- GNU      <- TAIL
1    libsclo.so                  ->    sc		        <- GNU      <- TAIL
1    liblnthlo.so                ->    lingucomponent	<- GNU      <- TAIL
1    libhyphenlo.so              ->    lingucomponent	<- GNU      <- TAIL
1    libfwllo.so                 ->    framework	    <- GNU      <- TAIL
1    libforuilo.so               ->    formula		    <- GNU      <- TAIL
1    libforlo.so                 ->    formula		    <- GNU      <- TAIL
1    libdbulo.so                 ->    dbaccess		    <- GNU      <- TAIL
1    libdbtoolslo.so             ->    connectivity     <- GNU      <- TAIL
1    libdbaxmllo.so              ->    dbaccess		    <- GNU      <- TAIL
1    libdbalo.so                 ->    dbaccess		    <- GNU      <- TAIL
1    libanimcore.so              ->    animations       <- GNU      <- TAIL
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-merge-more-libraries-for-android.patch
Type: application/octet-stream
Size: 2113 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120518/a37a719c/attachment-0001.obj>


More information about the LibreOffice mailing list