X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automake.in;h=63d5bdfdd5fd5f83c50d0bd6cbf8fad20cb3f14e;hb=625678d54b616bf5c2db6c803f4b0746f70e3e53;hp=b16585508622d56c39ed465228dd94c671ed0311;hpb=f25f4bfcc358152a619b246bf91aa8653eb6cadd;p=platform%2Fupstream%2Fautomake.git diff --git a/automake.in b/automake.in index b165855..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 @@ -2535,8 +2537,8 @@ sub handle_programs my($xlink, $vlink) = &define_per_target_linker_variable ($linker, $xname); $vlink = verbose_flag ($vlink || 'GEN'); - # If the resulting program lies into a subdirectory, - # make sure this directory will exist. + # If the resulting program lies in a subdirectory, + # ensure that the directory exists before we need it. my $dirstamp = require_build_directory_maybe ($one_file); $libtool_clean_directories{dirname ($one_file)} = 1; @@ -2646,7 +2648,7 @@ sub handle_libraries &handle_source_transform ($xlib, $onelib, $obj, $where, NONLIBTOOL => 1, LIBTOOL => 0); - # If the resulting library lies into a subdirectory, + # If the resulting library lies in a subdirectory, # make sure this directory will exist. my $dirstamp = require_build_directory_maybe ($onelib); my $verbose = verbose_flag ('AR'); @@ -2890,7 +2892,7 @@ sub handle_ltlibraries } } - # If the resulting library lies into a subdirectory, + # If the resulting library lies in a subdirectory, # make sure this directory will exist. my $dirstamp = require_build_directory_maybe ($onelib); @@ -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); } @@ -3082,7 +3087,7 @@ sub output_texinfo_build_rules ($$$@) # extension). my $generic_info = ($generic && $dsfx) ? 1 : 0; - # If the resulting file lie into a subdirectory, + # If the resulting file lies in a subdirectory, # make sure this directory will exist. my $dirstamp = require_build_directory_maybe ($dest); @@ -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"; @@ -4114,6 +4127,7 @@ sub handle_configure ($$$@) file_contents ('remake-hdr', new Automake::Location, FILES => "@files", + 'FIRST-HDR' => ($hdr_index == 1), CONFIG_H => $cn_sans_dir, CONFIG_HIN => $ins[0], CONFIG_H_DEPS => "@ins", @@ -4132,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) { @@ -5077,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") @@ -5127,8 +5144,9 @@ sub scan_autoconf_traces ($) AC_REQUIRE_AUX_FILE => 1, AC_SUBST_TRACE => 1, AM_AUTOMAKE_VERSION => 1, + 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, @@ -5282,13 +5300,24 @@ sub scan_autoconf_traces ($) $seen_automake_version = 1; } + elsif ($macro eq 'AM_PROG_MKDIR_P') + { + msg 'obsolete', $where, <<'EOF'; +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 + } elsif ($macro eq 'AM_CONDITIONAL') { $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') { @@ -5307,7 +5336,7 @@ sub scan_autoconf_traces ($) { 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; @@ -5943,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)) @@ -5961,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; @@ -6533,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 @@ -6544,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 '.'; } @@ -7380,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)