X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automake.in;h=63d5bdfdd5fd5f83c50d0bd6cbf8fad20cb3f14e;hb=a24bfc3edd7d3999e260bb3a10bf2f5226e4234e;hp=32389f4ae00b81ef3c9111a9fefc448d9f5eba68;hpb=0faf1588b9e820c20351c92afa44c9d0e8a3a412;p=platform%2Fupstream%2Fautomake.git diff --git a/automake.in b/automake.in index 32389f4..63d5bdf 100644 --- a/automake.in +++ b/automake.in @@ -6,7 +6,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' if 0; # automake - create Makefile.in from Makefile.am -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,8 +29,9 @@ package Language; BEGIN { - my $perllibdir = $ENV{'perllibdir'} || '@datadir@/@PACKAGE@-@APIVERSION@'; - unshift @INC, (split '@PATH_SEPARATOR@', $perllibdir); + @Automake::perl_libdirs = ('@datadir@/@PACKAGE@-@APIVERSION@') + unless @Automake::perl_libdirs; + unshift @INC, @Automake::perl_libdirs; # Override SHELL. This is required on DJGPP so that system() uses # bash, not COMMAND.COM which doesn't quote arguments properly. @@ -317,7 +318,7 @@ my $configure_ac; # Files found by scanning configure.ac for LIBOBJS. my %libsources = (); -# Names used in AC_CONFIG_HEADER call. +# Names used in AC_CONFIG_HEADERS call. my @config_headers = (); # Names used in AC_CONFIG_LINKS call. @@ -333,8 +334,8 @@ my @configure_input_files = (); # List of files in AC_CONFIG_FILES/AC_OUTPUT without Makefile.am's, # and their outputs. my @other_input_files = (); -# Where each AC_CONFIG_FILES/AC_OUTPUT/AC_CONFIG_LINK/AC_CONFIG_HEADER appears. -# The keys are the files created by these macros. +# Where each AC_CONFIG_FILES/AC_OUTPUT/AC_CONFIG_LINK/AC_CONFIG_HEADERS +# appears. The keys are the files created by these macros. my %ac_config_files_location = (); # The condition under which AC_CONFIG_FOOS appears. my %ac_config_files_condition = (); @@ -2130,6 +2131,7 @@ sub handle_source_transform ($$$$%) msg_var ('unsupported', $ext_var, $ext_var->name . " can assume at most one value") if $default_source_ext =~ /[\t ]/; (my $default_source = $unxformed) =~ s,(\.[^./\\]*)?$,$default_source_ext,; + # TODO: Remove this backward-compatibility hack in Automake 2.0. if ($old_default_source ne $default_source && !$ext_var && (rule $old_default_source @@ -2991,7 +2993,12 @@ sub scan_texinfo_file ($) next if $outfile; $outfile = $1; - if ($outfile =~ /\.([^.]+)$/ && $1 ne 'info') + if (index ($outfile, '.') < 0) + { + msg 'obsolete', "$filename:$.", + "use of suffix-less info files is discouraged" + } + elsif ($outfile !~ /\.info$/) { error ("$filename:$.", "output '$outfile' has unrecognized extension"); @@ -3012,8 +3019,6 @@ sub scan_texinfo_file ($) return; } - my $infobase = basename ($filename); - $infobase =~ s/\.te?xi(nfo)?$//; return ($outfile, $vfile); } @@ -3141,9 +3146,17 @@ sub handle_texinfo_helper ($) ($info_texinfos->value_as_list_recursive (inner_expand => 1)) { my $infobase = $texi; - $infobase =~ s/\.(txi|texinfo|texi)$//; - - if ($infobase eq $texi) + if ($infobase =~ s/\.texi$//) + { + 1; # Nothing more to do. + } + elsif ($infobase =~ s/\.(txi|texinfo)$//) + { + msg_var 'obsolete', $info_texinfos, + "suffix '.$1' for Texinfo files is discouraged;" . + " use '.texi' instead"; + } + else { # FIXME: report line number. err_am "texinfo file '$texi' has unrecognized extension"; @@ -4133,6 +4146,9 @@ sub handle_configure ($$$@) # Distribute and define mkinstalldirs only if it is already present # in the package, for backward compatibility (some people may still # use $(mkinstalldirs)). + # TODO: start warning about this in Automake 1.14, and have + # TODO: Automake 2.0 drop it (and the mkinstalldirs script + # TODO: as well). my $mkidpath = "$config_aux_dir/mkinstalldirs"; if (-f $mkidpath) { @@ -5078,7 +5094,7 @@ sub scan_autoconf_config_files ($$) # Handle $local:$input syntax. my ($local, @rest) = split (/:/); @rest = ("$local.in",) unless @rest; - # Keep in sync with 'conffile-leading-dot.test'. + # Keep in sync with test 'conffile-leading-dot.sh'. msg ('unsupported', $where, "omit leading './' from config file names such as '$local';" . "\nremake rules might be subtly broken otherwise") @@ -5128,9 +5144,9 @@ sub scan_autoconf_traces ($) AC_REQUIRE_AUX_FILE => 1, AC_SUBST_TRACE => 1, AM_AUTOMAKE_VERSION => 1, - AM_PROG_MKDIR_P => 0, # FIXME: to be removed in 1.14 + AM_PROG_MKDIR_P => 0, AM_CONDITIONAL => 2, - _AM_EXTRA_RECURSIVE_TARGETS => 1, + AM_EXTRA_RECURSIVE_TARGETS => 1, AM_GNU_GETTEXT => 0, AM_GNU_GETTEXT_INTL_SUBDIR => 0, AM_INIT_AUTOMAKE => 0, @@ -5284,10 +5300,10 @@ sub scan_autoconf_traces ($) $seen_automake_version = 1; } - elsif ($macro eq 'AM_PROG_MKDIR_P') # FIXME: to be removed in 1.14 + elsif ($macro eq 'AM_PROG_MKDIR_P') { msg 'obsolete', $where, <<'EOF'; -The 'AM_PROG_MKDIR_P' macro is deprecated, and will soon be removed. +The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged. You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead, and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files. EOF @@ -5296,9 +5312,12 @@ EOF { $configure_cond{$args[1]} = $where; } - elsif ($macro eq '_AM_EXTRA_RECURSIVE_TARGETS') + elsif ($macro eq 'AM_EXTRA_RECURSIVE_TARGETS') { - push @extra_recursive_targets, split (' ', $args[1]); + # Empty leading/trailing fields might be produced by split, + # hence the grep is really needed. + push @extra_recursive_targets, + grep (/./, (split /\s+/, $args[1])); } elsif ($macro eq 'AM_GNU_GETTEXT') { @@ -5317,7 +5336,7 @@ EOF { msg 'obsolete', $where, <<'EOF'; AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see: -http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation +http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation EOF $package_version = $args[2]; $package_version_location = $where; @@ -5953,7 +5972,7 @@ sub register_language (%) # Update the pattern of known extensions. accept_extensions (@{$lang->extensions}); - # Upate the $suffix_rule map. + # Update the suffix rules map. foreach my $suffix (@{$lang->extensions}) { foreach my $dest (&{$lang->output_extensions} ($suffix)) @@ -5971,12 +5990,11 @@ sub derive_suffix ($$) { my ($source_ext, $obj) = @_; - while (! $extension_map{$source_ext} - && $source_ext ne $obj - && exists $suffix_rules->{$source_ext} - && exists $suffix_rules->{$source_ext}{$obj}) + while (!$extension_map{$source_ext} && $source_ext ne $obj) { - $source_ext = $suffix_rules->{$source_ext}{$obj}[0]; + my $new_source_ext = next_in_suffix_chain ($source_ext, $obj); + last if not defined $new_source_ext; + $source_ext = $new_source_ext; } return $source_ext; @@ -6543,7 +6561,7 @@ sub read_am_file ($$) # otherwise OSF make will implicitly copy the included # file in the build tree during "make distdir" to satisfy # the dependency. - # (subdircond2.test and subdircond3.test will fail.) + # (subdir-am-cond.sh and subdir-ac-cond.sh will fail) push_dist_common ("\$\(top_srcdir\)/$path"); } else @@ -6554,7 +6572,7 @@ sub read_am_file ($$) # otherwise OSF make will implicitly copy the included # file in the build tree during "make distdir" to satisfy # the dependency. - # (subdircond2.test and subdircond3.test will fail.) + # (subdir-am-cond.sh and subdir-ac-cond.sh will fail) push_dist_common ("\$\(srcdir\)/$path"); $path = $relative_dir . "/" . $path if $relative_dir ne '.'; } @@ -7390,7 +7408,7 @@ sub push_required_file } # This is needed to allow a construct in a non-top-level Makefile.am # to require a file in the build-aux directory (see at least the test - # script 'test-driver-is-distributed.test'). This is related to the + # script 'test-driver-is-distributed.sh'). This is related to the # automake bug#9546. Note that the use of $config_aux_dir instead # of $am_config_aux_dir here is deliberate and necessary. elsif ($dir eq $config_aux_dir)