index -summary -history -testscript perl / python problems -with callframes -with structures -largefile seeks -broken builds systems -freeBSD/darwin -linux/solaris -64on32 mix -distro makers -win32/other (2) libraries - libc ..(3264)
- zlib ..(-32-)
- gtk2 ..(-64-)
converting -old non-off_t code -going largefile -longlong default -face dualmode -make twinlibs -and defend (it) programming -largefile default -off_t in headers -make export64 -find mismatch -the autowrappers -environ changes -best practice? old library -dualmode renames -the extra function -largefile64_source -glibc headers -libgz example *** new library -dual export -largefiles win32 -compat32 calls -compat32 library -long32 dualmode links -some quotes -sitemap / mpl -large.file Group* -ac-archive Site*
(C) 2010-03-27 Guido U. Draheim |
New Library DesignAs you have seen in the pages on the old compatible library design you have to provide for quite a long series of ifdefs and precompile-designs in combination with configure checks to detect the 64on32 case and emit the LFS-precompilerr symbol -D_FILE_OFFSET_BITS=64 to do the right thing. For a new library design you can drop quite a number of the ifdef series - however you still need to provide two implementations. The main difference to the classic dualmode approach is that both implementations are exposed in headers on all platforms - 64on32 or not - which makes maintanance somewhat easier. Just like the oldlibs section the following pages will provide you with template code that you can take over to your application. In many cases they are similar to the dualmode approach as far as the real C code goes - but the ifdef fuzz is different. |