chiark / gitweb /
generate: Introduce oraw
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 25 Dec 2019 23:45:32 +0000 (23:45 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 30 Dec 2019 11:35:15 +0000 (11:35 +0000)
Replace all other calls to `o' with `oraw'.  This ensures we
have no stray calls.

It elminates an anomaly, namely that calls outside process_input_mk
would rely on the $buffering_output variable which is set only there.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
generate

index 0f9dd2d75ba289af83b4072812c13d92c2185b2f..c608e8c6947366711f0c79f345cdbadbae01c0a4 100755 (executable)
--- a/generate
+++ b/generate
@@ -69,17 +69,17 @@ sub close_any_output_file() {
     $writing_output = undef;
 }
 
-sub o {
-    if (defined $buffering_output) {
-       $buffering_output .= $_ foreach @_;
-       return;
-    }
+sub oraw {
     die unless defined $writing_output;
     print O @_ or die "error writing $writing_output.tmp: $!\n";
 }
 
 sub od { # maybe $-doubled
-    o @_;
+    if (defined $buffering_output) {
+       $buffering_output .= $_ foreach @_;
+       return;
+    }
+    oraw @_;
 }
 
 sub start_output_file ($) {
@@ -88,7 +88,7 @@ sub start_output_file ($) {
     die "$writing_output ?" if $output_files{$writing_output}++;
     my $tmp = "$writing_output.tmp";
     open O, ">", $tmp or die "create $tmp: $!\n";
-    o "# autogenerated - do not edit\n";
+    oraw "# autogenerated - do not edit\n";
 }
 
 sub install_output_files () {
@@ -106,7 +106,7 @@ sub write_makefile ($$) {
     my $suppress_templates=
        '$(if $(filter-out clean real-clean, $(subdirmk_targets)),,'.
        ' MAKEFILE_TEMPLATES=)';
-    o <<END;
+    oraw <<END;
 default: all
 \$(filter-out all,\$(MAKECMDGOALS)) all: run-main.mk
        \@:
@@ -283,7 +283,7 @@ sub process_subtree ($$) {
        }
     }
 
-    o "\n";
+    oraw "\n";
 
     my @targets = sort keys %targets;
     foreach my $target (@targets) {
@@ -321,17 +321,17 @@ sub process_tree() {
     process_final(\@targets);
     start_output_file("main.mk.tmp");
     foreach my $v (qw(top_srcdir abs_top_srcdir)) {
-       o "$v=\@$v@\n";
+       oraw "$v=\@$v@\n";
     }
-    o "SUBDIRMK_MAKEFILES :=\n";
-    o "MAKEFILE_TEMPLATES :=\n";
+    oraw "SUBDIRMK_MAKEFILES :=\n";
+    oraw "MAKEFILE_TEMPLATES :=\n";
     foreach my $mf (@output_makefiles) {
-       o "SUBDIRMK_MAKEFILES += $mf\n";
+       oraw "SUBDIRMK_MAKEFILES += $mf\n";
     }
     foreach my $input (sort keys %input_files) {
-       o "MAKEFILE_TEMPLATES += $input\n";
+       oraw "MAKEFILE_TEMPLATES += $input\n";
     }
-    o "include \$(SUBDIRMK_MAKEFILES)\n";
+    oraw "include \$(SUBDIRMK_MAKEFILES)\n";
 }
 
 build_tree();