[PATCH]: creating la files also for static libraries

Thiago Macieira thiago at kde.org
Wed Oct 26 03:19:51 CEST 2005


Ralf Habacker wrote:
>Are there any other types beside shared (including module, kioslave and
> so one)  and static (including convencience) ?

There are only two types: modules and shared libraries. Both ioslaves and 
kdeinit programs are modules.

>> >Would be fine for me too. BTW, do you also think about removing
>> > requirement for .la files in libltdl? In case of kdelibs3 ("qmake"
>> > times) I was just copying .la files to win32 partition to make sure
>> > KTrader can find KDE services. Maybe, in that case, .desktop files
>> > are enough.
>>
>> libltdl should be able to find the modules without the .la files, I
>> hope.
>
>not on windows for versioned libraries. How do libltdl could find a
> library libkdecore-6.dll, when the requested name is kdecore and not
> symlinks are used ? Only by a directory search which require additional
> time and may lead to the wrong results, if more than one library
> version is installed.

You can't load libraries with libltdl (more to the point, you shouldn't 
and we won't). Modules aren't versioned at all, even on Unix. The only 
versioning they have is the fact that they are in a kde3/ or kde4/ subdir 
($KDEDIR/lib/kde3 on Unix).

>Or does anyone have a better idea ?

No versioning, just like on Unix modules.

>> KTrader should have a compile-time constant that sets the
>> platform-defined suffix for loadable modules (dll, so, dylib, etc.),
>> so that it can check whether the file pointed to by a .desktop file
>> actually exists.
>>
>> Aside from that, the .la files are a convenience for the build system,
>> in that they can check for a library's existence by verifying that the
>> .la file exists: in that case, we could have empty .la files just to
>> tag, but I wouldn't want them to be installed or have any content.
>
>Why not ? If any other external KDE applications uses autotools based
>buildsystem it requires valid libtool files.May be it be also good to
> support pkgconfig too for the similar reasons.

Well, we won't install empty files. That's pointless, especially if it'll 
confuse other projects' libtool.

However, libtool does not require the .la file. It can link fine to system 
libraries (-lkdecore). Same for pkgconfig: the .la file is completely 
unnecessary.

So we're back to my point: .la are used to:
1) track static library dependency
2) "symlink" to the versioned binary file

We won't use #2 for modules. As for #1, I think I asked a while ago if 
Win32/cygwin/mingw can already cope with indirect dependencies. I think 
you guys told me it was ok.

There's also a reason against installing .la: it creates package 
dependencies, by pathname no less.
-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

5. Swa he géanhwearf tó timbran, and hwonne he cóm, lá! Unix cwæð "Hello, 
World". Ǽfre ǽghwilc wæs glæd and seo woruld wæs fréo.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20051026/bb9a999b/attachment.pgp


More information about the Kde-buildsystem mailing list