All of lore.kernel.org
 help / color / mirror / Atom feed
* Cross-compilation check broken
@ 2009-01-29  2:14 Pavel Roskin
  2009-01-29 13:07 ` Robert Millan
  0 siblings, 1 reply; 4+ messages in thread
From: Pavel Roskin @ 2009-01-29  2:14 UTC (permalink / raw)
  To: grub-devel, Robert Millan

Hello, Robert!

Your commit 1955 breaks my script for testing PowerPC.  That's the
script:

#!/bin/sh
set -e
CROSS_PATH=/home/proski/src/buildroot/build_powerpc/staging_dir/usr/bin
PATH=$CROSS_PATH:$PATH
./configure --with-platform=ieee1275 --target=powerpc-linux
make -j2
./grub-mkrescue --grub-mkimage=./grub-mkelfimage --pkglibdir=. grub.iso
qemu-system-ppc -nographic -cdrom grub.iso -boot d

I compile for target "powerpc-linux" and I have powerpc-linux-gcc in the
PATH.  However, I'm using native tools.  I'm not interested in running
tools in an emulator (actually, I have another script that does it).
Therefore, build and host are the same, so TARGET_CC is set to gcc.

The new check must be wrong.  TARGET_CC is used to build executables for
the target system.  It should be found using the specified target even
if the tools are compiled natively.

Actually, the original check wasn't particularly good.  Maybe we could
check if target_alias is defined?  Or maybe we could always check for
TARGET_CC?

-- 
Regards,
Pavel Roskin



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Cross-compilation check broken
  2009-01-29  2:14 Cross-compilation check broken Pavel Roskin
@ 2009-01-29 13:07 ` Robert Millan
  2009-01-29 16:19   ` Pavel Roskin
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Millan @ 2009-01-29 13:07 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: grub-devel

On Wed, Jan 28, 2009 at 09:14:34PM -0500, Pavel Roskin wrote:
> Hello, Robert!
> 
> Your commit 1955 breaks my script for testing PowerPC.  That's the
> script:
> 
> #!/bin/sh
> set -e
> CROSS_PATH=/home/proski/src/buildroot/build_powerpc/staging_dir/usr/bin
> PATH=$CROSS_PATH:$PATH
> ./configure --with-platform=ieee1275 --target=powerpc-linux
> make -j2
> ./grub-mkrescue --grub-mkimage=./grub-mkelfimage --pkglibdir=. grub.iso
> qemu-system-ppc -nographic -cdrom grub.iso -boot d
> 
> I compile for target "powerpc-linux" and I have powerpc-linux-gcc in the
> PATH.  However, I'm using native tools.  I'm not interested in running
> tools in an emulator (actually, I have another script that does it).
> Therefore, build and host are the same, so TARGET_CC is set to gcc.
> 
> The new check must be wrong.  TARGET_CC is used to build executables for
> the target system.  It should be found using the specified target even
> if the tools are compiled natively.
> 
> Actually, the original check wasn't particularly good.  Maybe we could
> check if target_alias is defined?  Or maybe we could always check for
> TARGET_CC?

Hi Pavel,

This check looks really confusing.  I naively assumed it was checking if we're
cross-compiling like the comment said ;-)

But if it really meant to compare target with host, I think it should be:

  if test "x$target_cpu" != "x$host_cpu"; then

rather than what was before:

  if test "x$target" != "x$host"; then

Since "$target_os" has no real meaning.  Does that work for you?

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Cross-compilation check broken
  2009-01-29 13:07 ` Robert Millan
@ 2009-01-29 16:19   ` Pavel Roskin
  2009-02-07 21:42     ` Robert Millan
  0 siblings, 1 reply; 4+ messages in thread
From: Pavel Roskin @ 2009-01-29 16:19 UTC (permalink / raw)
  To: The development of GRUB 2

On Thu, 2009-01-29 at 14:07 +0100, Robert Millan wrote:

> This check looks really confusing.  I naively assumed it was checking if we're
> cross-compiling like the comment said ;-)

I agree, the comment is misleading.  We actually check for the second
set of tools there, which is used to build files for the target.  The
first set is used to build for the host, and it can be a cross-compiler
as well.

> But if it really meant to compare target with host, I think it should be:
> 
>   if test "x$target_cpu" != "x$host_cpu"; then
> 
> rather than what was before:
> 
>   if test "x$target" != "x$host"; then
> 
> Since "$target_os" has no real meaning.  Does that work for you?

I understand that you are trying to exorcise "$target_os" by all means.
By from the user standpoint, the second set of tools is needed if the
"--target" option was specified and its argument is different from the
one for the "--host" option.

I would also like to get rid of ac_tool_prefix.  I'll have a look.  I
assume we can always look for $target_alias-gcc without falling back to
$target_alias-cc and $target_alias-egcs.

-- 
Regards,
Pavel Roskin



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Cross-compilation check broken
  2009-01-29 16:19   ` Pavel Roskin
@ 2009-02-07 21:42     ` Robert Millan
  0 siblings, 0 replies; 4+ messages in thread
From: Robert Millan @ 2009-02-07 21:42 UTC (permalink / raw)
  To: The development of GRUB 2

On Thu, Jan 29, 2009 at 11:19:29AM -0500, Pavel Roskin wrote:
> > But if it really meant to compare target with host, I think it should be:
> > 
> >   if test "x$target_cpu" != "x$host_cpu"; then
> > 
> > rather than what was before:
> > 
> >   if test "x$target" != "x$host"; then
> > 
> > Since "$target_os" has no real meaning.  Does that work for you?
> 
> I understand that you are trying to exorcise "$target_os" by all means.
> By from the user standpoint, the second set of tools is needed if the
> "--target" option was specified and its argument is different from the
> one for the "--host" option.

Could you give an example situation in which this is needed?  Currently I
just see that user might do misleading things like:

  --host=powerpc-unknown-foo --target=powerpc-unknown-bar

and then the check will think that host != target because foo != bar, without
taking into account that "bar" is meaningless here.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-02-07 21:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-29  2:14 Cross-compilation check broken Pavel Roskin
2009-01-29 13:07 ` Robert Millan
2009-01-29 16:19   ` Pavel Roskin
2009-02-07 21:42     ` Robert Millan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.