|
Dynamic Libraries Finder™
Dynamic Libraries Finder
Like many software companies, we create many software products.
And each product requires a different set of dynamic libraries.
For instance, Dynamic Libraries Finder (DLF), needs
molib, which in turn needs
the JPEG, PNG and TIFF libraries, and finally the PNG library needs
the Z library. To determine that the DLF product needs these libraries,
one can use the Unix command objdump to list the internals of the
binary objects. Another way is to try to run the tool and add the
libraries as the system tells you that they are missing. The ldd
Unix tool can also be used. This tool lists all the libraries that
a binary needs, but you cannot very well control where the libraries
are searched from (that is, if you are working with a build server
and a micro-environment, you do not want to have a list of libraries
from /usr/lib or some other system directory.)
Another problem is that depending on the operating system, you may
need more or less libraries. For instance, DLF also needs the iconv,
intl, ltdl and regex libraries to run properly under MS-Windows. So
in other words, once you determined the list of files necessary for
Linux, you have to redo all the work to determine the files necessary
for MS-Windows, then you redo all the work again to determine the
files necessary for Mac OS/X. Imagine having to do that by hand!
DLF is the answer to all these problems. It determines the list of
required libraries from the binary and library folders that you
clearly specify and this recursively for any number of executable
and dynamic libraries.
Here's how it works:
- Create a setup file with all the necessary information,
- Run DLF and capture the output (the list of all the necessary files),
- Copy all of these files in your package,
- Build your package.
It is that easy to optimize the size your product packages.
And the best part is that if DLF cannot find a library, it generates
an error. This means your build scripts can automatically detect
that a library is missing or not properly managed and send an
error to your build engineer.
Technical Features:
- Supported platforms:
- MS-Windows 2000, MS-Windows XP, Server 2003, MS-Windows Vista
- Mac OS/X 10.4 or better (should work on 10.3)
- Linux 32bit and 64bit (Tested on Ubuntu and FedoraCore)
- Determine the necessary dynamic libraries for a dynamic library or an executable.
- Works with PEI (MS-Windows), MACH-O (Mac OS/X) and ELF (Unices) formats.
- All versions support all formats (i.e. DLF can be used on a Mac to check ELF files.)
- Complete documentation.
|
NOTES
|
| 1 |
|
You can also develop with
the sandbox™
libraries. |
| 2 |
|
And you can use the Made to Order Software library:
molib™. |
|