Hi,
On Tue, 27 Nov 2007, Szabolcs Szakacsits wrote:
> On Tue, 27 Nov 2007, Miklos Szeredi wrote:
>
> > > I've done this now and integrated it into ntfs-3g. Everything seems to
> > > work
> > > fine so far. Uclibc wasn't tested yet. I was a bit off with the one kB
> > > saving estimate. So far it's almost 20 kB (20% of libfuse). More later.
> >
> > Dynamic linking does have a lot of overhead.
>
> Yes, both size and performance. The ntfs-3g library can be linked in both
> ways already (a third one is linking everything statically). The plan is
> the same for fuse-lite, static linking by default. It saves another 20 kB.
The above is a reality now, big thanks to Alon Bar-Lev for rewriting the
ntfs-3g build system the way it was exactly dreamt about :->
Removing compatibility and modules/stacking saved about 30 kB shared libray
binary size and 50 kB when statically linked (50%). The ntfs-3g package
size with fuse-lite integrated increased by only 11% but the overall binary
size decreased by 15% during static linking.
The fuse-lite library always linked into libntfs-3g when it's used. Linux
uses this by default. The --with-fuse=external configure option makes
ntfs-3g to be compiled with the external FUSE library. For FreeBSD, OS X
and NetBSD this is the default and the only option currently.
Compilation modes:
configure: fuse-lite linked into shared libntfs-3g
configure --disable-library: fuse-lite & libntfs-3g linked into ntfs-3g
configure --enable-really-static: fully static ntfs-3g with fuse-lite
configure --with-fuse=external: previous way
configure --with-fuse=external --disable-library: libntfs-3g linked
into ntfs-3g
configure --with-fuse=external --enable-really-static: fully static ntfs-3g
with external fuse
All the tests were positive so far on Linux using x86, ARM, MIPS CPUs.
Any feedback from FreeBSD, OS X and NetBSD would be very welcome since
we couldn't test those.
The new build system should be fully backwards compatible, minus the
default fuse-lite use on Linux and 'make install-strip' should be used
instead of 'make strip && make intstall'.
If one is interested in fuse-lite then it can be found at
http://sourceforge.net/cvs/?group_id=181143
http://mercurial.creo.hu/repos/ntfs-3g-hg/
in the directories include/fuse-lite and libfuse-lite. An ntfs-3g BETA
package is also online for testing:
http://ntfs-3g.org/ntfs-3g-1.1206-BETA.tgz
Worked on problem: fusermount utility is not integrated yet as part of the
fuse-lite library, so the official FUSE package is required for non-root
mounts.
Feedbacks are welcome, especially negative ones.
Thanks,
Szaka
--
NTFS-3G: http://ntfs-3g.org
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel