summaryrefslogtreecommitdiff
path: root/libjava/scripts
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-31 21:23:44 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-31 21:23:44 +0000
commit8f1eb877bc5e70c1310f638772e05b2546a7760f (patch)
tree9a67bccbdb44f84e70a200682f80e50a86002f49 /libjava/scripts
parent1e7b0d71d8abfafc51279de312f611bdc218ddae (diff)
downloadgcc-8f1eb877bc5e70c1310f638772e05b2546a7760f.tar.gz
* scripts.am, Makefile.in: Rebuilt.
* scripts/makemake.tcl (gnu/javax/swing/text/html/parser): Build as 'ordinary'. (emit_ordinary_rule): New proc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121437 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/scripts')
-rwxr-xr-xlibjava/scripts/makemake.tcl36
1 files changed, 35 insertions, 1 deletions
diff --git a/libjava/scripts/makemake.tcl b/libjava/scripts/makemake.tcl
index cac22dc71ea..7ebbd31e8d8 100755
--- a/libjava/scripts/makemake.tcl
+++ b/libjava/scripts/makemake.tcl
@@ -65,6 +65,14 @@ set package_map(org/omg) bc
set package_map(gnu/CORBA) bc
set package_map(gnu/javax/rmi) bc
+# parser/HTML_401F.class is really big, and there have been complaints
+# about this package requiring too much memory to build. So, we
+# compile it as separate objects. But, we're careful to compile the
+# sub-packages as packages.
+set package_map(gnu/javax/swing/text/html/parser) ordinary
+set package_map(gnu/javax/swing/text/html/parser/models) package
+set package_map(gnu/javax/swing/text/html/parser/support) package
+
# More special cases. These end up in their own library.
# Note that if we BC-compile AWT we must update these as well.
set package_map(gnu/gcj/xlib) package
@@ -297,6 +305,32 @@ proc emit_package_rule {package} {
}
}
+# Emit a rule to build a package full of 'ordinary' files, that is,
+# one .o for each .java.
+proc emit_ordinary_rule {package} {
+ global name_map package_files
+
+ foreach file $name_map($package) {
+ # Strip off the '.java'.
+ set root [file rootname $file]
+
+ # Look for all included .class files. Assumes that we don't have
+ # multiple top-level classes in a .java file.
+ set lname $root.list
+ set dname $root.deps
+
+ puts "$lname: classpath/$file"
+ puts "\t@\$(mkinstalldirs) \$(dir \$@)"
+ puts "\techo \$(srcdir)/classpath/lib/${root}*.class> $lname"
+ puts ""
+ puts "-include $dname"
+ puts ""
+ puts ""
+
+ lappend package_files $lname
+ }
+}
+
# Emit a package-like rule for a platform-specific Process
# implementation.
proc emit_process_package_rule {platform} {
@@ -419,7 +453,7 @@ foreach package [lsort [array names package_map]] {
if {$package_map($package) == "bc"} {
emit_bc_rule $package
} elseif {$package_map($package) == "ordinary"} {
- # Nothing in particular to do here.
+ emit_ordinary_rule $package
} elseif {$package_map($package) == "package"} {
emit_package_rule $package
} else {