[haiku-development] Re: [haiku] Can't build (jam) anyboot-image because of artificial barrier

  • From: François Revol <revol@xxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 01 Aug 2014 11:55:57 +0200

On 01/08/2014 11:40, Thomas Mueller wrote:
> I tried to configure to build tools from NetBSD-current amd64 host
> but was blocked by Unsupported build platform: netbsd

It's not "artificial", it's just because it wasn't tested.

> but got around that by making a script nbconfigure, starting with
> configure script but adding
[...]
> Lines with "netbsd" were my modifications.

If the build works (and only if) you will want to make a ticket with a
proper patch attached. See:
https://dev.haiku-os.org/wiki/SubmittingPatches

> After the first modification, building the cross-tools failed
> apparently because of incompatibility with BSD make, just as building
> jam failed with "make" but succeeded with "gmake".

This is the reason why NetBSD was not listed in the tested platforms and
configure told you so, because it wasn't tested and probably didn't work
with the defaults.

> Then I successfully built the cross-tools using gcc-aux, which
> includes Ada as well as C and C++, for both x86_gcc2 and X86 hybrid,
> and x86_64.
> 
> But when I go to haiku/haiku.nbgenerated directory and try to build
> the anyboot-image with
> 
> jam -q @anyboot-image
> 
> I get
> 
> Unsupported host platform: netbsd
> 
> I grep'ed recursively on "supported" and "SUPPORTED", found
> SUPPORTED_PLATFORMS, but how do I add netbsd to that list, or disable
> the filter that blocks me?

It's in:

build/jam/HelperRules:                          Exit Unsupported 
$(platformKind) platform:
$(platform) ;

it's a rule used in build/jam/BuildSetup :

# check the host platform compatibility
SetPlatformCompatibilityFlagVariables HOST_PLATFORM : HOST : host
        : linux openbsd freebsd darwin sunos cygwin ;

You'll want to add there as well.


> Is this the wrong way?  Should UserBuildConfig be in another
> directory?  Documentation is not very clear.

It should be in build/jam/ just like the template IIRC.
Anyway, you don't need it.


François.

Other related posts: