[darwinbuild] Building perl-35
Kevin Van Vechten
kevin at opendarwin.org
Tue Dec 20 13:13:58 PST 2005
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.
More information about the darwinbuild-dev