Re: [Lazarus] [OT] About licences

2011-04-14 Thread Graeme Geldenhuys
On 13/04/2011 08:38, t.wieckow...@gmail.com wrote:
 I'm wondering about one thing, Can I do (at all) application with
 closed source, by Linux ?
 I ask because I saw what dependencies the empty project have:
 
   linux-vdso.so.1 =  (0x7cdff000)
...[snip lots of dependencies]...


Yes of course, but in the case of desktop applications, as you have
realized, there is a huge dependency list. This is the negative aspect
of using the larger libraries like Qt, GTK etc... At some point you
application will stop working because a standard install of whatever
Linux distro might not supply the correct dependencies out of the box.

Alternatively, make sure you use a toolkit that has *much less
dependencies*. This is exactly why I started the fpGUI Toolkit project.
Our applications are very lite when it comes to dependencies, so have
a greater chance of still running many years from now. Even the reverse
is possible, we can run todays application on a ten year old Linux
distro without problems too (we actually tested this, using Suse 8 
Suse 9).

Compare a default fpGUI application dependencies against what you
posted. This dependency can be further reduced by switching to non
anti-aliased fonts - but that just makes applications look ugly. :)


$ ldd project1
linux-vdso.so.1
libX11.so.6 = /usr/lib64/libX11.so.6
libXft.so.2 = /usr/lib64/libXft.so.2
libc.so.6 = /lib64/libc.so.6
libfontconfig.so.1 = /usr/lib64/libfontconfig.so.1
libxcb.so.1 = /usr/lib64/libxcb.so.1
libdl.so.2 = /lib64/libdl.so.2
libgcc_s.so.1 = /lib64/libgcc_s.so.1
libfreetype.so.6 = /usr/lib64/freetype.../libfreetype.so.6
libXrender.so.1 = /usr/lib64/libXrender.so.1
/lib64/ld-linux-x86-64.so.2
libexpat.so.1 = /lib64/libexpat.so.1
libXau.so.6 = /usr/lib64/libXau.so.6





Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] [OT] About licences

2011-04-14 Thread Graeme Geldenhuys
On 13/04/2011 08:38, t.wieckow...@gmail.com wrote:
 I'm wondering about one thing, Can I do (at all) application with
 closed source, by Linux ?
 I ask because I saw what dependencies the empty project have:


Interpreting your email slightly different to my previous reply. The
answer is again yes, you can create commercial closed-source apps for
Linux. Those dependencies you listed, are runtime dependencies, and not
staticly linked into your application. So the LGPL license allows you to
keep your application source code closed-sourced. This is exactly why
LGPL was created - giving you the freedom to use various LGPL licensed
libraries with ease, even in closed-source apps.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Michael Van Canneyt


Hi,

due to some other topic discussed on the mailing list, I thought I'd check
the dependencies of a simple lazarus project. The result is shown below.

I did this similar exercise a year or two ago, and the result has more than
tripled !

I wonder, why all these dependencies ?? 
I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect 
(to name but a few), why do I need those ?


Besides making it more difficult to run a binary on another PC, 
I hate to think what this does to the startup time of a binary.


At some time, the KDE project tried to reduce startup time of their binaries
by redefining their APIs so shared libs would load faster.

Looking at the below list, I think it is high time that Lazarus does the same.
If this means that some GTK import units must be split up in pieces, then I'll be 
glad to take this task on me.


Michael.

Simple Lazarus app (GTK2) dependencies:

linux-vdso.so.1 =  (0x7fff6b231000)
libpthread.so.0 = /lib/libpthread.so.0 (0x7fed28a87000)
libdl.so.2 = /lib/libdl.so.2 (0x7fed28883000)
libX11.so.6 = /usr/lib/libX11.so.6 (0x7fed2854c000)
libgdk_pixbuf-2.0.so.0 = /usr/lib/libgdk_pixbuf-2.0.so.0 
(0x7fed2833)
libgtk-x11-2.0.so.0 = /usr/lib/libgtk-x11-2.0.so.0 (0x7fed27d0e000)
libgdk-x11-2.0.so.0 = /usr/lib/libgdk-x11-2.0.so.0 (0x7fed27a6)
libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0x7fed27818000)
libglib-2.0.so.0 = /lib/libglib-2.0.so.0 (0x7fed2753a000)
libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0x7fed27334000)
libgmodule-2.0.so.0 = /usr/lib/libgmodule-2.0.so.0 (0x7fed2713)
libpango-1.0.so.0 = /usr/lib/libpango-1.0.so.0 (0x7fed26ee6000)
libatk-1.0.so.0 = /usr/lib/libatk-1.0.so.0 (0x7fed26cc4000)
libcairo.so.2 = /usr/lib/libcairo.so.2 (0x7fed26a41000)
libc.so.6 = /lib/libc.so.6 (0x7fed266be000)
/lib64/ld-linux-x86-64.so.2 (0x7fed28cc8000)
libxcb.so.1 = /usr/lib/libxcb.so.1 (0x7fed264a1000)
libgio-2.0.so.0 = /usr/lib/libgio-2.0.so.0 (0x7fed261ee000)
librt.so.1 = /lib/librt.so.1 (0x7fed25fe6000)
libm.so.6 = /lib/libm.so.6 (0x7fed25d62000)
libXext.so.6 = /usr/lib/libXext.so.6 (0x7fed25b5)
libXrender.so.1 = /usr/lib/libXrender.so.1 (0x7fed25946000)
libXinerama.so.1 = /usr/lib/libXinerama.so.1 (0x7fed25742000)
libXi.so.6 = /usr/lib/libXi.so.6 (0x7fed25532000)
libXrandr.so.2 = /usr/lib/libXrandr.so.2 (0x7fed25329000)
libXcursor.so.1 = /usr/lib/libXcursor.so.1 (0x7fed2511e000)
libpangocairo-1.0.so.0 = /usr/lib/libpangocairo-1.0.so.0 
(0x7fed24f11000)
libXcomposite.so.1 = /usr/lib/libXcomposite.so.1 (0x7fed24d0e000)
libXdamage.so.1 = /usr/lib/libXdamage.so.1 (0x7fed24b0a000)
libXfixes.so.3 = /usr/lib/libXfixes.so.3 (0x7fed24904000)
libpangoft2-1.0.so.0 = /usr/lib/libpangoft2-1.0.so.0 
(0x7fed246da000)
libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0x7fed24453000)
libz.so.1 = /lib/libz.so.1 (0x7fed2423c000)
libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0x7fed24007000)
libpcre.so.3 = /lib/libpcre.so.3 (0x7fed23dd8000)
libpixman-1.so.0 = /usr/lib/libpixman-1.so.0 (0x7fed23b7f000)
libdirectfb-1.2.so.0 = /usr/lib/libdirectfb-1.2.so.0 
(0x7fed238fb000)
libfusion-1.2.so.0 = /usr/lib/libfusion-1.2.so.0 (0x7fed236f1000)
libdirect-1.2.so.0 = /usr/lib/libdirect-1.2.so.0 (0x7fed234d8000)
libpng12.so.0 = /lib/libpng12.so.0 (0x7fed232b)
libxcb-render-util.so.0 = /usr/lib/libxcb-render-util.so.0 
(0x7fed230ac000)
libxcb-render.so.0 = /usr/lib/libxcb-render.so.0 (0x7fed22ea3000)
libXau.so.6 = /usr/lib/libXau.so.6 (0x7fed22c9e000)
libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0x7fed22a98000)
libresolv.so.2 = /lib/libresolv.so.2 (0x7fed2287f000)
libselinux.so.1 = /lib/libselinux.so.1 (0x7fed2266)
libexpat.so.1 = /lib/libexpat.so.1 (0x7fed22437000)


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Mattias Gaertner
On Thu, 14 Apr 2011 09:33:03 +0200 (CEST)
Michael Van Canneyt mich...@freepascal.org wrote:

 
 Hi,
 
 due to some other topic discussed on the mailing list, I thought I'd check
 the dependencies of a simple lazarus project. The result is shown below.
 
 I did this similar exercise a year or two ago, and the result has more than
 tripled !
 
 I wonder, why all these dependencies ?? 
 I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect 
 (to name but a few), why do I need those ?

These are used by the gtk2 libs and vary by system.
For example on ubuntu 64bit there is no libfusion, libdirectfb,
libdirect.

You can check yourself:
ldd /usr/lib/libgtk-x11-2.0.so.0

So, any gtk2 program uses them.

 Besides making it more difficult to run a binary on another PC, 
 I hate to think what this does to the startup time of a binary.

If there is already another gtk program running the libs are already
loaded.

 
 At some time, the KDE project tried to reduce startup time of their binaries
 by redefining their APIs so shared libs would load faster.
 
 Looking at the below list, I think it is high time that Lazarus does the same.
 If this means that some GTK import units must be split up in pieces, then 
 I'll be 
 glad to take this task on me.
 
 Michael.
 
 Simple Lazarus app (GTK2) dependencies:
 
  linux-vdso.so.1 =  (0x7fff6b231000)
  libpthread.so.0 = /lib/libpthread.so.0 (0x7fed28a87000)
  libdl.so.2 = /lib/libdl.so.2 (0x7fed28883000)
  libX11.so.6 = /usr/lib/libX11.so.6 (0x7fed2854c000)
  libgdk_pixbuf-2.0.so.0 = /usr/lib/libgdk_pixbuf-2.0.so.0 
 (0x7fed2833)
  libgtk-x11-2.0.so.0 = /usr/lib/libgtk-x11-2.0.so.0 
 (0x7fed27d0e000)
  libgdk-x11-2.0.so.0 = /usr/lib/libgdk-x11-2.0.so.0 
 (0x7fed27a6)
  libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 
 (0x7fed27818000)
  libglib-2.0.so.0 = /lib/libglib-2.0.so.0 (0x7fed2753a000)
  libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 
 (0x7fed27334000)
  libgmodule-2.0.so.0 = /usr/lib/libgmodule-2.0.so.0 
 (0x7fed2713)
  libpango-1.0.so.0 = /usr/lib/libpango-1.0.so.0 (0x7fed26ee6000)
  libatk-1.0.so.0 = /usr/lib/libatk-1.0.so.0 (0x7fed26cc4000)
  libcairo.so.2 = /usr/lib/libcairo.so.2 (0x7fed26a41000)
  libc.so.6 = /lib/libc.so.6 (0x7fed266be000)
  /lib64/ld-linux-x86-64.so.2 (0x7fed28cc8000)
  libxcb.so.1 = /usr/lib/libxcb.so.1 (0x7fed264a1000)
  libgio-2.0.so.0 = /usr/lib/libgio-2.0.so.0 (0x7fed261ee000)
  librt.so.1 = /lib/librt.so.1 (0x7fed25fe6000)
  libm.so.6 = /lib/libm.so.6 (0x7fed25d62000)
  libXext.so.6 = /usr/lib/libXext.so.6 (0x7fed25b5)
  libXrender.so.1 = /usr/lib/libXrender.so.1 (0x7fed25946000)
  libXinerama.so.1 = /usr/lib/libXinerama.so.1 (0x7fed25742000)
  libXi.so.6 = /usr/lib/libXi.so.6 (0x7fed25532000)
  libXrandr.so.2 = /usr/lib/libXrandr.so.2 (0x7fed25329000)
  libXcursor.so.1 = /usr/lib/libXcursor.so.1 (0x7fed2511e000)
  libpangocairo-1.0.so.0 = /usr/lib/libpangocairo-1.0.so.0 
 (0x7fed24f11000)
  libXcomposite.so.1 = /usr/lib/libXcomposite.so.1 
 (0x7fed24d0e000)
  libXdamage.so.1 = /usr/lib/libXdamage.so.1 (0x7fed24b0a000)
  libXfixes.so.3 = /usr/lib/libXfixes.so.3 (0x7fed24904000)
  libpangoft2-1.0.so.0 = /usr/lib/libpangoft2-1.0.so.0 
 (0x7fed246da000)
  libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0x7fed24453000)
  libz.so.1 = /lib/libz.so.1 (0x7fed2423c000)
  libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 
 (0x7fed24007000)
  libpcre.so.3 = /lib/libpcre.so.3 (0x7fed23dd8000)
  libpixman-1.so.0 = /usr/lib/libpixman-1.so.0 (0x7fed23b7f000)
  libdirectfb-1.2.so.0 = /usr/lib/libdirectfb-1.2.so.0 
 (0x7fed238fb000)
  libfusion-1.2.so.0 = /usr/lib/libfusion-1.2.so.0 
 (0x7fed236f1000)
  libdirect-1.2.so.0 = /usr/lib/libdirect-1.2.so.0 
 (0x7fed234d8000)
  libpng12.so.0 = /lib/libpng12.so.0 (0x7fed232b)
  libxcb-render-util.so.0 = /usr/lib/libxcb-render-util.so.0 
 (0x7fed230ac000)
  libxcb-render.so.0 = /usr/lib/libxcb-render.so.0 
 (0x7fed22ea3000)
  libXau.so.6 = /usr/lib/libXau.so.6 (0x7fed22c9e000)
  libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0x7fed22a98000)
  libresolv.so.2 = /lib/libresolv.so.2 (0x7fed2287f000)
  libselinux.so.1 = /lib/libselinux.so.1 (0x7fed2266)
  libexpat.so.1 = /lib/libexpat.so.1 (0x7fed22437000)

