On Sun, 2004-11-21 at 11:21 +0100, Leopold Toetsch wrote:

> Chromatic <[EMAIL PROTECTED]> wrote:
> 
> > Apparently the AIX and Darwin JIT fixes have broken the Linux PPC
> > build, which doesn't pick up the appropriate hints file.  I tried a
> > couple of ways to force it to do so to no avail.  Someone who knows
> > what he's doing will have to do it.
> 
> >     jitosname=LINUX, jitcpuarch=ppc
>                                   ^^^
> The selection of the missing helper file should be done by "jitcpuarch"
> and not by IIRC platform. As it's a JIT only thingy, the proper place to
> include that file is in jit.pl.

Alright, poking around blindly for an hour, I made the changes in the
attached patch (not for applying) and came up with a different breakage:

   as   -o src/platform_asm.o src/platform_asm.s
   src/platform_asm.s: Assembler messages:
   src/platform_asm.s:3: Error: Unrecognized opcode: `this'
   src/platform_asm.s:4: Error: Unrecognized opcode: `rather'
   src/platform_asm.s:5: Error: syntax error; found `i' but expected `,'
   src/platform_asm.s:5: Error: junk at end of line: `is not 
   currently configurable in the Parrot makefiles'
   src/platform_asm.s:7: Error: unexpected end of file in macro 
   definition
   make: *** [src/platform_asm.o] Error 1

Running 'gcc' or 'cc' on the file produces the same error, as you'd
expect.

-- c


Index: config/auto/jit.pl
===================================================================
RCS file: /cvs/public/parrot/config/auto/jit.pl,v
retrieving revision 1.34
diff -u -u -r1.34 jit.pl
--- config/auto/jit.pl	20 Oct 2004 08:03:13 -0000	1.34
+++ config/auto/jit.pl	21 Nov 2004 23:52:02 -0000
@@ -116,6 +116,12 @@
         $execcapable = 0;
       }
     }
+
+	if ($jitcpuarch eq 'ppc' && $osname eq 'linux')
+	{
+		Configure::Data->set( platform_asm => 1 );
+	}
+
     $execcapable = $set_execcapable if defined $set_execcapable;
     if ($execcapable) {
       Configure::Data->set(
Index: config/gen/platform.pl
===================================================================
RCS file: /cvs/public/parrot/config/gen/platform.pl,v
retrieving revision 1.19
diff -u -u -r1.19 platform.pl
--- config/gen/platform.pl	8 Oct 2004 09:45:01 -0000	1.19
+++ config/gen/platform.pl	21 Nov 2004 23:52:02 -0000
@@ -26,6 +26,8 @@
   my ($miniparrot, $verbose) = @_;
   my $platform=lc $^O;
 
+  $platform="ppc" if $platform eq 'linux'
+  	&& Configure::Data->get( 'jitcpuarch' ) eq 'ppc';
   $platform="ansi" if defined($miniparrot);
   $platform="win32" if $platform =~ /^msys/;
   $platform="win32" if $platform =~ /^mingw/;

Reply via email to