diff options
Diffstat (limited to 'auto/mmap')
-rw-r--r-- | auto/mmap | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/auto/mmap b/auto/mmap new file mode 100644 index 00000000..8ecdf670 --- /dev/null +++ b/auto/mmap @@ -0,0 +1,87 @@ + +# Copyright (C) Igor Sysoev +# Copyright (C) NGINX, Inc. + + +# Linux, FreeBSD, Solaris, MacOSX. + +nxt_feature="MAP_ANON" +nxt_feature_name=NXT_HAVE_MAP_ANON +nxt_feature_run=yes +nxt_feature_incs= +nxt_feature_libs= +nxt_feature_test="#include <stdlib.h> + #include <sys/mman.h> + + int main() { + if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANON, -1, 0) + == MAP_FAILED) + return 1; + return 0; + }" +. auto/feature + + +if [ $nxt_found = no ]; then + + # Linux, Solaris, HP-UX. + + nxt_feature="MAP_ANONYMOUS" + nxt_feature_name=NXT_HAVE_MAP_ANONYMOUS + nxt_feature_run=yes + nxt_feature_incs= + nxt_feature_libs= + nxt_feature_test="#include <stdlib.h> + #include <sys/mman.h> + + int main() { + if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0) + == MAP_FAILED) + return 1; + return 0; + }" + . auto/feature +fi + + +# Linux. + +nxt_feature="MAP_POPULATE" +nxt_feature_name=NXT_HAVE_MAP_POPULATE +nxt_feature_run=no +nxt_feature_incs= +nxt_feature_libs= +nxt_feature_test="#include <stdlib.h> + #include <sys/mman.h> + + int main() { + if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, + MAP_SHARED | MAP_POPULATE, -1, 0) + == MAP_FAILED) + return 1; + return 0; + }" +. auto/feature + + +# FreeBSD. + +nxt_feature="MAP_PREFAULT_READ" +nxt_feature_name=NXT_HAVE_MAP_PREFAULT_READ +nxt_feature_run=yes +nxt_feature_incs= +nxt_feature_libs= +nxt_feature_test="#include <stdlib.h> + #include <sys/mman.h> + + int main() { + if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANON | MAP_PREFAULT_READ, + -1, 0) + == MAP_FAILED) + return 1; + return 0; + }" +. auto/feature |