1DCE/RPC 2------- 3 4This project is a fork of the Likewise DCE/RPC renovation. 5 6The Likewise git repository is available here: 7 git://git.likewisesoftware.com/likewise-open.git 8 9Build notes. 10------------ 11 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. 15 16Xcode does not support this sort of thing particularly well, so we 17make heavy use of shell script build phases and "workarounds". 18 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. 24 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. 29 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. 35 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 42multi-architecture build. 43 44James Peach, Tue May 4 10:46:53 PDT 2010 45