Hi, >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. Unfortunately, this is the header file provided by ICC and I have no control over it. I have done some slight modifications, but there are still large problems on it. Hopefully next header will solve some of them. > 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. This is a problem... I am taking a look on it. > 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. Yes. lcms has been doing that since very early revisions, and I'm keeping this behaviour just because compatibility. A move to local could be a good thing for next revision. > The shared library build support will only work with GCC, and may >still fail on many systems using GCC I will take a look on that as well. > The source files intentionally use C++ commenting so that they don't >work with a number of standard C compilers. There is a program called filter.c that replaces comments. See INSTALL file, "Removing //-C++ style comments" >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. In a very old revision I did that. As a result, the tarball growed about 3 times original size. I'm searching for alternatives to the huge libtool. But anyway, I never intended to do a portable *enduser* package. lcms was, and still is, a tool for programmers. The "portable" comes because it runs in several, not all, platforms. Perhaps I should fix the spell in the documentation. Thanks for your suggestions, Marti Maria The little cms project http://www.littlecms.com [EMAIL PROTECTED] ----- Original Message ----- From: "Bob Friesenhahn" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, June 09, 2003 12:09 AM Subject: [Lcms-user] LCMS is a non-portable "portable" package 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 ------------------------------------------------------- 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
