This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: canadian cross error


Kai Ruottu wrote:
> 
> > Hii all,
> > First of all I wanna thank to Kai Ruottu who has replied
> > regarding "i386-go32 compile error". Your path worked!!
> 
>  You are welcome.
> 
> > But it is not the end. I wanna have i386-go32 cross m68k-coff
> > at the end. I use cygnus script (build-3way.sh) to do that.
> > I'm able to build sunos4 cross i386-go32 and sunos4 cross m68k-coff,
> > but on the way to build i386-go32 cross m68k-coff, I got such
> > kind of error :
> >
> > make[1]: Entering directory
> > '/home/hardware/dony/gnu/b-i386-go32-x-m68k-coff/gcc'
> > make[1]: *** No rule to make target 'objective-c', needed by 'native'.
> > Stop.
> 
>  The GCC build needs to use 'cc1obj' to do something. The 'make-lang' or
> something in the 'objc' subdir, from which the final Makefile is made,
> has a line with './cc1obj <something>', which is wrong...
> 
>  When doing the Canadian cross, one needs to use the 'GCC_FOR_TARGET'-one,
> not the one just built.  So, I would suggest a permanent fix to this problem:
> 
>  1. Add the line
>       OBJC_FOR_TARGET=`$(GCC_FOR_TARGET) -print-prog-name=cc1obj`
>     in a suitable (logical) place in the start of OBJC 'make-lang'.
> 
>  2. Change the './cc1obj' in the line where it is from:
>       ./cc1obj <something>
>     to:
>       $(OBJC_FOR_TARGET) <something>
> 
> > Did anybody ever have such kind of error?? Please reply me a hint ...
> 
>  Ok, I have met this with all new sources, but never remembered to post
> to 'gcc-bug'... You need not to reconfigure, just add the OBJC_FOR_TARGET
> definition and fix the line with the './cc1obj ...' in your Makefile.
> When you have your 'go32-to-m68k-coff' ready and have run 'make distclean',
> you can fix the OBJC Makefile template for the next Canadian Cross...
> 
> Cheers,  Kai
> 


Do you mean 'Make-lang.in' in the source directory
'gcc-2.8.1/gcc/objc'??
I found a line like :
./cc1obj -print-objc-runtime-info tmp-runtime >>$@

I have replaced it according to what you said, but the code
didn't generate proper Makefile for 'go32-to-m68k-coff'.
The generated Makefile didn't use 'cc1obj' at all, but 'cc1plus'
and still got the same error.
Don't know why it generated Makefile which is used 'cc1plus'??

-- 
Dony
Email : dony@willowglen.com.sg
=========================================================
To get command help for the crossgcc list, including help
on adding/removing yourself to/from the list, send e-mail
to majordomo@cygnus.com with the text 'help' (without the
quotes) in the body of the message.
=========================================================