## compiles.
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8
-GCJCOMPILE = $(LIBTOOL) --tag=GCJ --mode=compile $(GCJ_WITH_FLAGS) -fassume-compiled -fclasspath=$(here) -L$(here) $(JC1FLAGS) -MD -MT $@ -MF $(@:.lo=.d) -c
+GCJCOMPILE = $(LIBTOOL) --tag=GCJ --mode=compile $(GCJ_WITH_FLAGS) -fbootclasspath=$(here) $(JC1FLAGS) -MD -MT $@ -MF $(@:.lo=.d) -c
GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
-LIBLINK = $(LIBTOOL) --tag=CC --mode=link $(CC) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
+LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
## We define this because otherwise libtool can be run with different
## values of `CXX' and will then get confused and fail to work. So,
$(built_java_source_files:.java=.lo)
x_javao_files = $(x_java_source_files:.java=.lo)
-libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
+libgcj_la_SOURCES = prims.cc jni.cc exception.cc \
resolve.cc defineclass.cc interpret.cc name-finder.cc verify.cc \
$(nat_source_files)
EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
+ win32-threads.cc posix.cc win32.cc \
$(c_source_files) $(java_source_files) $(built_java_source_files)
libgcj_la_DEPENDENCIES = libgcj.jar $(javao_files) \
- $(c_files) $(GCOBJS) $(THREADOBJS) $(LIBLTDL)
+ $(c_files) $(GCOBJS) $(THREADOBJS) $(PLATFORMOBJS) $(LIBLTDL)
libgcj_la_LIBADD = $(javao_files) $(c_files) $(GCOBJS) \
- $(THREADOBJS)
+ $(THREADOBJS) $(PLATFORMOBJS)
# Include THREADLIBS here to ensure that the correct version of
# certain linuxthread functions get linked:
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLIBS) $(LIBLTDL) \
@set fnord $(MAKEFLAGS); amf=$$2; fail=no; \
javac="$(JAVAC)"; \
cat tmp-list | (while read f; do \
- echo $$javac $(JCFLAGS) -classpath $(here):$(srcdir) -d $(here) $$f; \
- $$javac $(JCFLAGS) -classpath $(here):$(srcdir) -d $(here) $$f \
+ echo $$javac $(JCFLAGS) -bootclasspath $(here):$(srcdir) -d $(here) $$f; \
+ $$javac $(JCFLAGS) -bootclasspath $(here):$(srcdir) -d $(here) $$f \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes ;; *) exit 1;; esac; \
done; \
test "$$fail" = no)
## We just remove every .class file that was created.
find . -name '*.class' -print | xargs rm -f
+# Just remove the objects from C++ sources, for testing the C++ compiler.
+clean-nat:
+ rm -f $(nat_files) $(x_nat_files)
+
SUFFIXES = .class .java .h
.class.lo:
.class.h:
## FIXME: GNU make specific.
- $(GCJH) -classpath $(top_builddir) $(basename $<)
+ $(GCJH) -bootclasspath $(top_builddir) $(basename $<)
## Header files used when compiling some of the nat* files.
ordinary_nat_headers = $(ordinary_java_source_files:.java=.h) \
$(ordinary_nat_headers) $(x_nat_headers): %.h: %.class
java/lang/ClassLoader.h: java/lang/ClassLoader.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
-friend 'void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar);' \
$(basename $<)
java/lang/Thread.h: java/lang/Thread.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-prepend 'class _Jv_JNIEnv;' \
-prepend '#define _JV_NOT_OWNER 1' \
-prepend '#define _JV_INTERRUPTED 2' \
$(basename $<)
java/lang/String.h: java/lang/String.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-friend 'jchar* _Jv_GetStringChars (jstring str);' \
-friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
-friend 'jstring* _Jv_StringGetSlot (jstring);' \
$(basename $<)
java/lang/reflect/Constructor.h: java/lang/reflect/Constructor.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-friend 'jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *);' \
-friend 'class java::lang::Class;' \
-friend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \
$(basename $<)
java/lang/reflect/Field.h: java/lang/reflect/Field.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-friend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \
-friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);' \
-friend 'class java::lang::Class;' \
$(basename $<)
java/lang/reflect/Method.h: java/lang/reflect/Method.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
-friend 'class java::lang::Class;' \
-friend 'class java::io::ObjectInputStream;' \
$(basename $<)
gnu/gcj/runtime/VMClassLoader.h: gnu/gcj/runtime/VMClassLoader.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
-friend 'class ::java::lang::ClassLoader;' \
$(basename $<)
java/io/ObjectInputStream$$GetField.h: java/io/ObjectInputStream.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
'java/io/ObjectInputStream$$GetField'
java/io/ObjectOutputStream$$PutField.h: java/io/ObjectOutputStream.class
- $(GCJH) -classpath $(top_builddir) \
+ $(GCJH) -bootclasspath $(top_builddir) \
'java/io/ObjectOutputStream$$PutField'
## Headers we maintain by hand and which we want to install.
java/awt/LayoutManager.java \
java/awt/LayoutManager2.java \
java/awt/List.java \
+java/awt/MediaTracker.java \
java/awt/Menu.java \
java/awt/MenuBar.java \
java/awt/MenuComponent.java \
java/awt/Point.java \
java/awt/Polygon.java \
java/awt/PopupMenu.java \
+java/awt/PrintGraphics.java \
+java/awt/PrintJob.java \
java/awt/Rectangle.java \
java/awt/RenderingHints.java \
java/awt/ScrollPane.java \
java/awt/color/ICC_ColorSpace.java \
java/awt/color/ICC_Profile.java \
java/awt/datatransfer/Clipboard.java \
+java/awt/datatransfer/ClipboardOwner.java \
+java/awt/datatransfer/DataFlavor.java \
+java/awt/datatransfer/FlavorMap.java \
+java/awt/datatransfer/MimeTypeParseException.java \
+java/awt/datatransfer/StringSelection.java \
+java/awt/datatransfer/SystemFlavorMap.java \
+java/awt/datatransfer/Transferable.java \
+java/awt/datatransfer/UnsupportedFlavorException.java \
java/awt/event/AWTEventListener.java \
java/awt/event/ActionEvent.java \
java/awt/event/ActionListener.java \
java/awt/geom/Rectangle2D.java \
java/awt/geom/RectangularShape.java \
java/awt/geom/RoundRectangle2D.java \
+java/awt/image/AreaAveragingScaleFilter.java \
java/awt/image/BufferedImage.java \
java/awt/image/ColorModel.java \
java/awt/image/ComponentColorModel.java \
java/awt/image/ComponentSampleModel.java \
+java/awt/image/CropImageFilter.java \
java/awt/image/DataBuffer.java \
java/awt/image/DataBufferByte.java \
java/awt/image/DataBufferInt.java \
java/awt/image/DataBufferUShort.java \
java/awt/image/DirectColorModel.java \
+java/awt/image/FilteredImageSource.java \
java/awt/image/ImageConsumer.java \
+java/awt/image/ImageFilter.java \
java/awt/image/ImageObserver.java \
java/awt/image/ImageProducer.java \
java/awt/image/IndexColorModel.java \
+java/awt/image/MemoryImageSource.java \
java/awt/image/PackedColorModel.java \
+java/awt/image/PixelGrabber.java \
+java/awt/image/RGBImageFilter.java \
java/awt/image/Raster.java \
java/awt/image/RasterOp.java \
+java/awt/image/ReplicateScaleFilter.java \
java/awt/image/SampleModel.java \
java/awt/image/SinglePixelPackedSampleModel.java \
java/awt/image/WritableRaster.java \
java/lang/SecurityManager.java \
java/lang/Short.java \
java/lang/StackOverflowError.java \
+java/lang/StrictMath.java \
java/lang/String.java \
java/lang/StringBuffer.java \
java/lang/StringIndexOutOfBoundsException.java \
gnu/java/io/ObjectIdentityWrapper.java \
gnu/java/lang/ArrayHelper.java \
gnu/java/lang/ClassHelper.java \
+gnu/java/lang/CharData.java \
gnu/java/lang/reflect/TypeSignature.java \
gnu/java/locale/Calendar.java \
gnu/java/locale/Calendar_de.java \