summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure11
-rw-r--r--Cross/config.sh-arm-linux1
-rw-r--r--NetWare/config.wc1
-rw-r--r--Porting/Glossary4
-rw-r--r--Porting/config.sh1
-rw-r--r--config_h.SH6
-rw-r--r--configure.com1
-rw-r--r--epoc/config.sh1
-rw-r--r--perl.h5
-rw-r--r--plan9/config_sh.sample1
-rw-r--r--symbian/config.sh1
-rwxr-xr-xuconfig.sh1
-rw-r--r--win32/config.bc1
-rw-r--r--win32/config.ce1
-rw-r--r--win32/config.gc1
-rw-r--r--win32/config.vc1
-rw-r--r--win32/config.vc641
17 files changed, 39 insertions, 0 deletions
diff --git a/Configure b/Configure
index ef8e960e73..5bc904ac6b 100755
--- a/Configure
+++ b/Configure
@@ -869,6 +869,7 @@ i_limits=''
i_locale=''
i_machcthr=''
i_malloc=''
+i_mallocmalloc=''
i_math=''
i_memory=''
i_mntent=''
@@ -6550,6 +6551,10 @@ case "$inc_version_list" in
esac
$rm -f getverlist
+: see if malloc/malloc.h has to be included
+set malloc/malloc.h i_mallocmalloc
+eval $inhdr
+
: see if this is a malloc.h system
: we want a real compile instead of Inhdr because some systems have a
: malloc.h that just gives a compile error saying to use stdlib.h instead
@@ -6557,6 +6562,11 @@ echo " "
$cat >try.c <<EOCP
#include <stdlib.h>
#include <malloc.h>
+$i_mallocmalloc I_MALLOCMALLOC
+#ifdef I_MALLOCMALLOC
+# include <malloc/malloc.h>
+#endif
+
int main () { return 0; }
EOCP
set try
@@ -22353,6 +22363,7 @@ i_limits='$i_limits'
i_locale='$i_locale'
i_machcthr='$i_machcthr'
i_malloc='$i_malloc'
+i_mallocmalloc='$i_mallocmalloc'
i_math='$i_math'
i_memory='$i_memory'
i_mntent='$i_mntent'
diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux
index a790f3e78c..bb403c0514 100644
--- a/Cross/config.sh-arm-linux
+++ b/Cross/config.sh-arm-linux
@@ -634,6 +634,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='define'
diff --git a/NetWare/config.wc b/NetWare/config.wc
index 5be669c100..f7f723b162 100644
--- a/NetWare/config.wc
+++ b/NetWare/config.wc
@@ -617,6 +617,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/Porting/Glossary b/Porting/Glossary
index b6b9947125..0b82f91298 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -2923,6 +2923,10 @@ i_malloc (i_malloc.U):
This variable conditionally defines the I_MALLOC symbol, and indicates
whether a C program should include <malloc.h>.
+i_mallocmalloc (i_mallocmalloc.U):
+ This variable conditionally defines the I_MALLOCMALLOC symbol,
+ and indicates whether a C program should include <malloc/malloc.h>.
+
i_math (i_math.U):
This variable conditionally defines the I_MATH symbol, and indicates
whether a C program may include <math.h>.
diff --git a/Porting/config.sh b/Porting/config.sh
index f6b162f965..826b03ea10 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -647,6 +647,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='define'
diff --git a/config_h.SH b/config_h.SH
index 05b464b622..2543cb5914 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -689,6 +689,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
*/
#$i_locale I_LOCALE /**/
+/* I_MALLOCMALLOC:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <malloc/malloc.h>.
+ */
+#$i_mallocmalloc I_MALLOCMALLOC /**/
+
/* I_MATH:
* This symbol, if defined, indicates to the C program that it should
* include <math.h>.
diff --git a/configure.com b/configure.com
index 5adb34806d..09a71d6fc7 100644
--- a/configure.com
+++ b/configure.com
@@ -6241,6 +6241,7 @@ $ WC "i_limits='define'"
$ WC "i_locale='" + i_locale + "'"
$ WC "i_machcthr='undef'"
$ WC "i_machcthreads='undef'"
+$ WC "i_mallocmalloc='undef'"
$ WC "i_math='define'"
$ WC "i_memory='undef'"
$ WC "i_mntent='undef'"
diff --git a/epoc/config.sh b/epoc/config.sh
index 5a34e9ae7d..0f93e84fe6 100644
--- a/epoc/config.sh
+++ b/epoc/config.sh
@@ -580,6 +580,7 @@ i_limits='define'
i_locale='undef'
i_machcthr='undef'
i_malloc='undef'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/perl.h b/perl.h
index 87ad969f54..b69baca874 100644
--- a/perl.h
+++ b/perl.h
@@ -4073,6 +4073,11 @@ struct perl_memory_debug_header {
# define INIT_TRACK_MEMPOOL(header, interp)
#endif
+#ifdef I_MALLOCMALLOC
+/* Needed for malloc_size(), malloc_good_size() on some systems */
+# include <malloc/malloc.h>
+#endif
+
#ifdef MYMALLOC
# define Perl_safesysmalloc_size(where) Perl_malloced_size(where)
#else
diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample
index f6675c183a..dccbb5c5a6 100644
--- a/plan9/config_sh.sample
+++ b/plan9/config_sh.sample
@@ -628,6 +628,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='undef'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/symbian/config.sh b/symbian/config.sh
index 39dfab2e1a..5c7d77fa5b 100644
--- a/symbian/config.sh
+++ b/symbian/config.sh
@@ -555,6 +555,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='undef'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/uconfig.sh b/uconfig.sh
index 900cd332a3..1be117590d 100755
--- a/uconfig.sh
+++ b/uconfig.sh
@@ -542,6 +542,7 @@ i_limits='undef'
i_locale='undef'
i_machcthr='undef'
i_malloc='undef'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/win32/config.bc b/win32/config.bc
index b5b8d3f661..c558db309d 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -622,6 +622,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/win32/config.ce b/win32/config.ce
index 099ba7a8ca..a06c3dd8c0 100644
--- a/win32/config.ce
+++ b/win32/config.ce
@@ -615,6 +615,7 @@ i_limits='define'
i_locale='undef'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/win32/config.gc b/win32/config.gc
index 6ecbc00b63..858a2745e2 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -622,6 +622,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/win32/config.vc b/win32/config.vc
index bbd7489be0..5786dfdeef 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -622,6 +622,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
diff --git a/win32/config.vc64 b/win32/config.vc64
index 797627a905..3b44f28f8b 100644
--- a/win32/config.vc64
+++ b/win32/config.vc64
@@ -622,6 +622,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'