Re: cross-compiling on OS X, make menuconfig fails

From: Al Viro
Date: Tue Apr 29 2008 - 13:27:42 EST


On Tue, Apr 29, 2008 at 06:45:35PM +0200, Sam Ravnborg wrote:
> On Tue, Apr 29, 2008 at 10:07:43AM -0500, Timur Tabi wrote:
> > Tony Breeds wrote:
> >
> > > On most linux systems echo supports c-syle escapes with "-e". I'm
> > > guessing which ever echo you're getting dosesn't do that.
> >
> > Yes, that is my problem.
> >
> > > I think the best fix is to ensure you're getting bash as your shell.
> >
> > The script starts off with this line:
> >
> > #!/bin/sh
> >
> > Doesn't that mean that it should be interpreted by sh and not bash?
> >
> > > A nasty hack would be to make check-lxdialog.sh do something like:
> > > (echo ' #include CURSES_LOC';echo 'main() {}') | gcc '-DCURSES_LOC=<ncurses.h>' -DLOCALE -DKBUILD_NO_NLS -lncurses -xc - -o .lxdialog.tmp
> >
> > This works. Do you think if I posted a patch that makes this change, it will be
> > accepted?
>
> Yes.

Good grief, folks...

check() {
$cc -xc - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
main() {}
EOF
...
if you insist on feeding these two lines to gcc stdin. Nasty hack, indeed...

<<'word'
[lines]
word

redirects stdin and feeds lines to it verbatim. Same without quotes will
do the same, but do expansion in the text first.

It's been there since the original Bourne's shell in v7 and it's a bloody
standard way to redirect from text...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/