summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/lib
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-23 21:31:04 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-23 21:31:04 +0000
commit947b8814056ea2fba6bbcfab86591f74bffc0311 (patch)
tree3ca4b2e68dc14c3128b9c781d23f1d0b1f2bee49 /libjava/classpath/lib
parent49792907376493f0939563eb0219b96a48f1ae3b (diff)
downloadppe42-gcc-947b8814056ea2fba6bbcfab86591f74bffc0311.tar.gz
ppe42-gcc-947b8814056ea2fba6bbcfab86591f74bffc0311.zip
Imported Classpath 0.18.
* sources.am, Makefile.in: Updated. * Makefile.am (nat_source_files): Removed natProxy.cc. * java/lang/reflect/natProxy.cc: Removed. * gnu/classpath/jdwp/VMFrame.java, gnu/classpath/jdwp/VMIdManager.java, gnu/classpath/jdwp/VMVirtualMachine.java, java/lang/reflect/VMProxy.java: New files. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC list. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/net/DefaultContentHandlerFactory.java (getContent): Remove ClasspathToolkit references. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/awt/xlib/XCanvasPeer.java: Add new peer methods. * gnu/awt/xlib/XFramePeer.java: Likewise. * gnu/awt/xlib/XGraphicsConfiguration.java: Likewise. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c. Add classpath/native/jawt/jawt.c. * Makefile.in: Regenerate. * jawt.c: Remove file. * include/Makefile.am (tool_include__HEADERS): Remove jawt.h and jawt_md.h. Add ../classpath/include/jawt.h and ../classpath/include/jawt_md.h. * include/Makefile.in: Regenerate. * include/jawt.h: Regenerate. * include/jawt_md.h: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104586 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/lib')
-rw-r--r--libjava/classpath/lib/.cvsignore3
-rw-r--r--libjava/classpath/lib/Makefile.am26
-rw-r--r--libjava/classpath/lib/Makefile.gcj7
-rw-r--r--libjava/classpath/lib/Makefile.in41
-rwxr-xr-xlibjava/classpath/lib/gen-classlist.sh.in5
-rwxr-xr-xlibjava/classpath/lib/split-for-gcj.sh38
-rw-r--r--libjava/classpath/lib/standard.omit4
7 files changed, 89 insertions, 35 deletions
diff --git a/libjava/classpath/lib/.cvsignore b/libjava/classpath/lib/.cvsignore
index b5915f09b3d..b99c6509b70 100644
--- a/libjava/classpath/lib/.cvsignore
+++ b/libjava/classpath/lib/.cvsignore
@@ -27,3 +27,6 @@ gen_nio.sh
classes.1
resources
org
+META-INF
+Makefile.deps
+lists
diff --git a/libjava/classpath/lib/Makefile.am b/libjava/classpath/lib/Makefile.am
index 983622dab56..ada3b2bc95e 100644
--- a/libjava/classpath/lib/Makefile.am
+++ b/libjava/classpath/lib/Makefile.am
@@ -7,17 +7,16 @@ sinclude $(JAVA_DEPEND)
propertydirs := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java org META-INF -type d ! -name CVS -print)
propertyfiles := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java org -name \*\.properties -print)
-metafiles := $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -path \*/CVS -prune -o -type f -print)
+metafiles := $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -type f -print)
iconfiles := $(shell cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print)
compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:.:$(USER_CLASSLIB)
# handling source to bytecode compiler programs like gcj, jikes and kjc
if FOUND_GCJ
-# Since we don't feed all classes at once gcj needs to know where to find
-# the generated classes (in top_builddir).
-JAVAC = $(srcdir)/split-for-gcj.sh && $(MAKE) -f $(srcdir)/Makefile.gcj \
- GCJ='$(GCJ)' compile_classpath='$(top_builddir):$(compile_classpath)'
+## This should never be used when gcj is the compiler.
+## See the compile-classes target.
+JAVAC = exit 1
else
if FOUND_JIKES
JAVAC = $(JIKES) +Pno-shadow +Pno-switchcheck +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes
@@ -30,7 +29,7 @@ if FOUND_GCJX
JAVAC = $(GCJX) -encoding UTF-8 -classpath .:$(USER_CLASSLIB) -d . @classes
else
if FOUND_ECJ
-JAVAC = $(ECJ) -encoding UTF-8 -warn:-deprecation,serial -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes
+JAVAC = $(ECJ) -encoding UTF-8 -warn:none -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes
endif # FOUND_ECJ
endif # FOUND_GCJX
endif # FOUND_KJC
@@ -119,13 +118,24 @@ endif # REGEN_PARSER
$(JAVA_DEPEND): genclasses
+if FOUND_GCJ
+## When building with gcj, we do a recursive make. We split this rule
+## out specially, rather than simply defining JAVAC, so that GNU make
+## will see the recursive make invocation and still allow parallel
+## builds.
+compile-classes: classes $(JAVA_SRCS) Makefile
+ $(MAKE) -f $(srcdir)/Makefile.gcj \
+ GCJ='$(GCJ)' \
+ compile_classpath='$(top_builddir):$(compile_classpath)' \
+ top_srcdir=$(top_srcdir)
+else
compile-classes: classes $(JAVA_SRCS) Makefile
$(JAVAC)
touch compile-classes
+endif
EXTRA_DIST = standard.omit mkcollections.pl.in Makefile.gcj split-for-gcj.sh
CLEANFILES = compile-classes resources classes \
- classes.standard classes.awt classes.standardx classes.xml \
glibj.zip classes.1 \
$(top_builddir)/java/util/LocaleData.java \
$(JAVA_DEPEND)
@@ -148,5 +158,3 @@ dist-hook:
$(FIND) $(top_distdir)/gnu $(top_distdir)/java $(top_distdir)/javax $(top_distdir)/org $(top_distdir)/vm -name class-dependencies.conf -print | xargs rm -f
rm -f $(top_distdir)/gnu/classpath/Configuration.java
rm -f $(top_distdir)/java/util/LocaleData.java
-# Omit files listed in standard.omit.
- ( cd $(top_distdir)/lib ; cat $(top_builddir)/lib/standard.omit | sed -e 's/\$$//' | sed -e 's/\/\.\*//' | xargs rm -fr )
diff --git a/libjava/classpath/lib/Makefile.gcj b/libjava/classpath/lib/Makefile.gcj
index a9d520c73c5..7bac691e8eb 100644
--- a/libjava/classpath/lib/Makefile.gcj
+++ b/libjava/classpath/lib/Makefile.gcj
@@ -17,6 +17,11 @@ all_deps_files := $(all_list_files:.list=.deps)
all: $(all_stamp_files)
+# Ensure this is rebuilt whenever the list of classes changes.
+# The list will always exist when this Makefile is used.
+Makefile.deps: classes
+ $(SHELL) $(top_srcdir)/lib/split-for-gcj.sh
+
-include Makefile.deps $(all_deps_files)
## Like GCJ but include some common flags.
@@ -28,5 +33,5 @@ GCJF = $(GCJ) -Wno-deprecated --encoding=UTF-8 \
# make the target be the stamp file. This ensures that if a needed
# source is changed, this rule is re-run for the appropriate package.
%.stamp: %.list
- $(GCJF) -MD -MF ${@:.stamp=.deps} -MT $@ @$<
+ $(GCJF) -MD -MF ${@:.stamp=.deps} -MT $@ -MP @$<
echo timestamp > $@
diff --git a/libjava/classpath/lib/Makefile.in b/libjava/classpath/lib/Makefile.in
index 4cef45f21f6..29b5cb2495f 100644
--- a/libjava/classpath/lib/Makefile.in
+++ b/libjava/classpath/lib/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -93,8 +93,14 @@ CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATE = @DATE@
DEFS = @DEFS@
@@ -156,6 +162,7 @@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MKDIR = @MKDIR@
+MOC = @MOC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -167,12 +174,13 @@ PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
PANGOFT2_LIBS = @PANGOFT2_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
SET_MAKE = @SET_MAKE@
-SH = @SH@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
STRIP = @STRIP@
@@ -194,10 +202,13 @@ X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -240,26 +251,21 @@ vm_classes = @vm_classes@
JAVA_DEPEND = java.dep
propertydirs := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java org META-INF -type d ! -name CVS -print)
propertyfiles := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java org -name \*\.properties -print)
-metafiles := $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -path \*/CVS -prune -o -type f -print)
+metafiles := $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -type f -print)
iconfiles := $(shell cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print)
compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:.:$(USER_CLASSLIB)
-@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(ECJ) -encoding UTF-8 -warn:-deprecation,serial -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes
+@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(ECJ) -encoding UTF-8 -warn:none -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes
@FOUND_GCJX_TRUE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(GCJX) -encoding UTF-8 -classpath .:$(USER_CLASSLIB) -d . @classes
@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_TRUE@JAVAC = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes
@FOUND_GCJ_FALSE@@FOUND_JIKES_TRUE@JAVAC = $(JIKES) +Pno-shadow +Pno-switchcheck +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes
# handling source to bytecode compiler programs like gcj, jikes and kjc
-# Since we don't feed all classes at once gcj needs to know where to find
-# the generated classes (in top_builddir).
-@FOUND_GCJ_TRUE@JAVAC = $(srcdir)/split-for-gcj.sh && $(MAKE) -f $(srcdir)/Makefile.gcj \
-@FOUND_GCJ_TRUE@ GCJ='$(GCJ)' compile_classpath='$(top_builddir):$(compile_classpath)'
-
+@FOUND_GCJ_TRUE@JAVAC = exit 1
JAVAH = $(USER_JAVAH) -jni -classpath .:$(USER_CLASSLIB)
@INSTALL_GLIBJ_ZIP_TRUE@pkgdata_DATA = glibj.zip
@BUILD_CLASS_FILES_TRUE@noinst_DATA = genclasses compile-classes resources
EXTRA_DIST = standard.omit mkcollections.pl.in Makefile.gcj split-for-gcj.sh
CLEANFILES = compile-classes resources classes \
- classes.standard classes.awt classes.standardx classes.xml \
glibj.zip classes.1 \
$(top_builddir)/java/util/LocaleData.java \
$(JAVA_DEPEND)
@@ -518,9 +524,14 @@ genclasses: gen-classlist.sh standard.omit $(top_builddir)/java/util/LocaleData.
$(JAVA_DEPEND): genclasses
-compile-classes: classes $(JAVA_SRCS) Makefile
- $(JAVAC)
- touch compile-classes
+@FOUND_GCJ_TRUE@compile-classes: classes $(JAVA_SRCS) Makefile
+@FOUND_GCJ_TRUE@ $(MAKE) -f $(srcdir)/Makefile.gcj \
+@FOUND_GCJ_TRUE@ GCJ='$(GCJ)' \
+@FOUND_GCJ_TRUE@ compile_classpath='$(top_builddir):$(compile_classpath)' \
+@FOUND_GCJ_TRUE@ top_srcdir=$(top_srcdir)
+@FOUND_GCJ_FALSE@compile-classes: classes $(JAVA_SRCS) Makefile
+@FOUND_GCJ_FALSE@ $(JAVAC)
+@FOUND_GCJ_FALSE@ touch compile-classes
clean-local:
-rm -rf gnu
@@ -540,8 +551,6 @@ dist-hook:
$(FIND) $(top_distdir)/gnu $(top_distdir)/java $(top_distdir)/javax $(top_distdir)/org $(top_distdir)/vm -name class-dependencies.conf -print | xargs rm -f
rm -f $(top_distdir)/gnu/classpath/Configuration.java
rm -f $(top_distdir)/java/util/LocaleData.java
-# Omit files listed in standard.omit.
- ( cd $(top_distdir)/lib ; cat $(top_builddir)/lib/standard.omit | sed -e 's/\$$//' | sed -e 's/\/\.\*//' | xargs rm -fr )
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/libjava/classpath/lib/gen-classlist.sh.in b/libjava/classpath/lib/gen-classlist.sh.in
index c091caa2005..12845f2ccee 100755
--- a/libjava/classpath/lib/gen-classlist.sh.in
+++ b/libjava/classpath/lib/gen-classlist.sh.in
@@ -1,10 +1,13 @@
-#! @SH@
+#! @SHELL@
# @configure_input@
# Make sure sorting is done the same on all configurations
LC_ALL=C; export LC_ALL
LANG=C; export LANG
+# We use this to decide whether we need to invoke the split script.
+GCJ="@GCJ@"
+
echo "Adding java source files from srcdir '@top_srcdir@'."
@FIND@ @top_srcdir@/java @top_srcdir@/javax @top_srcdir@/gnu \
@top_srcdir@/org \
diff --git a/libjava/classpath/lib/split-for-gcj.sh b/libjava/classpath/lib/split-for-gcj.sh
index 477e0a8c18a..0f5ffaff285 100755
--- a/libjava/classpath/lib/split-for-gcj.sh
+++ b/libjava/classpath/lib/split-for-gcj.sh
@@ -1,19 +1,42 @@
#! /bin/sh
-# Split in multiple parts for gcj. This uses a somewhat hacky
-# procedure for finding the package of a given file.
+# This script is used when compiling Classpath with gcj. The idea is
+# to compile one package at a time, and only recompile packages when
+# actually required.
+
+# We build java->class by package so we need to know what .java files
+# correspond to what package.
+
+# We have a .stamp file for each package; this is the makefile target.
+# We also have a .list file for each package, which lists all the
+# input files in that package.
+
+# gen-classlist.sh makes a list of all the .java files we are going to compile.
+
+# This script generates Makefile.deps, which looks like this:
+#
+# java/awt/AWTUtilities.class: lists/java-awt.stamp
+# lists/java-awt.list: /home/aph/gcc/gcc/libjava/classpath/gnu/java/awt/AWTUtilities.java
+# java/awt/BitMaskExtent.class: lists/java-awt.stamp
+# lists/java-awt.list: /home/aph/gcc/gcc/libjava/classpath/gnu/java/awt/BitMaskExtent.java
+# java/awt/BitwiseXORComposite.class: lists/java-awt.stamp
+# lists/java-awt.list: /home/aph/gcc/gcc/libjava/classpath/gnu/java/awt/BitwiseXORComposite.java
+
+# This uses a somewhat hacky procedure for finding the package of a
+# given file.
+
echo "Splitting for gcj"
-rm -f Makefile.deps > /dev/null 2>&1
+rm -f Makefile.dtmp > /dev/null 2>&1
test -d lists || mkdir lists
for dir in java javax gnu org; do
- for file in `cat classes | fgrep /$dir/`; do
+ fgrep /$dir/ classes | while read file; do
pkg=`echo "$file " | sed -n -e "s,^.*/\($dir/.*\)/[^/]*$,\1,p"`
list=lists/`echo $pkg | sed -e 's,/,-,g'`
echo "$file" >> ${list}.list.1
f2=`echo "$file" | sed -n -e "s,^.*/\($dir/.*\)$,\1,p"`
f2=`echo "$f2" | sed -e 's/.java$//'`.class
- echo "$f2: ${list}.stamp" >> Makefile.deps
- echo "${list}.list: $file" >> Makefile.deps
+ echo "$f2: ${list}.stamp" >> Makefile.dtmp
+ echo "${list}.list: $file" >> Makefile.dtmp
done
done
@@ -26,3 +49,6 @@ for file in lists/*.list.1; do
mv $file $real
fi
done
+
+# If we were run we must update Makefile.deps.
+mv Makefile.dtmp Makefile.deps
diff --git a/libjava/classpath/lib/standard.omit b/libjava/classpath/lib/standard.omit
index 66f5a78cd99..c95c4ed95b6 100644
--- a/libjava/classpath/lib/standard.omit
+++ b/libjava/classpath/lib/standard.omit
@@ -1,4 +1,4 @@
../gnu/test/.*$
-../gnu/javax/swing/plaf/gtk/.*java$
-../gnu/javax/swing/plaf/gtk/README$
../gnu/classpath/jdwp/.*$
+../gnu/xml/stream/.*$
+../javax/xml/stream/.*$
OpenPOWER on IntegriCloud