supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Charles Duffy <cduffy@spamcop.net>
Subject: OT: cross compilation and autoconf [was: Re: runit not ready for cross-compilation]
Date: Fri, 06 Jan 2006 07:54:53 -0600	[thread overview]
Message-ID: <dplsre$h80$1@sea.gmane.org> (raw)
In-Reply-To: <43BDEA01.1000600@geeks.cl>

My apologies for dragging this thread on further. I've changed the 
subject so as to not interfere with more topical discussion.

Alejandro Mery wrote:
> what?? noone needs something like autoconf, just using simple sh scripts 
> and a simple Makefile (instead of .c helpers) is _enough_ to make 
> software cross compilable. and of course you wont run make test when 
> cross compiling, and there is no need to do that.

The software in question here may not need autoconf -- but there are 
cases where its more esoteric functionalities do indeed come in handy. 
I'm not arguing that autoconf makes sense here -- I'm just disputing 
that "no one needs something like autoconf".

In a former life I spent 2-3 years porting and packaging 3rd-party 
(mostly Free) software to be cross compiled to the 5 or 6 target 
architectures and 2 host platforms my employer supported, and in that 
time I ran across a *lot* of different compile-time tests. The strong 
majority of them could be resolved by attempting target compile and link 
steps (to validate headers and library contents) without actually 
needing to run anything on the target, but there were a few more obscure 
tests which did inded care about things that weren't really available 
without access to the target. (For instance: Are you on one of the buggy 
platforms where ferror() returns -1 instead of 0 on a file handle which 
does not in fact have its error flag set? How can you tell without 
actually trying?) [1]

Additionally, it's better to have something that's *consistent* and 
written to make cross compilation reasonably straightforward than for 
every package to have its own custom configure/build system (in which 
case maybe 10% of them have had ample thought put into allowing cross 
compilation, and fewer than that have actually had such functionality 
actually *tested* by the maintainers). To be sure, autoconf is a beast 
-- but it's a beast which has picked up much of its size in satisfying 
esoteric requirements. Every once in a while, someone *needs* those 
capabilities, and having them around is darned handy.


[1] - Okay, this isn't a great example -- one can just treat negative 
return values from ferror() the same way as one treats zero values, and 
it becomes moot. There are similar cases, however, where a method may be 
defined the same way in the headers of two platforms but have material 
behavioral differences between them such that a runtime test is 
necessary. No, I don't remember any -- this was 5 or 6 years ago.



  parent reply	other threads:[~2006-01-06 13:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-12  0:50 runit not ready for cross-compilation Radek Podgorny
2005-12-12  2:21 ` Alejandro Mery
2005-12-16 15:33   ` Charlie Brady
2005-12-17 22:58     ` Radek Podgorny
2005-12-17 23:06       ` Charlie Brady
2005-12-18 10:30         ` Radek Podgorny
2006-01-03 14:12 ` Gerrit Pape
2006-01-03 19:49   ` Radek Podgorny
2006-01-03 20:16     ` Charlie Brady
2006-01-05 15:01       ` Charles Duffy
2006-01-05 15:17         ` Charlie Brady
2006-01-06  3:54         ` Alejandro Mery
2006-01-06 11:07           ` Radek Podgorny
2006-01-06 12:51           ` Charles Duffy
2006-01-06 13:54           ` Charles Duffy [this message]
2006-01-06 16:54             ` OT: cross compilation and autoconf [was: Re: runit not ready for cross-compilation] Laurent Bercot
2006-01-06 18:42               ` Charlie Brady

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='dplsre$h80$1@sea.gmane.org' \
    --to=cduffy@spamcop.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).