It means exactly that: `HAVE_UNISTD_H` is supposed to be defined if `unistd.h` is available. This is set for example by Autoconf; see its header macro definitions.
This assumes that some external tool checks whether `unistd.h` _is_ available and updates another header file (`config.h` with Autoconf, typically) to store that fact. The C compiler itself doesn’t set this.