4This project is a fork of the Likewise DCE/RPC renovation.
6The Likewise git repository is available here:
12The build system for DCE/RPC is relatively complex, partly due to
13the use of automake and libtool and partly because it does a lot
14of code generation.
16Xcode does not support this sort of thing particularly well, so we
17make heavy use of shell script build phases and "workarounds".
19Our basic approach to cross-compilation is to separate the build
20into two phases. We have a dceidl project that builds the IDL
21compiler and installs it into the SDK. Then we have the dcerpc
22project that builds the DCERPC framework using the previously
23installed IDL compiler.
25The dcerpc and dceidl projects should typically by run with different
26build architectures, since dceidl is expected to run on the uild
27host, and dcerpc is expected to run on the target host. Inside
28Apple, the build group has all this preconfigured.
30We assume that the IDL compiler is actually an IDL cross-compiler.
31This assumption is valid because the autotools build system uses
32the "generic" architecture, and everything that depends on the
33target architecture is determined at compilation time without the
34use of autoconf tests.
36We do use autoconf tests to select available features when we are
37building the DCERPC framework, and this relies on the fact that
38features vary between target SDKs, but not between target architectures.
39You can only target a single SDK, and within that SDK, the feature
40set is constant, and indepednent of the suported architecture.
41Therefore it is valid to do a single configure pass followed by a
44James Peach, Tue May 4 10:46:53 PDT 2010