I'm compiling pypy-1.8 with ecopied ebuild on old MacBook with 1GiB RAM. The ebuild checks whether the memory size is larger than a limit (2GiB) or not. So, the emerge should have been stopped at the check (or have only warned?, I'm not sure), but it just have passed there with saying OK. The cause of failure is that, on Linux check-reqs.eclass checks the memory size with /proc/meminfo, which presumably returns memory size in kibibytes, but on the platforms without /proc it checks with "sysctl hw.physmem", which returns memory size in bytes. Thus, the value obtained by sysctl should be divided by 1024. Additional information: on OS X, hw.physmem is defined as a 32-bit integer and sysctl hw.physmem returns at most 2^31 = 2GiB, even the machine has more. If you are serious, you have to use hw.memsize.
it's more difficult, since freebsd does it again different...