This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Win32: don't include version specific config for prebuilt config_h.*
authorTony Cook <tony@develop-help.com>
Mon, 19 Oct 2020 03:26:57 +0000 (14:26 +1100)
committerTony Cook <tony@develop-help.com>
Tue, 1 Dec 2020 04:29:33 +0000 (15:29 +1100)
This fixes the problem where doing a regen_config_h with a compiler
that supports stdbool.h would generate a config_h.* that would
result in a build failure on older compilers that didn't support
stdbool.h.

win32/GNUmakefile
win32/Makefile
win32/config_H.gc
win32/config_H.vc
win32/config_sh.PL
win32/makefile.mk

index 084cb50..cb8c5cb 100644 (file)
@@ -1279,7 +1279,7 @@ endif
 # with MULTI, ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make
 # this target to regenerate config_H.gc.
 regen_config_h:
-       $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh
+       $(MINIPERL) -I..\lib config_sh.PL --prebuilt $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh
        $(MINIPERL) -I..\lib ..\configpm --chdir=..
        -del /f $(CFGH_TMPL)
        -$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)"
index 41b9fb8..efd6d4b 100644 (file)
@@ -954,7 +954,7 @@ perlglob$(o)  : perlglob.c
 # ITHREADS, IMP_SYS and LARGE_FILES off), then make this target
 # to regenerate config_H.vc.
 regen_config_h:
-       $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh
+       $(MINIPERL) -I..\lib config_sh.PL --prebuilt $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh
        $(MINIPERL) -I..\lib ..\configpm --chdir=..
        -del /f $(CFGH_TMPL)
        -$(MINIPERL) -I..\lib config_h.PL
index 7bfdf11..c4d3932 100644 (file)
@@ -9,7 +9,7 @@
 
 /* Package name      : perl5
  * Source directory  : 
- * Configuration time: Wed Oct  7 16:35:37 2020
+ * Configuration time: Mon Oct 19 14:19:25 2020
  * Configured by     : tony
  * Target system     : 
  */
  *     feature tests from Configure are generally more reliable.
  */
 #define OSNAME "MSWin32"               /**/
-#define OSVERS "10.0.18363.1082"               /**/
+#define OSVERS "10.0.18363.1139"               /**/
 
 /* CAT2:
  *     This macro concatenates 2 tokens together.
  *     should be used when available.
  */
 #ifndef USE_LARGE_FILES
-#define        USE_LARGE_FILES         /**/
+/*#define      USE_LARGE_FILES         / **/
 #endif
 
 /* USE_LONG_DOUBLE:
 /* Off_t_size:
  *     This symbol holds the number of bytes used by the Off_t.
  */
-#define Off_t long long                /* <offset> type */
-#define LSEEKSIZE 8            /* <offset> size */
-#define Off_t_size 8   /* <offset> size */
+#define Off_t long             /* <offset> type */
+#define LSEEKSIZE 4            /* <offset> size */
+#define Off_t_size 4   /* <offset> size */
 
 /* Mode_t:
  *     This symbol holds the type used to declare file modes
index 49b8ea7..2fe47d0 100644 (file)
@@ -9,7 +9,7 @@
 
 /* Package name      : perl5
  * Source directory  : 
- * Configuration time: Wed Oct  7 16:33:14 2020
+ * Configuration time: Mon Oct 19 14:24:24 2020
  * Configured by     : tony
  * Target system     : 
  */
  *     feature tests from Configure are generally more reliable.
  */
 #define OSNAME "MSWin32"               /**/
-#define OSVERS "10.0.18363.1082"               /**/
+#define OSVERS "10.0.18363.1139"               /**/
 
 /* CAT2:
  *     This macro concatenates 2 tokens together.
  *     This symbol, if defined, indicates that <stdbool.h> exists and
  *     can be included.
  */
-#define        I_STDBOOL               /**/
+/*#define      I_STDBOOL               / **/
 
 /* I_STDINT:
  *     This symbol, if defined, indicates that <stdint.h> exists and
  *     should be included.
  */
-#define I_STDINT               /**/
+/*#define I_STDINT             / **/
 
 /* I_SUNMATH:
  *     This symbol, if defined, indicates that <sunmath.h> exists and
  *     should be used when available.
  */
 #ifndef USE_LARGE_FILES
-#define        USE_LARGE_FILES         /**/
+/*#define      USE_LARGE_FILES         / **/
 #endif
 
 /* USE_LONG_DOUBLE:
 /* Off_t_size:
  *     This symbol holds the number of bytes used by the Off_t.
  */
-#define Off_t __int64          /* <offset> type */
-#define LSEEKSIZE 8            /* <offset> size */
-#define Off_t_size 8   /* <offset> size */
+#define Off_t long             /* <offset> type */
+#define LSEEKSIZE 4            /* <offset> size */
+#define Off_t_size 4   /* <offset> size */
 
 /* Mode_t:
  *     This symbol holds the type used to declare file modes
index d154388..72300c5 100644 (file)
@@ -37,6 +37,12 @@ sub loadopts {
     }
 }
 
+my $prebuilt; # are we making the prebuilt config used to bootstrap?
+if (@ARGV && $ARGV[0] eq '--prebuilt') {
+    ++$prebuilt;
+    shift;
+}
+
 my %opt;
 
 my $optref = loadopts();
@@ -257,7 +263,7 @@ if ($opt{cc} =~ /\bcl/ and $opt{ccversion} =~ /^(\d+)/) {
        $opt{sGMTIME_max} = 32535291599;
        $opt{sLOCALTIME_max} = 32535244799;
     }
-    if ($ccversion >= 16) { # VC10+
+    if ($ccversion >= 16 && !$prebuilt) { # VC10+
        $opt{i_stdint} = 'define';
     }
     if ($ccversion >= 19) { # VC14+
@@ -265,7 +271,7 @@ if ($opt{cc} =~ /\bcl/ and $opt{ccversion} =~ /^(\d+)/) {
        $opt{stdio_bufsiz} = '(PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))';
        $opt{stdio_cnt} = 'PERLIO_FILE_cnt(fp)';
        $opt{stdio_ptr} = 'PERLIO_FILE_ptr(fp)';
-       $opt{i_stdbool} = 'define';
+       $opt{i_stdbool} = 'define' unless $prebuilt;
     }
 }
 # find out which MSVC this ICC is using
index 6ddc4d0..1e3d5e0 100644 (file)
@@ -1227,7 +1227,7 @@ $(GLOBEXE) : perlglob.c
 # with MULTI, ITHREADS, IMP_SYS and LARGE_FILES off), then make
 # this target to regenerate config_H.gc.
 regen_config_h:
-       $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file $(mktmp $(CFG_VARS)) \
+       $(MINIPERL) -I..\lib config_sh.PL --prebuilt --cfgsh-option-file $(mktmp $(CFG_VARS)) \
            $(CFGSH_TMPL) > ..\config.sh
        $(MINIPERL) -I..\lib ..\configpm --chdir=..
        -del /f $(CFGH_TMPL)