[haiku-development] Re: Cross-building Haiku, does output (generated) directory need to be under source tree path?

  • From: Jessica Hamilton <jessica.l.hamilton@xxxxxxxxx>
  • To: "haiku-development@xxxxxxxxxxxxx" <haiku-development@xxxxxxxxxxxxx>
  • Date: Thu, 20 Apr 2017 10:22:15 +1200

On 20 April 2017 at 09:43, Thomas Mueller <mueller6723@xxxxxxx> wrote:


On 04/19/2017 11:27 AM, Thomas Mueller wrote:
I still wonder how/why jam looked for Jamfile and build/BuildConfig in the 
wrong places.

It did not. You configure invocation failed -- its last output being an error
message is a good indication -- which is why the files were not created in 
the
first place.

I still wonder hom jam (mis-)guessed to look for subdirectory 
fb64generated.clang-configure in
/home/nbarlene/haiku/haiku instead of the current working directory
/home/nbarlene/myhaiku

But when there is an error, strange things can happen.

End of configure log made me think at first that the tools were built 
successfully, even if there was also an error message:

  ln 
/home/nbarlene/myhaiku/fb64generated.clang-bootstrap/cross-tools-x86_gcc2/bin/`t='s,x,x,';
 echo gcc | sed -e $t` 
/home/nbarlene/myhaiku/fb64generated.clang-bootstrap/cross-tools-x86_gcc2/bin/i586-pc-haiku-gcc-1;
 \
  mv 
/home/nbarlene/myhaiku/fb64generated.clang-bootstrap/cross-tools-x86_gcc2/bin/i586-pc-haiku-gcc-1
 
/home/nbarlene/myhaiku/fb64generated.clang-bootstrap/cross-tools-x86_gcc2/bin/i586-pc-haiku-gcc;
 \
fi
gmake[1]: Leaving directory 
'/home/nbarlene/myhaiku/fb64generated.clang-bootstrap/cross-tools-x86_gcc2-build/gcc/gcc'
binutils and gcc for cross compilation have been built successfully!
Build tool 
"/home/nbarlene/myhaiku/fb64generated.clang-bootstrap/cross-tools-x86_gcc2/bin/i586-pc-haiku-elfedit"
 not found.

Besides what Adrien wrote -- using a probably untested configuration
(bootstrap plus clang) you invoked configure with two --build-cross-tools
options and one --cross-tools-prefix option. This way you specified one
primary and two secondary architectures. And the --cross-tools-prefix 
argument
doesn't look correct anyway (please check the --help).

CU, Ingo

Would I use --cross-tools-prefix twice if I want to build for x86_gcc2 and 
x86 hybrid?

Would something like this be appropriate?

--cross-tools-prefix /home/nbarlene/nb32generated/cross-tools-x86 
--cross-tools-prefix /home/nbarlene/nb32generated/cross-tools-x86_gcc2

This example is from an older attempt, where configure built the tools, 9 
August 2015.

Even if I need to rebuild this, I would move (mv) nb32generated to another 
directory (maybe nb32generated-20150809) to keep at least for reference.

This used gcc 4.9.2 .

FreeBSD, beginning with v9.0, does not install gcc (latest version 4.2.1) to 
the base system by default, uses llvm clang to build the system and most 
ports.

But various versions of gcc are in FreeBSD ports, including gcc5-aux and 
gcc6-aux.  These latter two include (Dragonlace) Ada.

Using clang as the host compiler doesn't matter.

Cross tools can be built with gcc or clang, to generate a gcc
cross-compiler toolchain for building Haiku.

./configure --use-clang builds Haiku with clang, *not* the gcc
cross-compiler. And this is completely unsupported.

Therefore, using --use-clang with either of --build-cross-tools or
--cross-tools-prefix makes no sense, as it's not needed in this case.

Other related posts: