We can always build debugserver, but we can't always sign it to be useable for testing. LLDB_USE_SYSTEM_DEBUGSERVER should only tell whether or not the system debugserver should be used for testing.
The old behavior complicated the logic around debugserver a lot. The new logic sorts out most of it.
Please note that this patch is in early stage and needs some more testing. It should not affect platfroms other than Darwin. It builds on Davide's approach to validate the code-signing identity at configuration time.
What do you think?
Could we actually preserve LLDB_NO_DEBUGSERVER? After pulling this patch down into my tree and modifying my caches, I realize that I never really change or test debugserver and would like to avoid building it at all.