tech-userlevel archive

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

Re: individual software releases for third parties

On Thu, Aug 30, 2012 at 11:52:35AM -0400, James K. Lowden wrote:
> Eh? Autoconf determines compile-time choices by probing the build
> host.  How is that a design for cross-compilation? 
> The right way to approach portability has never been tried: to
> construct a database of alternatives, keyed approximately by os, libc,
> and compiler version. That list is orders of magnitude smaller than the
> number of build hosts, and that approach has the property of aiding our
> understanding instead of obscuring the problem.  

Ehr... This is what R.I.S.K. does (the building framework of KerGIS and
kerTeX). R.I.S.K. doesn't "guess". It makes the difference between
Matrix (that builds) and Target (host for which we build), and the
values are defined by parameters files since, except perhaps in the GNU
world, an OS is supposed to know what it does offer...

And R.I.S.K. is only POSIX.2 basic Bourne Shell scripts, using a very 
limited subset of POSIX.2 utilities. Works under all Unices, MacOSX and
Plan9. Will work when I have built my own "all-in-one" sh, make, ed,
sed, etc. for a host that doesn't offer them (cross-compilation is
already possible for Windows, using Mingw for example by simply defining
some variables).

So the "right" approach has been more than tried: done. (I don't
claim it is perfect; but I claim it goes in the right direction
and is simple enough).

And the plus: when building a huge package, R.I.S.K. can be instructed
to remove intermediary products once the target is obtained. Hence, you
do not need 4 Gb of free space to install 300 Mb of data... You need
just a little more than 300 Mb --- since it depends on the size of the
final intermediary products, it can not be stated absolutely.

        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C

Home | Main Index | Thread Index | Old Index