On Dec 20, 2005, at 1:03 PM, Philip Rinehart wrote:
ah, so that's interesting, if you build xnu as ppc, you then need to build all further projects as ppc only?
Correct. I realize we're lacking documentation in this area, so I'm really glad you're asking these questions. Hopefully I can put together some more complete documentation soon. Here's the overall flow of darwinbuild: 1. you invoke darwinbuild perl 2. darwinbuild asks darwinxref for the list of build-time dependencies needed for perl 3. darwinbuild looks for the roots for each of these dependencies a. in the local Roots directory b. at each of the binary_sites URLs in the plist 4. dependencies are copied into the BuildRoot 5. the build is started The reason for 3.a. is to allow you to make changes to projects and use those in your subsequent builds. For example, if you were to build a modified Libc, then a Libsystem, you probably want the Libsystem to pick up your Libc modifications. If you build a root ppc-only, then it's not going to have the necessary i386 parts that another project might depend on. In the case of xnu, it doesn't produce the necessary i386 header files. In the case of a dynamic library, it won't have the i386 symbols that another project needs to link against. Hope that helps shed some light on what's going on. - Kevin