If you find one that can be omitted please tell.

Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org

Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread michael . vancanneyt



On Thu, 14 Apr 2011, zeljko wrote:


On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:

Hi,

due to some other topic discussed on the mailing list, I thought I'd check
the dependencies of a simple lazarus project. The result is shown below.

I did this similar exercise a year or two ago, and the result has more than
tripled !

I wonder, why all these dependencies ??
I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect
(to name but a few), why do I need those ?


You don't but gtk does (or cairo or some xlib).


Hm. I did a quick check:

fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
44
fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
31

So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct 
framebuffer
access, which is total nonsense in a X environment.

Well, this reminds me why I use KDE and not Gnome.

How complete/stable is the Qt version of the LCL, and what version of Qt is 
needed ?

Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Sven Barth

I'll comment on libraries that might not be clear:

Am 14.04.2011 09:33, schrieb Michael Van Canneyt:

Simple Lazarus app (GTK2) dependencies:

linux-vdso.so.1 = (0x7fff6b231000)
libpthread.so.0 = /lib/libpthread.so.0 (0x7fed28a87000)
libdl.so.2 = /lib/libdl.so.2 (0x7fed28883000)
libX11.so.6 = /usr/lib/libX11.so.6 (0x7fed2854c000)
libgdk_pixbuf-2.0.so.0 = /usr/lib/libgdk_pixbuf-2.0.so.0
(0x7fed2833)
libgtk-x11-2.0.so.0 = /usr/lib/libgtk-x11-2.0.so.0 (0x7fed27d0e000)
libgdk-x11-2.0.so.0 = /usr/lib/libgdk-x11-2.0.so.0 (0x7fed27a6)
libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0x7fed27818000)
libglib-2.0.so.0 = /lib/libglib-2.0.so.0 (0x7fed2753a000)
libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0x7fed27334000)
libgmodule-2.0.so.0 = /usr/lib/libgmodule-2.0.so.0 (0x7fed2713)



libpango-1.0.so.0 = /usr/lib/libpango-1.0.so.0 (0x7fed26ee6000)
libatk-1.0.so.0 = /usr/lib/libatk-1.0.so.0 (0x7fed26cc4000)
libcairo.so.2 = /usr/lib/libcairo.so.2 (0x7fed26a41000)


These three are needed by GTK. Pango is (basically) the font backend, 
Cairo is the drawing backend while ATK is needed to provide 
accessibility features



libc.so.6 = /lib/libc.so.6 (0x7fed266be000)
/lib64/ld-linux-x86-64.so.2 (0x7fed28cc8000)
libxcb.so.1 = /usr/lib/libxcb.so.1 (0x7fed264a1000)
libgio-2.0.so.0 = /usr/lib/libgio-2.0.so.0 (0x7fed261ee000)
librt.so.1 = /lib/librt.so.1 (0x7fed25fe6000)
libm.so.6 = /lib/libm.so.6 (0x7fed25d62000)
libXext.so.6 = /usr/lib/libXext.so.6 (0x7fed25b5)
libXrender.so.1 = /usr/lib/libXrender.so.1 (0x7fed25946000)
libXinerama.so.1 = /usr/lib/libXinerama.so.1 (0x7fed25742000)
libXi.so.6 = /usr/lib/libXi.so.6 (0x7fed25532000)
libXrandr.so.2 = /usr/lib/libXrandr.so.2 (0x7fed25329000)
libXcursor.so.1 = /usr/lib/libXcursor.so.1 (0x7fed2511e000)



libpangocairo-1.0.so.0 = /usr/lib/libpangocairo-1.0.so.0
(0x7fed24f11000)


Pango uses Cairo as a backend as well.


libXcomposite.so.1 = /usr/lib/libXcomposite.so.1 (0x7fed24d0e000)
libXdamage.so.1 = /usr/lib/libXdamage.so.1 (0x7fed24b0a000)
libXfixes.so.3 = /usr/lib/libXfixes.so.3 (0x7fed24904000)



libpangoft2-1.0.so.0 = /usr/lib/libpangoft2-1.0.so.0 (0x7fed246da000)


Pango uses FreeType to retrieve font informations (see next library).


libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0x7fed24453000)
libz.so.1 = /lib/libz.so.1 (0x7fed2423c000)



libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0x7fed24007000)


This is needed to look for fonts installed in the system.


libpcre.so.3 = /lib/libpcre.so.3 (0x7fed23dd8000)


Needed by glib2.


libpixman-1.so.0 = /usr/lib/libpixman-1.so.0 (0x7fed23b7f000)


Lowlevel graphic operations, needed by cairo (can be compiled statically 
as well)



libdirectfb-1.2.so.0 = /usr/lib/libdirectfb-1.2.so.0 (0x7fed238fb000)


Seems that direct FrameBuffer rendering was enabled for GTK or Cairo... 
so normally not needed.



libfusion-1.2.so.0 = /usr/lib/libfusion-1.2.so.0 (0x7fed236f1000)
libdirect-1.2.so.0 = /usr/lib/libdirect-1.2.so.0 (0x7fed234d8000)


I don't know about these two.


libpng12.so.0 = /lib/libpng12.so.0 (0x7fed232b)


This is needed by Cairo.


libxcb-render-util.so.0 = /usr/lib/libxcb-render-util.so.0
(0x7fed230ac000)
libxcb-render.so.0 = /usr/lib/libxcb-render.so.0 (0x7fed22ea3000)
libXau.so.6 = /usr/lib/libXau.so.6 (0x7fed22c9e000)
libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0x7fed22a98000)
libresolv.so.2 = /lib/libresolv.so.2 (0x7fed2287f000)



libselinux.so.1 = /lib/libselinux.so.1 (0x7fed2266)


I don't know why this one is in there


libexpat.so.1 = /lib/libexpat.so.1 (0x7fed22437000)


This is a XML library and used by fontconfig.

Regards,
Sven

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Mattias Gaertner
On Thu, 14 Apr 2011 09:47:57 +0200 (CEST)
michael.vancann...@wisa.be wrote:

 
 
 On Thu, 14 Apr 2011, zeljko wrote:
 
  On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:
  Hi,
 
  due to some other topic discussed on the mailing list, I thought I'd check
  the dependencies of a simple lazarus project. The result is shown below.
 
  I did this similar exercise a year or two ago, and the result has more than
  tripled !
 
  I wonder, why all these dependencies ??
  I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect
  (to name but a few), why do I need those ?
 
  You don't but gtk does (or cairo or some xlib).
 
 Hm. I did a quick check:
 
 fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
 44
 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
 31
 So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct 
 framebuffer
 access, which is total nonsense in a X environment.

The gnome projects likes to split libs in smaller modules.
The number of libs is not that important. The size is more important:

A gtk2 program:
ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
14932491

A qt program:
ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
53583219

So Qt uses about 50MB, GTK uses 15MB.

 
 Well, this reminds me why I use KDE and not Gnome.
 
 How complete/stable is the Qt version of the LCL, and what version of Qt is 
 needed ?

It is quite stable. It works well under KDE, not so well under Gnome.
But this is not the fault of the LCL qt interface, but of QT.

Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread zeljko
On Thursday 14 of April 2011 09:56:47 Mattias Gaertner wrote:

 
 It is quite stable. It works well under KDE, not so well under Gnome.
 But this is not the fault of the LCL qt interface, but of QT.

What's not so well under Gnome ? I guess that you have problem with metacity 
behaviour (or maybe with compiz, but gtk2 also have big trouble with it). Here 
it works ok under KDE, Xfce, WindowMaker,IceWM.

zeljko

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread michael . vancanneyt



On Thu, 14 Apr 2011, Mattias Gaertner wrote:


On Thu, 14 Apr 2011 09:47:57 +0200 (CEST)
michael.vancann...@wisa.be wrote:




On Thu, 14 Apr 2011, zeljko wrote:


On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:

Hi,

due to some other topic discussed on the mailing list, I thought I'd check
the dependencies of a simple lazarus project. The result is shown below.

I did this similar exercise a year or two ago, and the result has more than
tripled !

I wonder, why all these dependencies ??
I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion, libdirect
(to name but a few), why do I need those ?


You don't but gtk does (or cairo or some xlib).


Hm. I did a quick check:

fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
44
fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
31
So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct 
framebuffer
access, which is total nonsense in a X environment.


The gnome projects likes to split libs in smaller modules.
The number of libs is not that important. The size is more important:

A gtk2 program:
ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
14932491

A qt program:
ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
53583219

So Qt uses about 50MB, GTK uses 15MB.


I get quite a different count:

fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c
7172681
fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
9804745

7 vs. 9 Mb. Just for the Qt/Gtk library.

And that only size matters is not quite correct: for each library the number
of symbols in the libraries must be resolved. 
The more libraries must be resolved, the more work there is for the linker.


That was the main issue in KDE: to reduce the number of symbols to be
resolved. This meant, less libraries.

Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Marco van de Voort
In our previous episode, Michael Van Canneyt said:
 At some time, the KDE project tried to reduce startup time of their binaries
 by redefining their APIs so shared libs would load faster.

I thought the KDE problem was that their shared libs interfaced at the C++
level, exporting huge amounts of symbols per lib?

(something that we would get too with packages btw)
 

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Metafile support

