? autom4te.cache ? buffer-warnings.patch ? exeext.patch ? x ? m4/ada.m4 ? tests/ada.test Index: automake.in =================================================================== RCS file: /cvs/automake/automake/automake.in,v retrieving revision 1.1375 diff -u -r1.1375 automake.in --- automake.in 7 Oct 2002 09:23:31 -0000 1.1375 +++ automake.in 8 Oct 2002 16:18:22 -0000 @@ -1113,6 +1113,23 @@ 'pure' => 1, 'extensions' => ['.java', '.class', '.zip', '.jar']); +# Ada +register_language ('name' => 'ada', + 'Name' => 'Ada', + 'config_vars' => ['ADA', 'ADABINDER', 'ADALINKER'], + 'linker' => 'ADALINK', + 'link' => '$(ADABINDER) -x address@hidden; $(ADALD) $(AM_ADAFLAGS) $(ADAFLAGS) $(AM_LDFLAGS) $(LDFLAGS) address@hidden -o $@ ;:', + 'autodep' => 'ADA', + 'flags' => ['ADAFLAGS'], + 'compile' => '$(ADA) $(AM_ADAFLAGS) $(ADAFLAGS)', + 'compiler' => 'ADACOMPILE', + 'compile_flag' => '-c', + 'output_flag' => '-o', + 'lder' => 'ADALD', + 'ld' => '$(ADALINKER)', + 'pure' => 1, + 'extensions' => ['.ads', '.adb']); + ################################################################ # Parse the WARNINGS environnent variable. @@ -2491,10 +2508,15 @@ next; } - err_am "object `$object' created by `$full' and `$object_map{$object}'" - if (defined $object_map{$object} - && $object_map{$object} ne $full); - + if (defined $object_map{$object}) + { + my $old = $object_map{$object}; + $old =~ s/(\.ads|\.adb)//; + (my $new = $full) =~ s/(\.ads|\.adb)//; + err_am ("object `$object' created by `$full' " + . "and `$object_map{$object}'") + if $old ne $new; + } my $comp_val = (($object =~ /\.lo$/) ? COMPILE_LIBTOOL : COMPILE_ORDINARY); (my $comp_obj = $object) =~ s/\.lo$/.\$(OBJEXT)/; @@ -2699,7 +2721,7 @@ $needlinker = "true" if @transformed; } } - push (@allresults, [$cond, @result]); + push (@allresults, [$cond, uniq @result]); } # Find a name for the variable, unless imposed. $objvar = subobjname (@allresults) unless defined $objvar; @@ -5551,6 +5573,12 @@ return LANG_SUBDIR; } +# Rewrite a single Ada file. +sub lang_ada_rewrite +{ + return &lang_sub_obj; +} + # The lang_X_finish functions are called after all source file # processing is done. Each should handle defining rules for the # language, etc. A finish function is only called if a source file of @@ -5708,7 +5736,7 @@ { my (%linkers) = @_; - foreach my $l (qw(GCJLINK CXXLINK F77LINK OBJCLINK)) + foreach my $l (qw(ADALINK GCJLINK CXXLINK F77LINK OBJCLINK)) { return $l if defined $linkers{$l}; } Index: lib/depcomp =================================================================== RCS file: /cvs/automake/automake/lib/depcomp,v retrieving revision 1.35 diff -u -r1.35 depcomp --- lib/depcomp 13 Jun 2002 07:40:08 -0000 1.35 +++ lib/depcomp 8 Oct 2002 16:18:23 -0000 @@ -410,6 +410,28 @@ rm -f "$tmpdepfile" ;; +gnatmake) + "$@" || exit $? + shift + IFS=" " + for arg + do + case $arg in + -I*) + set fnord "$@" "$arg" + shift + shift + ;; + *) + set fnord "$@" + shift + shift + ;; + esac + done + gnatmake -u -M $object > $depfile + ;; + none) exec "$@" ;; Index: m4/depend.m4 =================================================================== RCS file: /cvs/automake/automake/m4/depend.m4,v retrieving revision 1.26 diff -u -r1.26 depend.m4 --- m4/depend.m4 7 Jul 2002 22:38:46 -0000 1.26 +++ m4/depend.m4 8 Oct 2002 16:18:24 -0000 @@ -46,6 +46,7 @@ [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [$1], ADA, [depcc="$ADA" am_compiler_list='gnatmake'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc],