diff options
Diffstat (limited to 'mDNSResponder/mDNSMacOSX/mDNSResponder-xcodeproj-explanation.txt')
-rw-r--r-- | mDNSResponder/mDNSMacOSX/mDNSResponder-xcodeproj-explanation.txt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSMacOSX/mDNSResponder-xcodeproj-explanation.txt b/mDNSResponder/mDNSMacOSX/mDNSResponder-xcodeproj-explanation.txt new file mode 100644 index 00000000..e5dfaa3e --- /dev/null +++ b/mDNSResponder/mDNSMacOSX/mDNSResponder-xcodeproj-explanation.txt @@ -0,0 +1,40 @@ +The mDNSResponder project has three umbrella targets: +Build Some +Build More +Build All + +The “Build Some” target builds: +mDNSResponder +mDNSResponderHelper +dns-sd tool +dnsctl +mDNSNetMonitor +dns_services +BonjourEvents + +The “Build More” target builds all of “Build Some”, plus +dnsextd +ddnswriteconfig +PreferencePane + +The “Build All” target builds all of “Build More” (including “Build Some”) plus +SystemLibraries + +Now, the explanation for this three-layer hierarchy: + +The “Build More” is the *first* target in the Xcode project. +This is what B&I builds by default. +Why not “Build All”? Because SystemLibraries is special. +B&I builds the project in two passes. B&I builds SystemLibraries first, to +make LibSystem. Then B&I builds builds the rest. The default target needs to +be everything *except* SystemLibraries — i.e. the “Build More” target. + +The “Build Some” target builds the subset of “Build More” +that is useful in routine day-to-day development. +Since dnsextd, ddnswriteconfig and the PreferencePane aren’t usually +what we’re working on, it’s quicker not to rebuild them every time. + +The “Build All” target is the final one. It builds absolutely everything. +B&I never builds this (they do the two-pass build) but it’s there so that +after making changes, but before checking them in, we can quickly and +easily do a “Build All” and make sure our changes haven’t broken anything. |