#4028: Hybrid GPT/MBR Initial Program Loader ----------------------------+--------------------------- Reporter: meianoite | Owner: axeld Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: File Systems | Version: R1/pre-alpha1 Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 1 | Platform: All ----------------------------+--------------------------- Comment (by bonefish): Replying to [comment:12 meianoite]: > In any case, I'm still unsure where the appropriate header should reside, were it to be shared. If I understand correctly, and were the header not to be shared, I'd have to grow src/add- ons/kernel/partitioning_systems/intel/Jamfile with something similar to: > > {{{ > DataFileToSourceFile [ FGristFiles MasterBootRecord.h ] : [ FGristFiles base_mbr.bin ] > : kBootCode : 436 ; > }}} The last parameter is a variable name too, declared as `long long`, containing the size of the array. It isn't needed when you create a header, since `sizeof(kBootCode)` works just fine in this case, but if one creates a source file and references it from other source files, one might find it handy. > and have the new header be included by PartitionMapWriter.cpp. That's simple enough, but the shared header case still eludes me. What would be the correct location then? Since it's a generated header, it doesn't really matter. Just generate it in one of the Jamfiles where it is needed and refer to it from the other one. For that you need to 1. add the respective include path: {{{ SubDirHdrs [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) add-ons kernel partitioning_systems intel ] ; }}} and 2. explicitly state the inclusion relationship: {{{ Includes [ FGristFiles myFile.cpp ] : <src!add-ons!kernel!partitioning_systems!intel>MasterBootRecord.h ; }}} Untested, so make sure you check the paths and grists. -- Ticket URL: <http://dev.haiku-os.org/ticket/4028#comment:13> Haiku <http://dev.haiku-os.org> Haiku - the operating system.