diff options
author | Tom Tromey <tromey@redhat.com> | 2005-07-18 20:54:01 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-07-18 20:54:01 +0000 |
commit | 3b8350f542e8df517a1b1b25fa7fcbff5456d134 (patch) | |
tree | 6082c74e715b7c9905c8452153950835d12e5ca3 /libjava/scripts | |
parent | c69094e1a35c8dfad8861884fc5b6c4a89c08dbe (diff) | |
download | gcc-3b8350f542e8df517a1b1b25fa7fcbff5456d134.zip gcc-3b8350f542e8df517a1b1b25fa7fcbff5456d134.tar.gz gcc-3b8350f542e8df517a1b1b25fa7fcbff5456d134.tar.bz2 |
re PR libgcj/21058 (fragile libgcj link process omits some inner classes)
PR libgj/21058:
* sources.am, Makefile.in: Rebuilt.
* scripts/makemake.tcl (emit_bc_rule): Create a temporary list
file.
(emit_source_var): Don't emit patsubst with './'.
From-SVN: r102140
Diffstat (limited to 'libjava/scripts')
-rwxr-xr-x | libjava/scripts/makemake.tcl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libjava/scripts/makemake.tcl b/libjava/scripts/makemake.tcl index 4602201..9a1ba6c 100755 --- a/libjava/scripts/makemake.tcl +++ b/libjava/scripts/makemake.tcl @@ -204,16 +204,19 @@ proc emit_bc_rule {package} { } set varname [join [split $pkgname /] _]_source_files set loname [join [split $pkgname /] -].lo + set tname [join [split $pkgname /] -].list puts "$loname: \$($varname)" - puts "\t\$(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o $loname \\" + # Create a temporary list file and then compile it. This works + # around the libtool problem mentioned in PR 21058. classpath was + # built first, so the class files are to be found there. set omit "" if {[info exists exclusion_map($package)]} { set omit "| grep -v $exclusion_map($package)" } - # classpath was built first, so the class files are to be found - # there. - puts "\t\t`find classpath/lib/$package -name '*.class' | sort -r$omit`" + puts "\t@find classpath/lib/$package -name '*.class'${omit} > $tname" + puts "\t\$(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o $loname @$tname" + puts "\t@rm -f $tname" puts "" # We skip this one because it is built into its own library and is @@ -287,7 +290,9 @@ proc emit_source_var {package} { # Ugly code to build up the appropriate patsubst. set result "\$(patsubst %.java,%.h,\$($varname))" foreach dir [lsort [array names dirs]] { - set result "\$(patsubst $dir/%,%,$result)" + if {$dir != "."} { + set result "\$(patsubst $dir/%,%,$result)" + } } if {$package == "." || $package == "java/lang"} { |