#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.