Hi everyone,

I have been looking for ways to make EFL even more compact than it
is currently. One thing I have noticed about eet that it has many
dependencies:

#ldd libeet.so
        linux-vdso.so.1 =>  (0x00007fff655ff000)
        libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x00007f6b2656b000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x00007f6b2635b000)
        libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x00007f6b260e1000)
        libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x00007f6b25ede000)
        libeina.so.1 => /usr/lib/libeina.so.1 (0x00007f6b25ca8000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f6b25a8f000)
        libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f6b25855000)
        libm.so.6 => /lib/libm.so.6 (0x00007f6b255d2000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f6b253b4000)
        libc.so.6 => /lib/libc.so.6 (0x00007f6b25053000)
        librt.so.1 => /lib/librt.so.1 (0x00007f6b24e4b000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f6b24c46000)
        /lib/ld-linux-x86-64.so.2 (0x00007f6b26a54000)

Most come from eina, but these are new dependencies:
        libgnutls.so.26 (695KB)
        libtasn1.so.3 (65KB)
        libgcrypt.so.11 (495KB)
        libgpg-error.so.0 (13KB)
        libz.so.1 (97KB)
        libjpeg.so.8 (238KB)

On my amd64 eet is 109KB library while it is introducing extra 1.6MB
dependency. I see that libz and libjpeg is actively used. However,
eet_*_cipher are not used by other EFL libraries and E17. 

My idea is to push eet_*_cipher to separate eet_cipher library, which
loaded by eet_cipher_init() call. Exactly the same way as ecore is
split. This will allow to reduce the size of dependencies by 80%.

I do understand that I can build eet myself with "configure
--disable-gnutls --disable-openssl". But packagers of binary linux
distributions can't do it.


I don't mind to write such patch myself if the idea will be accepted.

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to