2011-04-14 Thread Felipe Monteiro de Carvalho
On Thu, Apr 14, 2011 at 12:14 AM, Hans-Peter Diettrich
drdiettri...@aol.com wrote:
 Rendering text in WMF files requires to remember the last specified font,
 that applies to all subsequent output. For other metafile formats it may be
 desireable to check given font parameters, and to reuse an previously
 specified font.

I still see no problem. We can simply start with a default font and
then pass the entire file calculating the resulting font for each
object/draw operation and store that font in it's data.

Consider the following Metafile:

SetFontWidth(X);
DrawArc();
SetFontColor(Y);
DrawCircle;

In my representation it is:

Arc with FontWidth=X and FontColor=default
Circle with FontWidth=X and FontColor=Y

The way that the data is represented is different, but the screen
output will be the same. But now I follow up what you mean: Yes, my
data model is different from the Metafile data model, but it is
equivalent.

Surely fpvectorial could be changed to use the Metafile data model
internally, but this also has drawbacks for other formats.

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Sven Barth

Am 14.04.2011 10:17, schrieb michael.vancann...@wisa.be:



On Thu, 14 Apr 2011, Mattias Gaertner wrote:


On Thu, 14 Apr 2011 09:47:57 +0200 (CEST)
michael.vancann...@wisa.be wrote:




On Thu, 14 Apr 2011, zeljko wrote:


On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:

Hi,

due to some other topic discussed on the mailing list, I thought
I'd check
the dependencies of a simple lazarus project. The result is shown
below.

I did this similar exercise a year or two ago, and the result has
more than
tripled !

I wonder, why all these dependencies ??
I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion,
libdirect
(to name but a few), why do I need those ?


You don't but gtk does (or cairo or some xlib).


Hm. I did a quick check:

fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
44
fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
31
So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to
direct framebuffer
access, which is total nonsense in a X environment.


The gnome projects likes to split libs in smaller modules.
The number of libs is not that important. The size is more important:

A gtk2 program:
ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
14932491

A qt program:
ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
53583219

So Qt uses about 50MB, GTK uses 15MB.


I get quite a different count:

fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c
7172681
fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
9804745

7 vs. 9 Mb. Just for the Qt/Gtk library.



But libgdk does not contain all dependencies that a GTK application 
needs (can't comment on QT though).



And that only size matters is not quite correct: for each library the
number
of symbols in the libraries must be resolved. The more libraries must be
resolved, the more work there is for the linker.

That was the main issue in KDE: to reduce the number of symbols to be
resolved. This meant, less libraries.


Regards,
Sven

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread michael . vancanneyt



On Thu, 14 Apr 2011, Sven Barth wrote:


Am 14.04.2011 10:17, schrieb michael.vancann...@wisa.be:



On Thu, 14 Apr 2011, Mattias Gaertner wrote:


On Thu, 14 Apr 2011 09:47:57 +0200 (CEST)
michael.vancann...@wisa.be wrote:




On Thu, 14 Apr 2011, zeljko wrote:


On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:

Hi,

due to some other topic discussed on the mailing list, I thought
I'd check
the dependencies of a simple lazarus project. The result is shown
below.

I did this similar exercise a year or two ago, and the result has
more than
tripled !

I wonder, why all these dependencies ??
I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion,
libdirect
(to name but a few), why do I need those ?


You don't but gtk does (or cairo or some xlib).


Hm. I did a quick check:

fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
44
fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
31
So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to
direct framebuffer
access, which is total nonsense in a X environment.


The gnome projects likes to split libs in smaller modules.
The number of libs is not that important. The size is more important:

A gtk2 program:
ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
14932491

A qt program:
ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
53583219

So Qt uses about 50MB, GTK uses 15MB.


I get quite a different count:

fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c
7172681
fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
9804745

7 vs. 9 Mb. Just for the Qt/Gtk library.



But libgdk does not contain all dependencies that a GTK application needs 
(can't comment on QT though).


Indeed. for GTK, the problem is bigger:

fsb: ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
10646417

It needs 10Mb, more than the Qt lib.

And I checked: the LCL app loads exactly the same list of libraries as the 
GTK lib itself. I don't have an LCL Qt app to compare with.


Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Metafile support

2011-04-14 Thread Felipe Monteiro de Carvalho
On Thu, Apr 14, 2011 at 10:48 AM, Felipe Monteiro de Carvalho
felipemonteiro.carva...@gmail.com wrote:
 Surely fpvectorial could be changed to use the Metafile data model
 internally, but this also has drawbacks for other formats.

Actually I am quite divided about which is the best model to use =)

Metafile is faster to draw

The list of Entities is easier to manipulate, because each entity can
be modified independently.

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Felipe Monteiro de Carvalho
On Thu, Apr 14, 2011 at 11:14 AM,  michael.vancann...@wisa.be wrote:
 fsb: ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
 10646417

 And I checked: the LCL app loads exactly the same list of libraries as the
 GTK lib itself. I don't have an LCL Qt app to compare with.

You forgot to count libgtk-x11-2.0.so
ldd on gtk-x11 does not count gtk-x11 itself

Another difference for me was:

libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0xb7004000)

 It needs 10Mb, more than the Qt lib.

No way, why do you think that /usr/lib/libqt-mt uses all Qt libs? In
fact it uses *zero* other Qt libs =D

Here is what an LCL-Qt app uses:

