summaryrefslogtreecommitdiffhomepage
path: root/auto/malloc
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2017-01-17 20:00:00 +0300
committerIgor Sysoev <igor@sysoev.ru>2017-01-17 20:00:00 +0300
commit16cbf3c076a0aca6d47adaf3f719493674cf2363 (patch)
treee6530480020f62a2bdbf249988ec3e2a751d3927 /auto/malloc
downloadunit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.gz
unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.bz2
Initial version.
Diffstat (limited to 'auto/malloc')
-rw-r--r--auto/malloc159
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