From: Alexander Neundorf <neundorf@eit.uni-kl.de>
To: linux-embedded@vger.kernel.org
Subject: Re: cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...)
Date: Fri, 13 Jun 2008 08:43:05 +0200 [thread overview]
Message-ID: <200806130843.05704.neundorf@eit.uni-kl.de> (raw)
In-Reply-To: <1213285831.26255.152.camel@pmac.infradead.org>
On Thursday 12 June 2008 17:50:31 you wrote:
> On Thu, 2008-06-12 at 08:23 -0700, Tim Bird wrote:
> > Rob Landley wrote:
> > > However, having one or more full-time engineers devoted to debugging
> > > cross-compile issues is quite a high price to pay too. Moore's law
> > > really doesn't help that one.
> > >
> > > I'm not saying either solution is perfect, I'm just saying the "build
> > > under emulation" approach is a viable alternative that gets more
> > > attractive as time passes, both because of ongoing development on
> > > emulators and because of Moore's law on the hardware.
> >
> > I agree with much that you have said, Rob, and I understand the argument
> > for getting the most gain from the least resources, but I have a
> > philosophical problem with working around the cross-compilation problems
> > instead of fixing them in the upstream packages (or in the autoconf
> > system itself).
> >
> > Once someone fixes the cross-compilation issues for a package, they
> > usually stay fixed, if the fixes are mainlined.
>
> I don't think that's true, unfortunately. Autoconf makes it _easy_ to do
> the wrong thing, and people will often introduce new problems.
>
> If we just made people write portable code and proper Makefiles, it
> would be less of an issue :)
Well, IMO this makes it sound too easy.
If you write portable software, you have to do platform checks.
Basically they can be done by
-checking for the existence of files
-checking if something builds
-checking the output of running something you just built
The last one is the problem for cross compiling.
Example: detecting the size of ints
Easy way:
...
printf("%d\n", sizeof(long));
...
and then building and running that code and checking the output. Converting
checks like this, which seem perfectly fine for native builds, to something
which doesn't need to run an executable is not always trivial (but the way to
go if you want to make your package cross-compilable).
(and yes, we converted this test in cmake 2.6 to a build-only test)
Alex
next prev parent reply other threads:[~2008-06-13 6:43 UTC|newest]
Thread overview: 182+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1209577322.25560.402.camel@pmac.infradead.org>
[not found] ` <87bq3rgq40.fsf@basil.nowhere.org>
[not found] ` <1209582709.25560.441.camel@pmac.infradead.org>
[not found] ` <1209582709.25560.441.camel-ZP4jZrcIevRpWr+L1FloEB2eb7JE58TQ@public.gmane.org>
2008-05-28 21:52 ` [PATCH 0/1] Embedded Maintainer(s), linux-embedded@vger list Rob Landley
2008-06-09 21:27 ` Leon Woestenberg
2008-06-10 3:53 ` Rob Landley
2008-06-10 4:30 ` Sam Ravnborg
2008-06-10 6:55 ` Rob Landley
2008-06-10 7:54 ` Sam Ravnborg
2008-06-10 9:09 ` Wolfgang Denk
2008-06-10 13:12 ` Jamie Lokier
2008-06-10 13:25 ` Will Newton
2008-06-10 13:33 ` David Woodhouse
2008-06-10 13:47 ` Will Newton
2008-06-10 13:53 ` David Woodhouse
2008-06-10 14:00 ` Grant Likely
2008-06-10 14:01 ` Wolfgang Denk
2008-06-10 14:29 ` Jamie Lokier
2008-06-11 5:34 ` Rob Landley
2008-06-10 13:49 ` Wolfgang Denk
2008-06-11 5:25 ` Rob Landley
2008-06-12 18:18 ` Enrico Weigelt
2008-06-12 18:55 ` Wolfgang Denk
2008-06-12 20:55 ` Enrico Weigelt
2008-06-15 21:48 ` Rob Landley
2008-06-17 14:11 ` Enrico Weigelt
2008-06-10 13:47 ` Wolfgang Denk
2008-06-10 10:20 ` Jamie Lokier
2008-06-10 10:36 ` Adrian Bunk
2008-06-10 10:50 ` Sam Ravnborg
2008-06-11 5:28 ` Paul Mundt
2008-06-10 17:36 ` Tim Bird
2008-06-11 3:35 ` Rob Landley
2008-06-11 5:47 ` Greg Ungerer
2008-06-12 0:41 ` Rob Landley
2008-06-12 7:55 ` Jamie Lokier
2008-06-12 15:23 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Tim Bird
2008-06-12 15:50 ` David Woodhouse
2008-06-12 16:05 ` Mike Frysinger
2008-06-12 16:08 ` David Woodhouse
2008-06-12 16:15 ` Mike Frysinger
2008-06-12 16:12 ` Robert P. J. Day
2008-06-13 0:25 ` Rob Landley
2008-06-13 1:22 ` Bill Gatliff
2008-06-13 6:55 ` Alexander Neundorf
2008-06-13 15:06 ` Enrico Weigelt
2008-06-13 7:04 ` David Woodhouse
2008-06-13 15:02 ` linux-embedded-owner
2008-06-13 17:00 ` David Woodhouse
2008-06-13 17:12 ` Bill Traynor
2008-06-13 18:44 ` Tim Bird
2008-06-13 18:55 ` Sam Ravnborg
2008-06-13 19:00 ` Bill Traynor
2008-06-13 19:43 ` Johannes Stezenbach
2008-06-13 17:30 ` Makefile debugger linux-embedded-owner
2008-06-13 8:50 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 9:11 ` Alexander Neundorf
2008-06-13 14:51 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Enrico Weigelt
2008-06-16 7:58 ` Alexander Neundorf
2008-06-16 16:00 ` Enrico Weigelt
2008-06-16 17:38 ` Adrian Bunk
2008-06-17 13:57 ` Enrico Weigelt
2008-06-13 11:14 ` Geert Uytterhoeven
2008-06-13 11:22 ` Bart Van Assche
2008-06-12 18:29 ` Josh Boyer
2008-06-12 19:02 ` Mike Frysinger
2008-06-13 13:29 ` Josh Boyer
2008-06-13 13:59 ` Josh Boyer
2008-06-12 16:08 ` Paul Mundt
2008-06-12 16:28 ` Bill Gatliff
2008-06-12 16:31 ` Paul Mundt
2008-06-12 16:38 ` Mike Frysinger
2008-06-12 18:50 ` Bernhard Fischer
2008-06-12 17:14 ` Bill Gatliff
2008-06-12 17:22 ` Mike Frysinger
2008-06-12 17:23 ` Sam Ravnborg
2008-06-13 18:01 ` Rob Landley
2008-06-12 16:37 ` David Woodhouse
2008-06-12 17:01 ` Adrian Bunk
2008-06-12 17:19 ` Bill Gatliff
2008-06-12 17:17 ` Bill Gatliff
2008-06-13 11:15 ` Geert Uytterhoeven
2008-06-13 11:17 ` David Woodhouse
2008-06-12 18:34 ` Enrico Weigelt
2008-06-12 19:00 ` Bill Gatliff
2008-06-15 21:51 ` Rob Landley
2008-06-12 18:30 ` Enrico Weigelt
2008-06-12 18:57 ` Wolfgang Denk
2008-06-12 16:23 ` Tim Bird
2008-06-12 18:37 ` Enrico Weigelt
2008-06-13 18:45 ` Robert Schwebel
2008-06-15 23:12 ` Enrico Weigelt
2008-06-16 8:02 ` Alexander Neundorf
2008-06-16 8:28 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-16 9:25 ` Alexander Neundorf
2008-06-13 1:25 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Rob Landley
2008-06-13 1:28 ` Robert P. J. Day
2008-06-13 1:29 ` Mike Frysinger
2008-06-13 6:30 ` Alexander Neundorf
2008-06-13 18:51 ` Robert Schwebel
2008-06-13 22:25 ` Jamie Lokier
2008-06-13 23:19 ` Robert Schwebel
2008-06-14 0:07 ` Jamie Lokier
2008-06-14 11:26 ` Robert Schwebel
2008-06-16 11:39 ` Jamie Lokier
2008-06-16 12:06 ` Alexander Neundorf
2008-06-16 13:32 ` Jamie Lokier
2008-06-16 16:28 ` Bernhard Fischer
2008-06-16 22:28 ` Jamie Lokier
2008-06-16 22:44 ` Adrian Bunk
2008-06-16 5:11 ` Enrico Weigelt
2008-06-16 11:33 ` Jamie Lokier
2008-06-16 8:33 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-16 11:17 ` Jamie Lokier
2008-06-16 11:43 ` Bernd Petrovitsch
2008-06-16 7:55 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Alexander Neundorf
2008-06-16 15:15 ` Enrico Weigelt
2008-06-17 6:27 ` Alexander Neundorf
2008-06-17 13:46 ` Enrico Weigelt
2008-06-17 14:22 ` Alexander Neundorf
2008-06-16 4:57 ` Enrico Weigelt
2008-06-16 11:44 ` Jamie Lokier
2008-06-16 4:31 ` Enrico Weigelt
2008-06-16 8:13 ` Alexander Neundorf
2008-06-16 8:21 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 3:11 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Sam Ravnborg
2008-06-13 18:47 ` Robert Schwebel
2008-06-13 6:43 ` Alexander Neundorf [this message]
2008-06-13 8:38 ` Bernd Petrovitsch
2008-06-13 9:06 ` Alexander Neundorf
2008-06-13 9:12 ` David Woodhouse
2008-06-13 9:32 ` Alexander Neundorf
2008-06-13 15:28 ` Enrico Weigelt
2008-06-14 0:31 ` Jamie Lokier
2008-06-16 4:23 ` Enrico Weigelt
2008-06-16 10:49 ` Jamie Lokier
2008-06-16 11:09 ` David Woodhouse
2008-06-16 11:52 ` Jamie Lokier
2008-06-16 11:59 ` David Woodhouse
2008-06-16 16:43 ` Bernhard Fischer
2008-06-13 10:03 ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 11:24 ` Alexander Neundorf
2008-06-13 13:17 ` Jamie Lokier
2008-06-13 13:28 ` Bernd Petrovitsch
2008-06-13 13:40 ` Alexander Neundorf
2008-06-13 13:56 ` Matthieu CASTET
2008-06-13 14:41 ` Enrico Weigelt
2008-06-13 14:49 ` Jamie Lokier
2008-06-13 14:51 ` Enrico Weigelt
2008-06-13 14:55 ` Enrico Weigelt
2008-06-13 15:16 ` Enrico Weigelt
2008-06-13 18:45 ` Bernd Petrovitsch
2008-06-13 19:10 ` Robert Schwebel
2008-06-16 4:08 ` Enrico Weigelt
2008-06-16 7:31 ` Peter Korsgaard
2008-06-16 14:33 ` Enrico Weigelt
2008-06-16 16:45 ` Bernhard Fischer
2008-06-13 19:14 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Rob Landley
2008-06-13 15:25 ` Enrico Weigelt
2008-06-12 18:25 ` [PATCH 0/1] Embedded Maintainer(s), linux-embedded@vger list Enrico Weigelt
2008-06-12 21:11 ` David VomLehn
2008-06-12 21:42 ` James Chapman
2008-06-12 21:46 ` Mike Frysinger
2008-06-12 21:53 ` Tim Bird
2008-06-12 21:56 ` Mike Frysinger
2008-06-13 8:39 ` James Chapman
2008-06-13 9:02 ` Daniel THOMPSON
2008-06-13 11:28 ` James Chapman
2008-06-12 22:02 ` Jim Freeman
2008-06-13 13:14 ` Samuel Robb
2008-06-13 14:36 ` Enrico Weigelt
2008-06-13 14:26 ` Enrico Weigelt
2008-06-13 22:24 ` David VomLehn
2008-06-15 15:39 ` Leon Woestenberg
2008-06-15 21:43 ` Rob Landley
2008-06-23 17:22 ` Denys Vlasenko
2008-06-23 18:57 ` Sam Ravnborg
2008-06-23 19:12 ` Denys Vlasenko
2008-06-23 19:33 ` Sam Ravnborg
[not found] ` <1209636171.25560.508.camel@pmac.infradead.org>
[not found] ` <20080501104158.GM20451@one.firstfloor.org>
2008-06-23 17:28 ` Denys Vlasenko
2008-06-23 17:45 ` Adrian Bunk
2008-06-23 18:19 ` Denys Vlasenko
2008-06-23 19:05 ` Tim Bird
2008-06-25 9:50 ` James Chapman
2008-06-25 15:41 ` Adrian Bunk
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=200806130843.05704.neundorf@eit.uni-kl.de \
--to=neundorf@eit.uni-kl.de \
--cc=linux-embedded@vger.kernel.org \
/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).