[felipe@localhost httpclient]$ ldd readhttpheaders
linux-gate.so.1 =  (0xe000)
libQt4Pas.so.5 = /usr/lib/libQt4Pas.so.5 (0xb7602000)
libX11.so.6 = /usr/lib/libX11.so.6 (0xb74d)
libdl.so.2 = /lib/libdl.so.2 (0xb74cc000)
libc.so.6 = /lib/i686/libc.so.6 (0xb737a000)
libQtWebKit.so.4 = /usr/lib/libQtWebKit.so.4 (0xb630b000)
libQtGui.so.4 = /usr/lib/libQtGui.so.4 (0xb588)
libQtNetwork.so.4 = /usr/lib/libQtNetwork.so.4 (0xb5759000)
libQtCore.so.4 = /usr/lib/libQtCore.so.4 (0xb54d8000)
libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb53e7000)
libgcc_s.so.1 = /lib/libgcc_s.so.1 (0xb53c9000)
libxcb.so.1 = /usr/lib/libxcb.so.1 (0xb53a9000)
/lib/ld-linux.so.2 (0xb7829000)
libsqlite3.so.0 = /usr/lib/libsqlite3.so.0 (0xb5305000)
libphonon.so.4 = /usr/lib/libphonon.so.4 (0xb52a8000)
libQtXmlPatterns.so.4 = /usr/lib/libQtXmlPatterns.so.4 (0xb4e8e000)
libpthread.so.0 = /lib/i686/libpthread.so.0 (0xb4e76000)
libXrender.so.1 = /usr/lib/libXrender.so.1 (0xb4e6b000)
libm.so.6 = /lib/i686/libm.so.6 (0xb4e45000)
libglib-2.0.so.0 = /usr/lib/libglib-2.0.so.0 (0xb4d6b000)
libpng12.so.0 = /usr/lib/libpng12.so.0 (0xb4d24000)
libz.so.1 = /lib/libz.so.1 (0xb4d11000)

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Felipe Monteiro de Carvalho
Sorry, the list was incomplete. My KDE console has a wierd bug when
selecting text =(

[felipe@localhost httpclient]$ ldd readhttpheaders
linux-gate.so.1 =  (0xe000)
libQt4Pas.so.5 = /usr/lib/libQt4Pas.so.5 (0xb7602000)
libX11.so.6 = /usr/lib/libX11.so.6 (0xb74d)
libdl.so.2 = /lib/libdl.so.2 (0xb74cc000)
libc.so.6 = /lib/i686/libc.so.6 (0xb737a000)
libQtWebKit.so.4 = /usr/lib/libQtWebKit.so.4 (0xb630b000)
libQtGui.so.4 = /usr/lib/libQtGui.so.4 (0xb588)
libQtNetwork.so.4 = /usr/lib/libQtNetwork.so.4 (0xb5759000)
libQtCore.so.4 = /usr/lib/libQtCore.so.4 (0xb54d8000)
libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb53e7000)
libgcc_s.so.1 = /lib/libgcc_s.so.1 (0xb53c9000)
libxcb.so.1 = /usr/lib/libxcb.so.1 (0xb53a9000)
/lib/ld-linux.so.2 (0xb7829000)
libsqlite3.so.0 = /usr/lib/libsqlite3.so.0 (0xb5305000)
libphonon.so.4 = /usr/lib/libphonon.so.4 (0xb52a8000)
libQtXmlPatterns.so.4 = /usr/lib/libQtXmlPatterns.so.4 (0xb4e8e000)
libpthread.so.0 = /lib/i686/libpthread.so.0 (0xb4e76000)
libXrender.so.1 = /usr/lib/libXrender.so.1 (0xb4e6b000)
libm.so.6 = /lib/i686/libm.so.6 (0xb4e45000)
libglib-2.0.so.0 = /usr/lib/libglib-2.0.so.0 (0xb4d6b000)
libpng12.so.0 = /usr/lib/libpng12.so.0 (0xb4d24000)
libz.so.1 = /lib/libz.so.1 (0xb4d11000)
libfreetype.so.6 = /usr/lib/libfreetype.so.6 (0xb4c8c000)
libgobject-2.0.so.0 = /usr/lib/libgobject-2.0.so.0 (0xb4c48000)
libSM.so.6 = /usr/lib/libSM.so.6 (0xb4c3e000)
libICE.so.6 = /usr/lib/libICE.so.6 (0xb4c24000)
libfontconfig.so.1 = /usr/lib/libfontconfig.so.1 (0xb4bf)
libXext.so.6 = /usr/lib/libXext.so.6 (0xb4bdd000)
libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0xb4bd7000)
librt.so.1 = /lib/i686/librt.so.1 (0xb4bce000)
libXau.so.6 = /usr/lib/libXau.so.6 (0xb4bca000)
libXdmcp.so.6 = /usr/lib/libXdmcp.so.6 (0xb4bc3000)
libpulse.so.0 = /usr/lib/libpulse.so.0 (0xb4b7d000)
libpulse-mainloop-glib.so.0 =
/usr/lib/libpulse-mainloop-glib.so.0 (0xb4b76000)
libQtDBus.so.4 = /usr/lib/libQtDBus.so.4 (0xb4afc000)
libpcre.so.0 = /lib/libpcre.so.0 (0xb4ac9000)
libxml2.so.2 = /usr/lib/libxml2.so.2 (0xb4988000)
libpulsecommon-0.9.21.so = /usr/lib/libpulsecommon-0.9.21.so
(0xb4934000)
libX11-xcb.so.1 = /usr/lib/libX11-xcb.so.1 (0xb4931000)
libXtst.so.6 = /usr/lib/libXtst.so.6 (0xb492a000)
libXi.so.6 = /usr/lib/libXi.so.6 (0xb491b000)
libxcb-atom.so.1 = /usr/lib/libxcb-atom.so.1 (0xb4916000)
libwrap.so.0 = /usr/lib/libwrap.so.0 (0xb490d000)
libsndfile.so.1 = /usr/lib/libsndfile.so.1 (0xb489d000)
libFLAC.so.8 = /usr/lib/libFLAC.so.8 (0xb486)
libvorbisenc.so.2 = /usr/lib/libvorbisenc.so.2 (0xb46e9000)
libvorbis.so.0 = /usr/lib/libvorbis.so.0 (0xb46be000)
libogg.so.0 = /usr/lib/libogg.so.0 (0xb46b7000)
libasyncns.so.0 = /usr/lib/libasyncns.so.0 (0xb46af000)
libdbus-1.so.3 = /lib/libdbus-1.so.3 (0xb466c000)
libcap.so.2 = /lib/libcap.so.2 (0xb4666000)
libQtXml.so.4 = /usr/lib/libQtXml.so.4 (0xb4623000)
libnsl.so.1 = /lib/libnsl.so.1 (0xb460c000)
libresolv.so.2 = /lib/libresolv.so.2 (0xb45f6000)

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Mattias Gaertner
 
 

 michael.vancann...@wisa.be hat am 14. April 2011 um 10:17 geschrieben:

 
 
  On Thu, 14 Apr 2011, Mattias Gaertner wrote:
 
   On Thu, 14 Apr 2011 09:47:57 +0200 (CEST)
   michael.vancann...@wisa.be wrote:
  
  
  
   On Thu, 14 Apr 2011, zeljko wrote:
  
   On Thursday 14 of April 2011 09:33:03 Michael Van Canneyt wrote:
   Hi,
  
   due to some other topic discussed on the mailing list, I thought I'd
   check
   the dependencies of a simple lazarus project. The result is shown below.
  
   I did this similar exercise a year or two ago, and the result has more
   than
   tripled !
  
   I wonder, why all these dependencies ??
   I mean, libselinux, libcairo, libexpat, libdirectfb, libfusion,
   libdirect
   (to name but a few), why do I need those ?
  
   You don't but gtk does (or cairo or some xlib).
  
   Hm. I did a quick check:
  
   fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | wc -l
   44
   fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | wc -l
   31
   So Qt needs 31 libs, GTK uses 44. Many of the extra ones related to direct
   framebuffer
   access, which is total nonsense in a X environment.
  
   The gnome projects likes to split libs in smaller modules.
   The number of libs is not that important. The size is more important:
  
   A gtk2 program:
   ldd testgtk2 | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
   14932491
  
   A qt program:
   ldd testqt | cut -d' ' -f 3 | grep lib | xargs cat | wc -c
   53583219
  
   So Qt uses about 50MB, GTK uses 15MB.
 
  I get quite a different count:
 
  fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c
  7172681 
