The Windows product builds a small executable that then loads the main chromium dll, and hands off control to that. I believe this is done solely for updating reasons. All the difference processes start from that one shim.
On the Mac, we are currently building as a single executable. But, this brings up some complications, we need to be able to launch the Renderers with different Cocoa initialization. This data comes out of the info.plist, so we really need different bundles on disk (the OS acts on the data before the process is even started). So what it's looking like is that we need to move to a world where we also have a small shim for Chromium that loads a main shared lib and hands off control. Then we'll have a second shim for Renderers (and maybe plugin hosts, etc.) that loads the main shared lib and hands off control. Each of these shims will have different info.plists to provide the different Cocoa configuration information. Linux currently builds as one executable also. But Adam proposed we create a second executable (via hardlink?) for AppArmor as a sandbox? Does it make sense to standardize/require a small shell and shared lib for all platforms? One advantage of this approach on all platforms is they can initialize breakpad/crash reporting to the started up in the shim, so a crash during the loading of the main shared lib would be captured. One place not standardizing this gets ugly is within the build system, where it could become very complex expressing what goes into apps vs. shared libs. Thoughts/suggestions/comments? TVL --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---