Example: Portable OpenSSH (continued)

Actually uses a combination of platform-specified and compile-time detection

Can't detect everything at compile-time
Broken network APIs
Subtle platform bugs
Tests that require root access

So, quite a few things are set by the platform. Examples:
Use of pipes vs socketpair for stdio
Broken set user/group primitives
setproctitle() replacement method
Character sequence in /etc/passwd for locked account

"make survey" (optional)
Collects the options that detected by autoconf
Send them back to the portability team

