guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: build process and portability


From: Maciej Stachowiak
Subject: Re: build process and portability
Date: Thu, 16 Aug 2001 13:42:53 -0700
User-agent: Mutt/1.2.5i

On 16Aug2001 03:01AM (-0700), Tom Lord wrote:
> 
> 
>        If someone came up with a good, extensible, and clean Guile
>        based replacement to autoconf/automake, I'd be happy to see
>        about using it.
> 
> Nah.  Just write unconditionally portable code.
> 

Unfortunately sometimes there is no unconditionally portable way to
perform a particular task. One example would be examining the set of
mounted or mountable volumes. If you want to write a program that can
deal with volumes on many unix systems, you must write conditional
code. Another classic example is terminal handling - you can't do it
the same way on SysV and BSD.

Other times, the most portable way of doing something is not the most
desirable on systems when better alternatives exist. For instantce,
`putenv' inherently and unavoidably leaks memory, so it is better to
use `setenv' when available.

Third, there are times when some systems provide a very
desirable feature but others do not, and it would be a bad choice to
not provide the feature to the user at all in an application to cater
to the least common denominator. One example is filesystem monitoring,
which is available on Linux, FreeBSD and Irix (with different APIs in
each case) but not, for instance, on Solaris. This is a feature that,
from a usability standpoint, is very desirable to have in a file
manager or a file open/save dialog.

Finally, sometimes a feature not available on all systems, for example
the `sendfile' system call, can so greatly improve performance that it
should be used when available.

Regards,

Maciej



reply via email to

[Prev in Thread] Current Thread [Next in Thread]