The libqt-mt library is only one lib of a qt program.
 
 

  fsb: ldd /usr/lib/libgdk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
  9804745 
And so is the libgdk of a gtk program. 
 

  
  7 vs. 9 Mb. Just for the Qt/Gtk library. 
Please compare whole programs. 
 

  
  And that only size matters is not quite correct: for each library the number
  of symbols in the libraries must be resolved.
  The more libraries must be resolved, the more work there is for the linker. 
Since you gave no proof for this statement, I will answer with another
unproven: 
The bigger a library the more code, the more symbols must be resolved.  
 
I don't know how to test the library loading time, but here are some timings of
minimal gtk2/qt programs:
 
 time ./testgtk2

 real    0m0.035s
 user    0m0.028s
 sys 0m0.004s


 time ./testqt

 real    0m0.160s
 user    0m0.088s
 sys 0m0.032s


 

 
  That was the main issue in KDE: to reduce the number of symbols to be
  resolved. This meant, less libraries.
 I doubt that combining several libs into one accelerates much.

 Mattias--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Creating SDK like system

2011-04-14 Thread ik
Thank you all for your answers, now I returned the ball to the client to
understand better what type of changes they want to be able to do, so I'll
know what to design.

Ido


On Thu, Apr 14, 2011 at 10:47, Michael Schnell mschn...@lumino.de wrote:

 On 04/13/2011 05:12 PM, ik wrote:

 I was requested to create a Windows program that can be changed (the
 interface) using some sort of SDK.
 I have never created such systems before, and I'm looking to understand
 how I design something like that in a program written in Lazarus.

  Lazarus provides a GUI designer. Maybe you can strip-down and modify it
 according to your needs.

 The LCL provides lots of elements for the designer to use. Maybe you can
 select some and modify and enhance them  according to your needs.

 The code of the GUI elements is living as well at design time as at run
 time to create and draw the elements and visually assign parameters to
 them.

 The Lazarus GUI designer creates a resource stream from these visual
 parameters that is compiled into the target executable.

 The executable executes the GUI elements' code to have them draw themselves
 according to the stored parameters.

 So maybe Lazarus itself is a good starting point.

 -Michael


 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread Michael Van Canneyt



On Thu, 14 Apr 2011, Felipe Monteiro de Carvalho wrote:


On Thu, Apr 14, 2011 at 11:14 AM,  michael.vancann...@wisa.be wrote:

fsb: ldd /usr/lib/libgtk-x11-2.0.so.0 | cut -d' ' -f 3 | xargs cat | wc -c
10646417

And I checked: the LCL app loads exactly the same list of libraries as the
GTK lib itself. I don't have an LCL Qt app to compare with.


You forgot to count libgtk-x11-2.0.so
ldd on gtk-x11 does not count gtk-x11 itself


I know. But it's not relevant for the list.
It was just meant to demonstrate that loading libgtk-x11-2.0.so uses the
same set of libs as an LCL app.



Another difference for me was:

libgthread-2.0.so.0 = /usr/lib/libgthread-2.0.so.0 (0xb7004000)





It needs 10Mb, more than the Qt lib.


No way, why do you think that /usr/lib/libqt-mt uses all Qt libs? In
fact it uses *zero* other Qt libs =D


Like I said, I have no LCL Qt app to compare with.

But you are right, I didn't check all Qt libs. It didn't occur to me to
check for uppercase Qt files.

Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread michael . vancanneyt



On Thu, 14 Apr 2011, Mattias Gaertner wrote:


 fsb: ldd /usr/lib/libqt-mt.so.3.3.8 | cut -d' ' -f 3 | xargs cat | wc -c
 7172681 
