* configure.host: Fix __NO_MATH_INLNES botch.
* Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Move natFirstThread.cc.
(gnu/gcj/runtime/FirstThread.h): Moved.
(ordinary_java_source_files): Move FirstThread.java.
* prims.cc: Deal with FirstThread movement.
(JvRunMain): Ditto.
(_Jv_RunMain): Ditto.
* gnu/gcj/runtime/FirstThread.java: Moved from java/lang.
* gnu/gcj/runtime/natFirstThread.cc: Ditto.
From-SVN: r32348
$(basename $<)
## Our internal main program needs to be able to create a FirstThread.
-java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
+gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.zip
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
gnu/gcj/io/MimeTypes.java \
gnu/gcj/jni/NativeThread.java \
gnu/gcj/runtime/VMClassLoader.java \
+gnu/gcj/runtime/FirstThread.java \
gnu/gcj/text/BaseBreakIterator.java \
gnu/gcj/text/CharacterBreakIterator.java \
gnu/gcj/text/LineBreakIterator.java \
java/lang/Error.java \
java/lang/Exception.java \
java/lang/ExceptionInInitializerError.java \
-java/lang/FirstThread.java \
java/lang/Float.java \
java/lang/IllegalAccessError.java \
java/lang/IllegalAccessException.java \
gnu/gcj/convert/natOutput_EUCJIS.cc \
gnu/gcj/convert/natOutput_SJIS.cc \
gnu/gcj/jni/natNativeThread.cc \
+gnu/gcj/runtime/natFirstThread.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
java/lang/natCharacter.cc \
java/lang/natClassLoader.cc \
java/lang/natConcreteProcess.cc \
java/lang/natDouble.cc \
-java/lang/natFirstThread.cc \
java/lang/natFloat.cc \
java/lang/natMath.cc \
java/lang/natObject.cc \
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
gnu/gcj/io/MimeTypes.java \
gnu/gcj/jni/NativeThread.java \
gnu/gcj/runtime/VMClassLoader.java \
+gnu/gcj/runtime/FirstThread.java \
gnu/gcj/text/BaseBreakIterator.java \
gnu/gcj/text/CharacterBreakIterator.java \
gnu/gcj/text/LineBreakIterator.java \
java/lang/Error.java \
java/lang/Exception.java \
java/lang/ExceptionInInitializerError.java \
-java/lang/FirstThread.java \
java/lang/Float.java \
java/lang/IllegalAccessError.java \
java/lang/IllegalAccessException.java \
gnu/gcj/convert/natOutput_EUCJIS.cc \
gnu/gcj/convert/natOutput_SJIS.cc \
gnu/gcj/jni/natNativeThread.cc \
+gnu/gcj/runtime/natFirstThread.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
java/lang/natCharacter.cc \
java/lang/natClassLoader.cc \
java/lang/natConcreteProcess.cc \
java/lang/natDouble.cc \
-java/lang/natFirstThread.cc \
java/lang/natFloat.cc \
java/lang/natMath.cc \
java/lang/natObject.cc \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = ./include/config.h
-CONFIG_CLEAN_FILES = libgcj.spec
+CONFIG_CLEAN_FILES = libgcj.spec libgcj-test.spec
LIBRARIES = $(toolexeclib_LIBRARIES)
DATA = $(data_DATA) $(toolexeclib_DATA)
DIST_COMMON = README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \
-THANKS acinclude.m4 aclocal.m4 configure configure.in libgcj.spec.in
+THANKS acinclude.m4 aclocal.m4 configure configure.in \
+libgcj-test.spec.in libgcj.spec.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/gnu/gcj/protocol/http/Handler.P \
.deps/gnu/gcj/protocol/jar/Connection.P \
.deps/gnu/gcj/protocol/jar/Handler.P \
+.deps/gnu/gcj/runtime/FirstThread.P \
.deps/gnu/gcj/runtime/VMClassLoader.P \
.deps/gnu/gcj/text/BaseBreakIterator.P \
.deps/gnu/gcj/text/CharacterBreakIterator.P \
.deps/java/lang/Compiler.P .deps/java/lang/ConcreteProcess.P \
.deps/java/lang/Double.P .deps/java/lang/Error.P \
.deps/java/lang/Exception.P \
-.deps/java/lang/ExceptionInInitializerError.P \
-.deps/java/lang/FirstThread.P .deps/java/lang/Float.P \
+.deps/java/lang/ExceptionInInitializerError.P .deps/java/lang/Float.P \
.deps/java/lang/IllegalAccessError.P \
.deps/java/lang/IllegalAccessException.P \
.deps/java/lang/IllegalArgumentException.P \
cd $(srcdir) && $(AUTOCONF)
libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+libgcj-test.spec: $(top_builddir)/config.status libgcj-test.spec.in
+ cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-toolexeclibLIBRARIES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
$(basename $<)
-java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
+gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.zip
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
enable_getenv_properties_default=no
;;
i686-*|i586-*|i486-*|i386-*)
- libgcj_flags="${libgcj_flags} -ffloat-store -D__NO_MATH_INLINES"
+ libgcj_flags="${libgcj_flags} -ffloat-store"
libgcj_interpreter=yes
+ libgcj_cxxflags="-D__NO_MATH_INLINES"
+ libgcj_cflags="-D__NO_MATH_INLINES"
DIVIDESPEC=-fno-use-divide-subroutine
;;
sparc-*)
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
--- /dev/null
+// FirstThread.java - Implementation of very first thread.
+
+/* Copyright (C) 1998, 1999 Red Hat, Inc.
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.runtime;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 24, 1998
+ */
+
+// This is entirely internal to our implementation.
+
+final class FirstThread extends Thread
+{
+ public native void run ();
+
+ public FirstThread (ThreadGroup g, Class k, Object o)
+ {
+ super (g, null, "main");
+ klass = k;
+ klass_name = null;
+ args = o;
+ }
+
+ public FirstThread (ThreadGroup g, String class_name, Object o)
+ {
+ super (g, null, "main");
+ klass = null;
+ klass_name = class_name;
+ args = o;
+ }
+
+ private static void die (String s)
+ {
+ System.err.println(s);
+ System.exit(1);
+ }
+
+ // Private data.
+ private Class klass;
+ private String klass_name;
+ private Object args;
+}
--- /dev/null
+// natFirstThread.cc - Implementation of FirstThread native methods.
+
+/* Copyright (C) 1998, 1999 Red Hat, Inc.
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <gnu/gcj/runtime/FirstThread.h>
+#include <java/lang/Class.h>
+#include <java/lang/String.h>
+#include <java/lang/System.h>
+#include <java/lang/reflect/Modifier.h>
+#include <java/io/PrintStream.h>
+
+#define DIE(Message) die (JvNewStringLatin1 (Message))
+
+typedef void main_func (jobject);
+
+void
+gnu::gcj::runtime::FirstThread::run (void)
+{
+ Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
+ Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
+
+ if (klass == NULL)
+ {
+ klass = java::lang::Class::forName (klass_name);
+ if (klass != NULL) _Jv_InitClass (klass);
+ }
+
+ _Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature);
+
+ // Some checks from Java Spec section 12.1.4.
+ if (meth == NULL)
+ DIE ("no suitable method `main' in class");
+ if (! java::lang::reflect::Modifier::isStatic(meth->accflags))
+ DIE ("`main' must be static");
+ if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
+ DIE ("`main' must be public");
+
+ main_func *real_main = (main_func *) meth->ncode;
+ (*real_main) (args);
+}
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+++ /dev/null
-// FirstThread.java - Implementation of very first thread.
-
-/* Copyright (C) 1998, 1999 Red Hat, Inc.
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 24, 1998
- */
-
-// This is entirely internal to our implementation.
-
-final class FirstThread extends Thread
-{
- public native void run ();
-
- public FirstThread (ThreadGroup g, Class k, Object o)
- {
- super (g, null, "main");
- klass = k;
- klass_name = null;
- args = o;
- }
-
- public FirstThread (ThreadGroup g, String class_name, Object o)
- {
- super (g, null, "main");
- klass = null;
- klass_name = class_name;
- args = o;
- }
-
- private static void die (String s)
- {
- System.err.println(s);
- System.exit(1);
- }
-
- // Private data.
- private Class klass;
- private String klass_name;
- private Object args;
-}
+++ /dev/null
-// natFirstThread.cc - Implementation of FirstThread native methods.
-
-/* Copyright (C) 1998, 1999 Red Hat, Inc.
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <gcj/cni.h>
-#include <jvm.h>
-
-#include <java/lang/FirstThread.h>
-#include <java/lang/Class.h>
-#include <java/lang/String.h>
-#include <java/lang/System.h>
-#include <java/lang/reflect/Modifier.h>
-#include <java/io/PrintStream.h>
-
-#define DIE(Message) die (JvNewStringLatin1 (Message))
-
-typedef void main_func (jobject);
-
-void
-java::lang::FirstThread::run (void)
-{
- Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
- Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
-
- if (klass == NULL)
- {
- klass = java::lang::Class::forName (klass_name);
- if (klass != NULL) _Jv_InitClass (klass);
- }
-
- _Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature);
-
- // Some checks from Java Spec section 12.1.4.
- if (meth == NULL)
- DIE ("no suitable method `main' in class");
- if (! java::lang::reflect::Modifier::isStatic(meth->accflags))
- DIE ("`main' must be static");
- if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
- DIE ("`main' must be public");
-
- main_func *real_main = (main_func *) meth->ncode;
- (*real_main) (args);
-}
#include <java/lang/String.h>
#include <java/lang/Thread.h>
#include <java/lang/ThreadGroup.h>
-#include <java/lang/FirstThread.h>
+#include <gnu/gcj/runtime/FirstThread.h>
#include <java/lang/ArrayIndexOutOfBoundsException.h>
#include <java/lang/ArithmeticException.h>
#include <java/lang/ClassFormatError.h>
arg_vec = JvConvertArgv (argc - 1, argv + 1);
main_group = new java::lang::ThreadGroup (23);
- main_thread = new java::lang::FirstThread (main_group, klass, arg_vec);
+ main_thread = new gnu::gcj::runtime::FirstThread (main_group,
+ klass, arg_vec);
main_thread->start();
_Jv_ThreadWait ();
arg_vec = JvConvertArgv (argc - 1, argv + 1);
main_group = new java::lang::ThreadGroup (23);
- main_thread = new java::lang::FirstThread (main_group,
- JvNewStringLatin1 (class_name),
- arg_vec);
+ main_thread = new gnu::gcj::runtime::FirstThread (main_group,
+ JvNewStringLatin1 (class_name),
+ arg_vec);
main_thread->start();
_Jv_ThreadWait ();
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
+ cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \