Commit 3b8350f5 by Tom Tromey Committed by Tom Tromey

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
parent c69094e1
2005-07-18 Tom Tromey <tromey@redhat.com> 2005-07-18 Tom Tromey <tromey@redhat.com>
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 './'.
2005-07-18 Tom Tromey <tromey@redhat.com>
* Makefile.in: Rebuilt. * Makefile.in: Rebuilt.
* Makefile.am ($(libgij_la_OBJECTS)): Depend on headers.stamp. * Makefile.am ($(libgij_la_OBJECTS)): Depend on headers.stamp.
......
...@@ -204,16 +204,19 @@ proc emit_bc_rule {package} { ...@@ -204,16 +204,19 @@ proc emit_bc_rule {package} {
} }
set varname [join [split $pkgname /] _]_source_files set varname [join [split $pkgname /] _]_source_files
set loname [join [split $pkgname /] -].lo set loname [join [split $pkgname /] -].lo
set tname [join [split $pkgname /] -].list
puts "$loname: \$($varname)" 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 "" set omit ""
if {[info exists exclusion_map($package)]} { if {[info exists exclusion_map($package)]} {
set omit "| grep -v $exclusion_map($package)" set omit "| grep -v $exclusion_map($package)"
} }
# classpath was built first, so the class files are to be found puts "\t@find classpath/lib/$package -name '*.class'${omit} > $tname"
# there. puts "\t\$(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o $loname @$tname"
puts "\t\t`find classpath/lib/$package -name '*.class' | sort -r$omit`" puts "\t@rm -f $tname"
puts "" puts ""
# We skip this one because it is built into its own library and is # We skip this one because it is built into its own library and is
...@@ -287,7 +290,9 @@ proc emit_source_var {package} { ...@@ -287,7 +290,9 @@ proc emit_source_var {package} {
# Ugly code to build up the appropriate patsubst. # Ugly code to build up the appropriate patsubst.
set result "\$(patsubst %.java,%.h,\$($varname))" set result "\$(patsubst %.java,%.h,\$($varname))"
foreach dir [lsort [array names dirs]] { foreach dir [lsort [array names dirs]] {
set result "\$(patsubst $dir/%,%,$result)" if {$dir != "."} {
set result "\$(patsubst $dir/%,%,$result)"
}
} }
if {$package == "." || $package == "java/lang"} { if {$package == "." || $package == "java/lang"} {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment