automake: don't define many identical 'lang_*_rewrite' subroutines
authorStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 6 Jun 2012 07:52:22 +0000 (09:52 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 27 Aug 2012 19:34:10 +0000 (21:34 +0200)
This is just a simplifying refactoring, with no semantic change intended.

Cherry-picked from the Automake-NG commit 'v1.12.1-312-g63aa4a9' of
2012-06-07.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
automake.in

index a9c1a06..8c8b127 100644 (file)
@@ -1749,6 +1749,7 @@ sub handle_single_transform ($$$$$%)
            # generates another source file which we must then process
            # further.
            my $subr = \&{'lang_' . $lang->name . '_rewrite'};
+           defined &$subr or $subr = \&lang_sub_obj;
            my ($r, $source_extension)
                = &$subr ($directory, $base, $extension,
                          $obj, $have_per_exec_flags, $var);
@@ -5718,12 +5719,6 @@ sub lang_c_rewrite
     return $r;
 }
 
-# Rewrite a single C++ source file.
-sub lang_cxx_rewrite
-{
-    return &lang_sub_obj;
-}
-
 # Rewrite a single header file.
 sub lang_header_rewrite
 {
@@ -5740,7 +5735,7 @@ sub lang_vala_rewrite
     return (LANG_SUBDIR, $newext);
 }
 
-# Rewrite a single yacc file.
+# Rewrite a single yacc/yacc++ file.
 sub lang_yacc_rewrite
 {
     my ($directory, $base, $ext) = @_;
@@ -5749,18 +5744,9 @@ sub lang_yacc_rewrite
     (my $newext = $ext) =~ tr/y/c/;
     return ($r, $newext);
 }
+sub lang_yaccxx_rewrite { lang_yacc_rewrite (@_); };
 
-# Rewrite a single yacc++ file.
-sub lang_yaccxx_rewrite
-{
-    my ($directory, $base, $ext) = @_;
-
-    my $r = &lang_sub_obj;
-    (my $newext = $ext) =~ tr/y/c/;
-    return ($r, $newext);
-}
-
-# Rewrite a single lex file.
+# Rewrite a single lex/lex++ file.
 sub lang_lex_rewrite
 {
     my ($directory, $base, $ext) = @_;
@@ -5769,76 +5755,7 @@ sub lang_lex_rewrite
     (my $newext = $ext) =~ tr/l/c/;
     return ($r, $newext);
 }
-
-# Rewrite a single lex++ file.
-sub lang_lexxx_rewrite
-{
-    my ($directory, $base, $ext) = @_;
-
-    my $r = &lang_sub_obj;
-    (my $newext = $ext) =~ tr/l/c/;
-    return ($r, $newext);
-}
-
-# Rewrite a single assembly file.
-sub lang_asm_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single preprocessed assembly file.
-sub lang_cppasm_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single Fortran 77 file.
-sub lang_f77_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single Fortran file.
-sub lang_fc_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single preprocessed Fortran file.
-sub lang_ppfc_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single preprocessed Fortran 77 file.
-sub lang_ppf77_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single ratfor file.
-sub lang_ratfor_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single Objective C file.
-sub lang_objc_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single Objective C++ file.
-sub lang_objcxx_rewrite
-{
-    return &lang_sub_obj;
-}
-
-# Rewrite a single Unified Parallel C file.
-sub lang_upc_rewrite
-{
-    return &lang_sub_obj;
-}
+sub lang_lexxx_rewrite { lang_lex_rewrite (@_); };
 
 # Rewrite a single Java file.
 sub lang_java_rewrite