Rely on C89 <string.h>
authorAaron Crane <arc@cpan.org>
Sat, 14 Oct 2017 14:26:48 +0000 (16:26 +0200)
committerAaron Crane <arc@cpan.org>
Sat, 21 Oct 2017 15:59:24 +0000 (16:59 +0100)
This requires a corresponding change in the metaconfig units.

26 files changed:
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
NetWare/config.wc
NetWare/config_H.wc
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
configure.com
ext/SDBM_File/sdbm.c
ext/SDBM_File/sdbm.h
perl.h
plan9/config.plan9
plan9/config_h.sample
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc

index 4a52232..43872c1 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -1022,8 +1022,6 @@ i_socks=''
 i_stdbool=''
 i_stdint=''
 i_stdlib=''
-i_string=''
-strings=''
 i_sunmath=''
 i_sysaccess=''
 i_sysdir=''
@@ -10047,46 +10045,6 @@ esac
 prefixvar=vendorscript
 . ./installprefix
 
-: script used to emit important warnings
-cat >warn <<EOS
-$startsh
-if test \$# -gt 0; then
-       echo "\$@" >msg
-else
-       cat >msg
-fi
-echo "*** WARNING:" >&4
-sed -e 's/^/*** /' <msg >&4
-echo "*** " >&4
-cat msg >>config.msg
-echo " " >>config.msg
-rm -f msg
-EOS
-chmod +x warn
-$eunicefix warn
-
-: see which of string.h or strings.h is needed
-echo " "
-strings=`./findhdr string.h`
-if $test "$strings" && $test -r "$strings"; then
-       echo "Using <string.h> instead of <strings.h>." >&4
-       val="$define"
-else
-       val="$undef"
-       strings=`./findhdr strings.h`
-       if $test "$strings" && $test -r "$strings"; then
-               echo "Using <strings.h> instead of <string.h>." >&4
-       else
-               ./warn "No string header found -- You'll surely have problems."
-       fi
-fi
-set i_string
-eval $setvar
-case "$i_string" in
-"$undef") strings=`./findhdr strings.h`;;
-*)       strings=`./findhdr string.h`;;
-esac
-
 : see if qgcvt exists
 set qgcvt d_qgcvt
 eval $inlibc
@@ -10443,12 +10401,7 @@ char *myname = "sprintf";
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 
 int checkit(char *expect, char *got)
 {
@@ -13298,12 +13251,7 @@ extern int errno;
 #ifdef I_UNISTD
 #include <unistd.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
 #include <string.h>
-#else
-#include <strings.h>
-#endif
 $signal_t blech(int x) { exit(3); }
 EOCP
        $cat >> try.c <<'EOCP'
@@ -16075,7 +16023,6 @@ REENTRANT_PROTO*)
 #$i_unistd     I_UNISTD
 #$i_time       I_TIME
 #$i_stdlib     I_STDLIB
-#$i_string     I_STRING
 #$i_malloc     I_MALLOC
 #ifdef I_SYS_TYPES
 #  include <sys/types.h>
@@ -16089,11 +16036,7 @@ REENTRANT_PROTO*)
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 #ifdef I_MALLOC
 #  include <malloc.h>
 #endif
@@ -16784,12 +16727,7 @@ $cat <<EOP >try.c
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 #include <sys/types.h>
 #include <signal.h>
 #ifdef SIGFPE
@@ -18703,7 +18641,7 @@ set strerror_r d_strerror_r
 eval $inlibc
 case "$d_strerror_r" in
 "$define")
-       hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h"
+       hdrs="$i_systypes sys/types.h define stdio.h define string.h"
        case "$d_strerror_r_proto:$usethreads" in
        ":define")      d_strerror_r_proto=define
                set d_strerror_r_proto strerror_r $hdrs
@@ -19098,10 +19036,7 @@ $cat >try.c <<EOCP
 #ifdef I_STDLIB
 #  include <stdlib.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
-#  include <string.h>
-#endif
+#include <string.h>
 #$i_langinfo I_LANGINFO
 #ifdef I_LANGINFO
 #  include <langinfo.h>
@@ -20029,11 +19964,8 @@ $cat >try.c <<EOP
 #define LONG_DOUBLESIZE $longdblsize
 #define LONG_DOUBLEKIND $longdblkind
 #endif
-#$i_string I_STRING
 #include <math.h>
-#ifdef I_STRING
-#  include <string.h>
-#endif
+#include <string.h>
 #include <stdio.h>
 /* Note that whether the sign bit is on or off
  * for NaN depends on the CPU/FPU, and possibly
@@ -22945,6 +22877,24 @@ case "$gccversion" in
        ;;
 esac
 
+: script used to emit important warnings
+cat >warn <<EOS
+$startsh
+if test \$# -gt 0; then
+       echo "\$@" >msg
+else
+       cat >msg
+fi
+echo "*** WARNING:" >&4
+sed -e 's/^/*** /' <msg >&4
+echo "*** " >&4
+cat msg >>config.msg
+echo " " >>config.msg
+rm -f msg
+EOS
+chmod +x warn
+$eunicefix warn
+
 : see if this is a termio system
 val="$undef"
 val2="$undef"
@@ -24421,7 +24371,6 @@ i_socks='$i_socks'
 i_stdbool='$i_stdbool'
 i_stdint='$i_stdint'
 i_stdlib='$i_stdlib'
-i_string='$i_string'
 i_sunmath='$i_sunmath'
 i_sysaccess='$i_sysaccess'
 i_sysdir='$i_sysdir'
@@ -24729,7 +24678,6 @@ stdio_filbuf='$stdio_filbuf'
 stdio_ptr='$stdio_ptr'
 stdio_stream_array='$stdio_stream_array'
 strerror_r_proto='$strerror_r_proto'
-strings='$strings'
 submit='$submit'
 subversion='$subversion'
 sysman='$sysman'
index 33083bc..8bac040 100644 (file)
@@ -767,7 +767,6 @@ i_socks='undef'
 i_stdbool='undef'
 i_stdint='define'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
index a7f3849..b33a9c1 100644 (file)
@@ -625,7 +625,6 @@ i_sgtty='undef'
 i_shadow='define'
 i_socks='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
index 660dd9c..56553ad 100644 (file)
@@ -749,7 +749,6 @@ i_socks='undef'
 i_stdbool='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index a369f6e..164de99 100644 (file)
  */
 #define I_NETINET_IN   /**/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index 03156f0..955903b 100644 (file)
