diff options
author | Igor Sysoev <igor@sysoev.ru> | 2017-01-17 20:00:00 +0300 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2017-01-17 20:00:00 +0300 |
commit | 16cbf3c076a0aca6d47adaf3f719493674cf2363 (patch) | |
tree | e6530480020f62a2bdbf249988ec3e2a751d3927 /auto/malloc | |
download | unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.gz unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.bz2 |
Initial version.
Diffstat (limited to 'auto/malloc')
-rw-r--r-- | auto/malloc | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/auto/malloc b/auto/malloc new file mode 100644 index 00000000..c3372cfe --- /dev/null +++ b/auto/malloc @@ -0,0 +1,159 @@ + +# Copyright (C) Igor Sysoev +# Copyright (C) NGINX, Inc. + + +# Linux glibc 2.1.91, FreeBSD 7.0, Solaris 11, +# MacOSX 10.6 (Snow Leopard), NetBSD 5.0. + +nxt_feature="posix_memalign()" +nxt_feature_name=NXT_HAVE_POSIX_MEMALIGN +nxt_feature_run=yes +nxt_feature_incs= +nxt_feature_libs= +nxt_feature_test="#include <stdlib.h> + + int main() { + void *p; + + if (posix_memalign(&p, 4096, 4096) != 0) + return 1; + + free(p); + return 0; + }" +. auto/feature + + +if [ $nxt_found = no ]; then + + # Solaris, HP-UX. + + nxt_feature="memalign()" + nxt_feature_name=NXT_HAVE_MEMALIGN + nxt_feature_run=yes + nxt_feature_incs= + nxt_feature_libs= + nxt_feature_test="#include <stdlib.h> + + int main() { + void *p; + + p = memalign(4096, 4096); + if (p == NULL) + return 1; + + free(p); + return 0; + }" + . auto/feature +fi + + +# Linux malloc_usable_size(). + +nxt_feature="Linux malloc_usable_size()" +nxt_feature_name=NXT_HAVE_MALLOC_USABLE_SIZE +nxt_feature_run=yes +nxt_feature_incs= +nxt_feature_libs= +nxt_feature_test="#include <malloc.h> + + int main() { + void *p; + + p = malloc(4096); + if (malloc_usable_size(p) < 4096) + return 1; + return 0; + }" +. auto/feature + + +if [ $nxt_found = no ]; then + + # FreeBSD malloc_usable_size(). + + nxt_feature="FreeBSD malloc_usable_size()" + nxt_feature_name=NXT_HAVE_MALLOC_USABLE_SIZE + nxt_feature_run=yes + nxt_feature_incs= + nxt_feature_libs= + nxt_feature_test="#include <stdlib.h> + #include <malloc_np.h> + + int main() { + void *p; + + p = malloc(4096); + if (malloc_usable_size(p) < 4096) + return 1; + return 0; + }" + . auto/feature +fi + + +if [ $nxt_found = no ]; then + + # MacOSX malloc_good_size(). + + nxt_feature="MacOSX malloc_good_size()" + nxt_feature_name=NXT_HAVE_MALLOC_GOOD_SIZE + nxt_feature_run=yes + nxt_feature_incs= + nxt_feature_libs= + nxt_feature_test="#include <malloc/malloc.h> + + int main() { + if (malloc_good_size(4096) < 4096) + return 1; + return 0; + }" + . auto/feature +fi + + +# alloca(). + +# Linux, FreeBSD, MacOSX. + +nxt_feature="alloca()" +nxt_feature_name=NXT_HAVE_ALLOCA +nxt_feature_run=yes +nxt_feature_incs= +nxt_feature_libs= +nxt_feature_test="#include <stdlib.h> + + int main() { + void *p; + + p = alloca(256); + if (p == 0) + return 1; + return 0; + }" +. auto/feature + + +if [ $nxt_found = no ]; then + + # Linux, Solaris, MacOSX. + + nxt_feature="alloca() in alloca.h" + nxt_feature_name=NXT_HAVE_ALLOCA_H + nxt_feature_run=yes + nxt_feature_incs= + nxt_feature_libs= + nxt_feature_test="#include <alloca.h> + + int main() { + void *p; + + p = alloca(256); + if (p == 0) + return 1; + return 0; + }" + . auto/feature +fi |