This morning I uploaded a version of w3-el that doesn't compile upon installation--instead, there are separate precompiled packages for Emacs 19 and Emacs 20, plus a shared documentation package. I see this as a better way to go than forcing the end-user to have to sit through a long compile (it can take 15-30 minutes for w3-el to compile on an older machine).
I am trying to remember the rationale we had for making Emacs' addon packages compile when they install themselves, and I can't remember it. Perhaps you can remind me. Unless there's a really good reason, I think it might be better strategy to more towards something closer to the w3-el model, i.e., one binary package for each Emacs version: for instance, bbdb-e19, bbdb-e20, bbdb-x19, bbdb-x20. There could be a bbdb-common or bbdb-doc for shared files. Comments?