@@ -3564,10 +3564,6 @@ i_stdint (i_stdint.U):
        indicates to the C program that <stdint.h> exists and should
        be included.
 
-i_string (i_string.U):
-       This variable conditionally defines the I_STRING symbol, which
-       indicates that <string.h> should be included rather than <strings.h>.
-
 i_sunmath (i_sunmath.U):
        This variable conditionally defines the I_SUNMATH symbol, and indicates
        whether a C program should include <sunmath.h>.
@@ -5229,10 +5225,6 @@ strerror_r_proto (d_strerror_r.U):
        REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
        is defined.
 
-strings (i_string.U):
-       This variable holds the full path of the string header that will be
-       used. Typically /usr/include/string.h or /usr/include/strings.h.
-
 submit (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
index 1cc8d53..bdbb1b5 100644 (file)
@@ -785,7 +785,6 @@ i_socks='undef'
 i_stdbool='define'
 i_stdint='define'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
index 8749cee..4ca543f 100644 (file)
  */
 /*#define I_STDBOOL    / **/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index 00f2458..89f5950 100755 (executable)
@@ -679,12 +679,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_niin I_NETINET_IN  /**/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#$i_string I_STRING            /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index 5f354aa..fd569dd 100644 (file)
@@ -6579,7 +6579,6 @@ $   WC "i_stdbool='undef'"
 $ ENDIF
 $ WC "i_stdint='undef'"
 $ WC "i_stdlib='define'"
-$ WC "i_string='define'"
 $ WC "i_sunmath='undef'"
 $ WC "i_sysaccess='" + i_sysaccess + "'"
 $ WC "i_sysdir='undef'"
index e055f08..2099857 100644 (file)
 # include <sys/file.h>
 #endif
 
-#ifdef I_STRING
-# ifndef __ultrix__
-#  include <string.h>
-# endif
-#else
-# include <strings.h>
-#endif
+#include <string.h>
 
 /*
  * externals
index 085aace..e353569 100644 (file)
@@ -178,13 +178,7 @@ Free_t   Perl_mfree(Malloc_t where);
 
 #endif /* MYMALLOC */
 
-#ifdef I_STRING
-# ifndef __ultrix__
-#  include <string.h>
-# endif
-#else
-# include <strings.h>
-#endif
+#include <string.h>
 
 #define memzero(d,l) memset(d,0,l)
 
diff --git a/perl.h b/perl.h
index 4072bd2..d8348ab 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -901,11 +901,7 @@ EXTERN_C int usleep(unsigned int);
 #endif
 
 #ifndef __SYMBIAN32__
-#  if defined(I_STRING) || defined(__cplusplus)
-#     include <string.h>
-#  else
-#     include <strings.h>
-#  endif
+#  include <string.h>
 #endif
 
 /* This comes after <stdlib.h> so we don't try to change the standard
index 101ad92..b1c566d 100644 (file)
  */
 #define I_NETINET_IN   /* config-skip */
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index 2a31593..d888d07 100644 (file)
  */
 #define I_NETINET_IN   /**/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index 26d8666..22404da 100644 (file)
@@ -761,7 +761,6 @@ i_socks='undef'
 i_stdbool='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index e5fd1e3..d187d61 100644 (file)
@@ -690,7 +690,6 @@ i_stdarg='define'
 i_stdbool='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index 77187c9..85d837f 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
 #endif
 
 /* Generated from:
- * 7d20869bdf5823fce14e1728a7c415917f7e1fcddf5df6f6b4b16a1a9e2cc6cb config_h.SH
- * 0840ae8893cc31a34607870782c78181109e94dfaedff874545a5b2227501892 uconfig.sh
+ * 7913b611cab4bc7877d2d75fa7ebdacc195e251c150ec7bf4bec7cc4e558b971 config_h.SH
+ * aa2ab1991bf5916d4b01b69ed4108a49a96fdf763ef66dda095036df8b63af48 uconfig.sh
  * ex: set ro: */
index d23dfab..2237983 100644 (file)
@@ -675,7 +675,6 @@ i_socks='undef'
 i_stdbool='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index 60c49b1..736e6c3 100644 (file)
@@ -675,7 +675,6 @@ i_socks='undef'
 i_stdbool='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index 7349691..1ec2aff 100644 (file)
@@ -745,7 +745,6 @@ i_socks='undef'
 i_stdbool='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index 5baf5fe..4ad5b9c 100644 (file)
@@ -759,7 +759,6 @@ i_socks='undef'
 i_stdbool='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index ef7f652..f7fb2c1 100644 (file)
@@ -756,7 +756,6 @@ i_socks='undef'
 i_stdbool='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
index f4a1e12..761523b 100644 (file)
  */
 /*#define I_NETINET_IN /**/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index 9bd3db7..d227451 100644 (file)
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.
index f4bb807..606dd8c 100644 (file)
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STRING:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING               /**/
-
 /* I_SYS_DIR:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/dir.h>.