10Sigor@sysoev.ru 20Sigor@sysoev.ru# Copyright (C) Igor Sysoev 30Sigor@sysoev.ru# Copyright (C) NGINX, Inc. 40Sigor@sysoev.ru 50Sigor@sysoev.ru 60Sigor@sysoev.ru# Linux, FreeBSD, Solaris, MacOSX. 70Sigor@sysoev.ru 80Sigor@sysoev.runxt_feature="MAP_ANON" 90Sigor@sysoev.runxt_feature_name=NXT_HAVE_MAP_ANON 100Sigor@sysoev.runxt_feature_run=yes 110Sigor@sysoev.runxt_feature_incs= 120Sigor@sysoev.runxt_feature_libs= 130Sigor@sysoev.runxt_feature_test="#include <stdlib.h> 140Sigor@sysoev.ru #include <sys/mman.h> 150Sigor@sysoev.ru 16*2228Sa.clayton@nginx.com int main(void) { 170Sigor@sysoev.ru if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, 180Sigor@sysoev.ru MAP_PRIVATE | MAP_ANON, -1, 0) 190Sigor@sysoev.ru == MAP_FAILED) 200Sigor@sysoev.ru return 1; 210Sigor@sysoev.ru return 0; 220Sigor@sysoev.ru }" 230Sigor@sysoev.ru. auto/feature 240Sigor@sysoev.ru 250Sigor@sysoev.ru 260Sigor@sysoev.ruif [ $nxt_found = no ]; then 270Sigor@sysoev.ru 280Sigor@sysoev.ru # Linux, Solaris, HP-UX. 290Sigor@sysoev.ru 300Sigor@sysoev.ru nxt_feature="MAP_ANONYMOUS" 310Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_MAP_ANONYMOUS 320Sigor@sysoev.ru nxt_feature_run=yes 330Sigor@sysoev.ru nxt_feature_incs= 340Sigor@sysoev.ru nxt_feature_libs= 350Sigor@sysoev.ru nxt_feature_test="#include <stdlib.h> 360Sigor@sysoev.ru #include <sys/mman.h> 370Sigor@sysoev.ru 38*2228Sa.clayton@nginx.com int main(void) { 390Sigor@sysoev.ru if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, 400Sigor@sysoev.ru MAP_PRIVATE | MAP_ANONYMOUS, -1, 0) 410Sigor@sysoev.ru == MAP_FAILED) 420Sigor@sysoev.ru return 1; 430Sigor@sysoev.ru return 0; 440Sigor@sysoev.ru }" 450Sigor@sysoev.ru . auto/feature 460Sigor@sysoev.rufi 470Sigor@sysoev.ru 480Sigor@sysoev.ru 490Sigor@sysoev.ru# Linux. 500Sigor@sysoev.ru 510Sigor@sysoev.runxt_feature="MAP_POPULATE" 520Sigor@sysoev.runxt_feature_name=NXT_HAVE_MAP_POPULATE 530Sigor@sysoev.runxt_feature_run=no 540Sigor@sysoev.runxt_feature_incs= 550Sigor@sysoev.runxt_feature_libs= 560Sigor@sysoev.runxt_feature_test="#include <stdlib.h> 570Sigor@sysoev.ru #include <sys/mman.h> 580Sigor@sysoev.ru 59*2228Sa.clayton@nginx.com int main(void) { 600Sigor@sysoev.ru if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, 610Sigor@sysoev.ru MAP_SHARED | MAP_POPULATE, -1, 0) 620Sigor@sysoev.ru == MAP_FAILED) 630Sigor@sysoev.ru return 1; 640Sigor@sysoev.ru return 0; 650Sigor@sysoev.ru }" 660Sigor@sysoev.ru. auto/feature 670Sigor@sysoev.ru 680Sigor@sysoev.ru 690Sigor@sysoev.ru# FreeBSD. 700Sigor@sysoev.ru 710Sigor@sysoev.runxt_feature="MAP_PREFAULT_READ" 720Sigor@sysoev.runxt_feature_name=NXT_HAVE_MAP_PREFAULT_READ 730Sigor@sysoev.runxt_feature_run=yes 740Sigor@sysoev.runxt_feature_incs= 750Sigor@sysoev.runxt_feature_libs= 760Sigor@sysoev.runxt_feature_test="#include <stdlib.h> 770Sigor@sysoev.ru #include <sys/mman.h> 780Sigor@sysoev.ru 79*2228Sa.clayton@nginx.com int main(void) { 800Sigor@sysoev.ru if (mmap(NULL, 4096, PROT_READ | PROT_WRITE, 810Sigor@sysoev.ru MAP_PRIVATE | MAP_ANON | MAP_PREFAULT_READ, 820Sigor@sysoev.ru -1, 0) 830Sigor@sysoev.ru == MAP_FAILED) 840Sigor@sysoev.ru return 1; 850Sigor@sysoev.ru return 0; 860Sigor@sysoev.ru }" 870Sigor@sysoev.ru. auto/feature 88