The libqt-mt library is only one lib of a qt program.


Yes. My bad, see my answer to Felipe. :/


 
 7 vs. 9 Mb. Just for the Qt/Gtk library. 
Please compare whole programs. 


Since I don't have the needed Qt libs, that will be hard. Please disregard
my timings.


 
 And that only size matters is not quite correct: for each library the number
 of symbols in the libraries must be resolved.
 The more libraries must be resolved, the more work there is for the linker. 
Since you gave no proof for this statement, I will answer with another
unproven: 
The bigger a library the more code, the more symbols must be resolved.  


It's not my statement. It's someone else's. see e.g.

http://lwn.net/Articles/192624/

and

http://keycorner.org/pub/text/doc/kde-slow.txt

I assume they knew what they were talking about.
  
Michael.--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus GTK project dependencies

2011-04-14 Thread zeljko
On Thursday 14 of April 2011 11:36:10 Mattias Gaertner wrote:

 The libqt-mt library is only one lib of a qt program.

no, libqt-mt is complete qt-3.XXX library. in Qt 4 they splitted core,gui etc.

zeljko


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Lazarus FPC Italian language translators

2011-04-14 Thread notturno

Hello,

I'm starting to translate the FPC message file to italian.
Since the IT.po for lazarus has many untranslated sentences (maybe it's 
from an old version of lazarus?) I'm filling them too.


I would like to know if there are other EN-IT translators active at the 
moment here, to coordinate our effort.


Se ci siete fatevi vivi :-)

Regards
Massimo Soricetti

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Creating SDK like system

2011-04-14 Thread Hans-Peter Diettrich

ik schrieb:

I was requested to create a Windows program that can be changed (the 
interface) using some sort of SDK.


That's very vague. Does the requestor have a specific idea about such an 
SDK, together with the functionality of the program? It sounds to me 
like something like XYZ has.


When it's about the creation or modification of the GUI, an SDK could 
create the resource files (.lfm) of the forms. Everything else (event 
handlers...) should be predefined in the application, with flags 
(properties) in the .lfm to enable or configure that functionality, and 
the usual assignment of handlers to the events of the components.


DoDi


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Creating SDK like system

2011-04-14 Thread Michael Schnell

BTW.:
Maybe for your needs a resource stream is not even a good idea. I 
suppose it's not difficult to have a program read it's GUI design from a 
file instead of from the resource steam. So you can modify the look 
independently from the executable.


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Metafile support

2011-04-14 Thread Felipe Monteiro de Carvalho
On Thu, Apr 14, 2011 at 2:53 PM, Hans-Peter Diettrich
drdiettri...@aol.com wrote:
 I'd separate the construction of metafiles from their use (drawing). Once a
 file has been created - be metafile, BMP, PNG, HTML, PDF etc. - its main
 purpose is distribution and presentation, not editing. In the simplest case
 drawing primitives are recorded in an metafile by e.g. switching the canvas,
 and all editing can occur in another application, independent from any
 metafile recorder and player.

 When an editor (AutoCad...) uses metafiles to store the entire state of a
 project (including invisible objects, symbols...), for later reload and
 continued editing, these parts can stay application-specific, and better
 should be stored in accordingly application-specific files. A general
 metafile should not contain more than the final drawing primitives. For
 editable metafiles it will be sufficient to allow for application-specific
 extensions, which can be skipped easily by the player base class (like
 unknown XML tags). Specific handling then can be built into derived classes.

I am totally lost about how this all applies to fpvectorial. Maybe you
could explain more specifically how your ideas would apply to
fpvectorial? wiki page: http://wiki.lazarus.freepascal.org/fpvectorial

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Creating SDK like system

2011-04-14 Thread ik
On Thu, Apr 14, 2011 at 13:15, Hans-Peter Diettrich drdiettri...@aol.comwrote:

 ik schrieb:


  I was requested to create a Windows program that can be changed (the
 interface) using some sort of SDK.


 That's very vague. Does the requestor have a specific idea about such an
 SDK, together with the functionality of the program? It sounds to me like
 something like XYZ has.


It is vegue, but because I have never done it before, I didn't know what
exactly to ask.
Now I understand it better, and send several questions what exactly is
needed,



 When it's about the creation or modification of the GUI, an SDK could
 create the resource files (.lfm) of the forms. Everything else (event
 handlers...) should be predefined in the application, with flags
 (properties) in the .lfm to enable or configure that functionality, and the
 usual assignment of handlers to the events of the components.


That's one way. Another way I was thinking was to allow to edit the lfm
file, and also to provide a dll with some API like register button, with
it's name and to be able to register a callback back to the the API when it
was used.



 DoDi


Ido





 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus FPC Italian language translators

2011-04-14 Thread Maxim Ganetsky

14.04.2011 14:30, notturno пишет:

Hello,

I'm starting to translate the FPC message file to italian.
Since the IT.po for lazarus has many untranslated sentences (maybe it's
from an old version of lazarus?) I'm filling them too.


Very good. :)


I would like to know if there are other EN-IT translators active at the
moment here, to coordinate our effort.


I doubt it, the last Italian IDE translation change was in 2009. You can 
see mail of the last translator e.g. in lazaruside.it.po file.


--
Best regards,
 Maxim Ganetsky  mailto:gan...@narod.ru

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Metafile support

2011-04-14 Thread Felipe Monteiro de Carvalho
Forwarding to the mailling list:

On Thu, Apr 14, 2011 at 6:07 PM, Hans-Peter Diettrich
drdiettri...@aol.com wrote:
 Felipe Monteiro de Carvalho schrieb:

 I am totally lost about how this all applies to fpvectorial.

 I was talking about metafiles in general, not about specific metafile
 formats and conversions.

 DoDi



--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus