[haiku-bugs] Re: [Haiku] #8730: Improve the build system for building on Haiku

  • From: "mmadia" <trac@xxxxxxxxxxxx>
  • Date: Tue, 07 Aug 2012 21:05:35 -0000

#8730: Improve the build system for building on Haiku
----------------------------+----------------------------
   Reporter:  mmadia        |      Owner:  mmadia
       Type:  enhancement   |     Status:  in-progress
   Priority:  normal        |  Milestone:  R1
  Component:  Build System  |    Version:  R1/Development
 Resolution:                |   Keywords:
 Blocked By:                |   Blocking:
Has a Patch:  0             |   Platform:  All
----------------------------+----------------------------

Comment (by mmadia):

 This might be the reason why the included headers are different than what
 is expected/needed...

 First, [libroot's Jamfile http://cgit.haiku-
 os.org/haiku/tree/src/build/libroot/Jamfile#n79] sets USES_BE_API on
 librootSources.
 The entire implications of USES_BE_API is still unclear, but it seems that
 at least it's responsible for including build/posix/ and build/os/.

 For non-BeOS compatible hosts, [BuildSetup http://cgit.haiku-
 os.org/haiku/tree/build/jam/BuildSetup#n914] sets HOST_BE_API_HEADERS to
 include both build/posix, build/os/, and other directories.

 In MainBuildRules, [rule BuildPlatformMain http://cgit.haiku-
 os.org/haiku/tree/build/jam/MainBuildRules#n606]
 propagates USES_BE_API to the objects in librootSources.

 Then finally in OverriddenJamRules, [rule Object http://cgit.haiku-
 os.org/haiku/tree/build/jam/OverriddenJamRules#n94] adds
 HOST_BE_API_HEADERS to sysHeaders.
 Adding an Echo at line 99, this output snippet backs this idea up

 {{{
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [ haiku/headers/build
 ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target/app ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target/drivers ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target/kernel ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target/interface ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target/storage ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/os_target/support ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/posix_target ]  :[true]
 ... Subdir: [ haiku/src/build/libroot ]  UseHeaders: [
 haiku/headers/build/private/kernel haiku/headers/build/private/system ]
 :[true]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 ... Subdir: [ haiku/src/build/libroot ]  OverriddenJamRules:Object: [
 generated.x86gcc2/build haiku/headers/build haiku/headers/build/posix
 haiku/headers/build/os haiku/headers/build/os/app
 haiku/headers/build/os/drivers haiku/headers/build/os/kernel
 haiku/headers/build/os/interface haiku/headers/build/os/locale
 haiku/headers/build/os/opengl haiku/headers/build/os/storage
 haiku/headers/build/os/support haiku/headers/build/private ]
 }}}

 Does this sound correct?

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8730#comment:20>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: