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