LCMS is a very useful and valuable package.  Unfortunately, as
delivered, it is not very portable and must be hand-ported to each
system.  The package is delivered simlar to the way open source
packages were delivered in the late '80s, before the advent of the
'configure' script.  Even though the term "portable" is used in many
places, the approach used is contrary to portability.

I notice the following problems:

  In order to install LCMS once must hand-edit include/icc34.h to make
sure that it acts sanely for the target system.  The header makes all
sorts of whacky assumptions regarding integer types depending on the
compiler used and the operating system.  Three out of four times the
typedefs are guessed wrong, or not defined at all.  For example, if
the compiler used is GCC, then it is assumed that the operating system
is some version of Unix.

  The source files in lcms-1.10.tar.gz are delivered with botched line
terminations so that extra CRs appear at the end of many lines.

  The Makefiles install by default to /usr/bin, /usr/lib, and
/usr/include.  The convention for open source packages is to install
under /usr/local (e.g. /usr/local/bin) by default since to do
otherwise will write into/over files delivered with the operating
system.  If the user doesn't take care, he may cause a terrible
accident due to the unconventional behavior.

  The shared library build support will only work with GCC, and may
still fail on many systems using GCC.

  The source files intentionally use C++ commenting so that they don't
work with a number of standard C compilers.

By incorporating a simple configure script like other open source
packages, LCMS can be made much easier to install on many systems.
LCMS is a trivial package, so it is quite easy to add the
configure-based build environment which is standard with other open
source packages.

Bob
======================================
Bob Friesenhahn
[EMAIL PROTECTED]
http://www.simplesystems.org/users/bfriesen



-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
Lcms-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to