Libraries and header files are placed into /usr/lib and /usr/include. If you're using a cross compiler, those paths are not resolved relative to the filesystem root but to the directory that was specified by --with-sysroot. So specify --with-sysroot and then put your headers into <sysroot>/usr/include.
EDIT: IIRC, --with-sysroot is incompatible with --without-headers. To still build the freestanding --with-sysroot environment correctly, build GCC via
Code:
make all-gcc inhibit_libc=true
If you want to build an entire userspace, you might want into the OS-specific toolchain page in the wiki.