summaryrefslogtreecommitdiffhomepage
path: root/auto/mmap
diff options
context:
space:
mode:
Diffstat (limited to 'auto/mmap')
-rw-r--r--auto/mmap87
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