At least on Linux and Unix shared libraries provided by the system can be used for everything (libpng, libtiff, ...) except libijs. libijs is available separately on
and ships with most Linux distributions as it is used by the printer driver packages gutenprint, epsonepl, and others. One could save some duplicate code and simplify bug fixes if the Ghostscript packages coming with Linux distributions uses the system-provided libijs and not the libijs source code which comes with Ghostscript.
Can you add support for using the system's libijs for 9.01? Should work the same way as with libpng, libtiff, ...
I don't think this is a Ghostscript issue. There is no libijs in the sources
we distribute. There is an 'ijs' directory that has the 'ijs_client.c' and .h,
but this consists of functions that interact with the server via the platform
specific ijs_exec_***.c function. The server does all the actual work, and _can_
be built externally.
Please describe the 'split' in the source distribution that you envision (or
close this bug as 'WORKSFORME' because it's already as good as it can get).
BTW, the links at the web site provided refer to the Ghostscript sources,
and the HPIJS link goes to a page titled 'hplip'. The other sources linked are
for Gutenprint and Epson drivers. I don't find 'libijs' sources.
Ray, the original build system of libijs (in ijs/configure.ac and ijs/Makefile.am, see also ijs/README) builds a shared library libijs. The distributions provide a libijs package using the source code from the original site:
This package provides the shared library /usr/lib/libijs-0.35.so which is used by several IJS-based drivers.
The build system of Ghostscript should behave the same as with libpng, libtiff, ...: If there is no ijs/ directory or if requested by the user via options to "./configure" the shared library of the system (here /usr/lib/libijs-0.35.so) should be used, otherwise the source code of the ijs/directory.
As the complete source code is also contained in the Ghostscript source (and there even in its newest form) one could build the shared library libijs even out of the Ghostscript source by running the build system in the ijs/ directory. So distributions should even do it this way to provide libijs to the drivers and then build Ghostscript also to use this libijs to avoid duplication of binary code.
For Linux distributions it would be great have build options to create the libijs shared library and to build Ghostscript that it uses this shared library instead of linking in the IJS code.
fixed in r12063.