
Is autolinking the only reason for these dependencies? If so, let's yank out autolinking of Serialization until we know we can fix the problem without include order dependencies. We've been talking about releasing a 1.33.1 (beta) to address the problems in 1.33.0, and this issue has quickly elevated itself to top priority.
I hope not: auto-linking doesn't introduce any header dependencies of it's own. I'm paraphrasing but I believe there are two issues here: 1) Some serialisation headers have to be included in a certain order, that's a bad thing IMO, and yanking out auto-linking support won't address that. 2) The headers that include the auto-linking code, can be included by clients that don't actually need to link to the library. There's no clear cut serialisation header that's only included when you need to link to the extern lib. I believe that both issues should be solvable with header refactoring: as far as auto-linking goes, it means that the declarations for objects that are placed in the compiled lib need to be factored out into separate headers. Robert: is there any help you need from me with the auto-linking code? Anything that you don't understand or is causing problems here? HTH, John.