This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/mk_invlists.pl: Don't quit so easily
authorKarl Williamson <khw@cpan.org>
Fri, 13 Mar 2015 18:20:18 +0000 (12:20 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 19 Mar 2015 22:18:00 +0000 (16:18 -0600)
Like the previous commit, this script may be called before mktables.lst
exists, and we can't generate mktables.lst without this script
executing to completion.  The missing file is only used to determine if
something has changed that we would need to recompile for so this script
can run faster next time it is called.

charclass_invlists.h
regen/mk_invlists.pl

index f6a7c75..c037bae 100644 (file)
@@ -97322,5 +97322,5 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
  * a17a0330e57d774343a53c019f1bc69827c2676982a1bf48e0898a76710e8877 lib/unicore/extracted/DNumType.txt
  * c2cb810a67cc5fb4a8d236b6c1bc6dd4d89733d8603881997e8aae2c816a3db1 lib/unicore/extracted/DNumValues.txt
  * 746472de66b936ac885ca6d6e68058242b4e909e3260c6317f3ec719f78f76cc lib/unicore/version
- * 52906c205cae4bc9e878d2bcdf8c2bbb1382356f8b4870fe3ac1949ad59b03cd regen/mk_invlists.pl
+ * f401ed39bfaff60a47b89ddb89df4fe517a60a523c8f4332280b4fce0048434e regen/mk_invlists.pl
  * ex: set ro: */
index 1473b55..27e1e15 100644 (file)
@@ -710,16 +710,22 @@ for my $charset (get_supported_code_pages()) {
     print $out_fh "\n" . get_conditional_compile_line_end();
 }
 
+my $sources_list = "lib/unicore/mktables.lst";
 my @sources = ($0, "lib/Unicode/UCD.pm");
 {
     # Depend on mktables’ own sources.  It’s a shorter list of files than
     # those that Unicode::UCD uses.
-    open my $mktables_list, "lib/unicore/mktables.lst"
-        or die "$0 cannot open lib/unicore/mktables.lst: $!";
-    while(<$mktables_list>) {
-        last if /===/;
-        chomp;
-        push @sources, "lib/unicore/$_" if /^[^#]/;
+    if (! open my $mktables_list, $sources_list) {
+
+          # This should force a rebuild once $sources_list exists
+          push @sources, $sources_list;
+    }
+    else {
+        while(<$mktables_list>) {
+            last if /===/;
+            chomp;
+            push @sources, "lib/unicore/$_" if /^[^#]/;
+        }
     }
 }
 read_only_bottom_close_and_rename($out_fh, \@sources)