+2000-12-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * libjava: Imported from /cvs/java.
+ * libffi: Likewise.
+ * Boehm-gc: Likewise.
+
2000-12-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
* configure.in (target_libs): Revert 2000-12-08 patch.
+2000-12-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * Make-lang.in (java/jcf-path.o:): libgcj.jar replaces libgcj.zip.
+ jcf-path.c: Likewise.
+
2000-12-09 Anthony Green <green@redhat.com>
* zipfile.h (ZipDirectory): Declare size, uncompressed_size,
# jcf-path.o needs a -D.
java/jcf-path.o: java/jcf-path.c $(CONFIG_H) system.h java/jcf.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- -DLIBGCJ_ZIP_FILE='"$(prefix)/share/libgcj.zip"' \
+ -DLIBGCJ_ZIP_FILE='"$(prefix)/share/libgcj.jar"' \
$(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
/* We support several different ways to set the class path.
- built-in system directory (only libgcj.zip)
+ built-in system directory (only libgcj.jar)
CLASSPATH environment variable
-CLASSPATH overrides CLASSPATH
-classpath option - overrides CLASSPATH, -CLASSPATH, and built-in
{
n->flags |= FLAG_ZIP;
/* If the user uses -classpath then he'll have to include
- libgcj.zip in the value. We check for this in a simplistic
+ libgcj.jar in the value. We check for this in a simplistic
way. Symlinks will fool this test. This is only used for
-MM and -MMD, so it probably isn't terribly important. */
if (! strcmp (filename, LIBGCJ_ZIP_FILE))
strcpy (try + len, "share");
strcat (try, sep);
- strcat (try, "libgcj.zip");
+ strcat (try, "libgcj.jar");
if (! stat (try, &stat_b))
{
add_entry (&sys_dirs, try, 1);
strcat (try, sep);
strcat (try, "share");
strcat (try, sep);
- strcat (try, "libgcj.zip");
+ strcat (try, "libgcj.jar");
if (! stat (try, &stat_b))
{
add_entry (&sys_dirs, try, 1);
+2000-12-09 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * Makefile.am (data_DATA): libgcj.jar replaces libgcj.zip.
+ (ZIP): Points at fastjar instead of zip.
+ (libgcj_la_DEPENDENCIES): libgcj.jar replaces libgcj.zip.
+ (libgcj_la_LDFLAGS): Correctly point at libsupc++.
+ (libgcjx_la_DEPENDENCIES): libgcj.jar replaces libgcj.zip.
+ (libgcjx_la_LDFLAGS): Correctly point at libsupc++.
+ ($(java_source_files:.java=.class):): libgcj.jar replaces libgcj.zip.
+ ($(x_java_source_files:.java=.class):): Likewise.
+ (libgcj.jar:): Replaces libgcj.zip:, builds libgcj.jar and uses
+ fastar's flags.
+ (CLEANFILES): libgcj.jar replaces libgcj.zip.
+ (java/lang/ClassLoader.h:): Depends on libgcj.jar.
+ (gnu/gcj/runtime/FirstThread.h:, java/lang/Thread.h:,
+ java/lang/String.h:, java/lang/reflect/Constructor.h:,
+ java/lang/reflect/Field.h:, java/lang/reflect/Method.h:,
+ gnu/gcj/runtime/VMClassLoader.h:,
+ java/io/ObjectInputStream$$GetField.h:,
+ java/io/ObjectOutputStream$$PutField.h:, header-check:): Likewise.
+ (Makefile.in): Rebuilt.
+
2000-12-08 Tom Tromey <tromey@redhat.com>
From Phil Edwards:
toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
toolexeclib_DATA = libgcj.spec
-data_DATA = libgcj.zip
+data_DATA = libgcj.jar
if NEEDS_DATA_START
toolexeclib_LIBRARIES = libgcjdata.a
if NULL_TARGET
## In this case, gcj is found outside the build tree. However, zip is
## found in the build tree.
-ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
else
-ZIP = zip
+ZIP = fastjar
endif
GCJH = gcjh
else # CANADIAN
## definition of GCJ won't work; instead we resort to this ugly
## definition that gives us absolute paths.
GCJH = $(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
-ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
endif # CANADIAN
GCJCOMPILE = $(LIBTOOL) --tag=GCJ --mode=compile $(GCJ) -fassume-compiled -fclasspath=$(here) -L$(here) $(JC1FLAGS) -MD -MT $@ -MF $(@:.lo=.d) -c
## ################################################################
##
-## How to build libgcj.a and libgcj.zip
+## How to build libgcj.a and libgcj.jar
##
## Objects from C++ sources in subdirs.
$(nat_source_files)
EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
$(c_source_files) $(java_source_files) $(built_java_source_files)
-libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) \
+libgcj_la_DEPENDENCIES = libgcj.jar $(javao_files) \
$(c_files) $(GCOBJS) $(THREADOBJS) $(LIBLTDL)
libgcj_la_LIBADD = $(javao_files) $(c_files) $(GCOBJS) \
$(THREADOBJS) $(libffi_files) $(LIBLTDL)
-libgcj_la_LDFLAGS = -lsupc++ -rpath $(toolexeclibdir) \
+libgcj_la_LDFLAGS = -L$(here)/../libstdc++-v3/libsupc++ -lsupc++ \
+ -rpath $(toolexeclibdir) \
## The mysterious backslash is consumed by make.
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcj_la_LINK = $(LIBLINK)
libgcjx_la_SOURCES = $(x_nat_source_files)
EXTRA_libgcjx_la_SOURCES = $(x_java_source_files)
-libgcjx_la_DEPENDENCIES = libgcj.zip $(x_javao_files)
+libgcjx_la_DEPENDENCIES = libgcj.jar $(x_javao_files)
libgcjx_la_LIBADD = $(x_javao_files)
libgcjx_la_LDFLAGS = @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
- -lsupc++ -rpath $(toolexeclibdir) \
+ -L$(here)/../libstdc++-v3/libsupc++ -lsupc++ \
+ -rpath $(toolexeclibdir) \
## The mysterious backslash is consumed by make.
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcjx_la_LINK = $(LIBLINK)
## a .java file with some other class which is caught. Note that we
## only want to create headers for those files which do not have
## hand-maintained headers.
-$(java_source_files:.java=.class): libgcj.zip
+$(java_source_files:.java=.class): libgcj.jar
-## The .class files for X will not be included in libgcj.zip, but the
-## rule for libgcj.zip will cause all out-of-date .class files to be
+## The .class files for X will not be included in libgcj.jar, but the
+## rule for libgcj.jar will cause all out-of-date .class files to be
## built. We need this to generate headers for the nat-files.
-$(x_java_source_files:.java=.class): libgcj.zip
+$(x_java_source_files:.java=.class): libgcj.jar
## FIXME: this isn't really correct.
$(built_java_source_files:.java=.class): $(built_java_source_files)
## We have the zip file depend on the java sources and not the class
## files, because we don't know the names of all the class files.
-## FIXME: this method fails in a peculiar case: if libgcj.zip is
+## FIXME: this method fails in a peculiar case: if libgcj.jar is
## up-to-date, and foo.class is removed, and bar.java is touched, then
-## `make libgcj.zip' will not rebuilt foo.class. That's because
-## libgcj.zip is not out-of-date with respect to foo.java.
-libgcj.zip: $(java_source_files) $(x_java_source_files)
+## `make libgcj.jar' will not rebuilt foo.class. That's because
+## libgcj.jar is not out-of-date with respect to foo.java.
+libgcj.jar: $(java_source_files) $(x_java_source_files)
## Create a list of all Java sources, without exceeding any shell limits.
@: $(shell echo Creating list of files to compile...) $(shell rm -f tmp-list || :) $(shell touch tmp-list) $(foreach source,$(subst $(srcdir)/,,$?),$(shell echo $(source) >> tmp-list))
## FIXME: this ought to depend on built_java_source_files, but right
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes ;; *) exit 1;; esac; \
done; \
test "$$fail" = no
- -@rm -f tmp-list libgcj.zip
+ -@rm -f tmp-list libgcj.jar
## Note that we explicitly want to include directory information.
find java gnu -type d -o -type f -name '*.class' | \
sed -e '/\/\./d' -e '/\/xlib/d' | \
- $(ZIP) libgcj -@ -n .class
+ $(ZIP) cfM0E@ $@
MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers)
-CLEANFILES = tmp-list libgcj.zip
+CLEANFILES = tmp-list libgcj.jar
clean-local:
## We just remove every .class file that was created.
x_nat_headers = $(x_java_source_files:.java=.h)
-java/lang/ClassLoader.h: java/lang/ClassLoader.class libgcj.zip
+java/lang/ClassLoader.h: java/lang/ClassLoader.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
-friend 'void _Jv_RunMain (const char *name, int argc, const char **argv, bool is_jar);' \
$(basename $<)
## Our internal main program needs to be able to create a FirstThread.
-gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.zip
+gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
$(basename $<)
-java/lang/Thread.h: java/lang/Thread.class libgcj.zip
+java/lang/Thread.h: java/lang/Thread.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-prepend 'class _Jv_JNIEnv;' \
-prepend 'extern "Java" { namespace gnu { namespace gcj { namespace jni { class NativeThread; } } } };' \
-friend 'class gnu::gcj::jni::NativeThread;' \
$(basename $<)
-java/lang/String.h: java/lang/String.class libgcj.zip
+java/lang/String.h: java/lang/String.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'jchar* _Jv_GetStringChars (jstring str);' \
-friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
-friend 'jstring _Jv_AllocString (jsize);' \
$(basename $<)
-java/lang/reflect/Constructor.h: java/lang/reflect/Constructor.class libgcj.zip
+java/lang/reflect/Constructor.h: java/lang/reflect/Constructor.class libgcj.jar
$(GCJH) -classpath $(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 libgcj.zip
+java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.jar
$(GCJH) -classpath $(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 libgcj.zip
+java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
-friend 'class java::lang::Class;' \
-friend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \
$(basename $<)
-gnu/gcj/runtime/VMClassLoader.h: gnu/gcj/runtime/VMClassLoader.class libgcj.zip
+gnu/gcj/runtime/VMClassLoader.h: gnu/gcj/runtime/VMClassLoader.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'class java::lang::ClassLoader;' \
$(basename $<)
-java/io/ObjectInputStream$$GetField.h: libgcj.zip
+java/io/ObjectInputStream$$GetField.h: libgcj.jar
$(GCJH) -classpath $(top_builddir) \
'java/io/ObjectInputStream$$GetField'
-java/io/ObjectOutputStream$$PutField.h: libgcj.zip
+java/io/ObjectOutputStream$$PutField.h: libgcj.jar
$(GCJH) -classpath $(top_builddir) \
'java/io/ObjectOutputStream$$PutField'
## This rule can be used to see if the headers are more or less
## correct.
-header-check: libgcj.zip $(nat_headers)
+header-check: libgcj.jar $(nat_headers)
rm -f htest.cc; \
for h in $(nat_headers); do \
echo "#include \"$$h\"" >> htest.cc; \
toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
toolexeclib_DATA = libgcj.spec
-data_DATA = libgcj.zip
+data_DATA = libgcj.jar
@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = \
@NEEDS_DATA_START_TRUE@libgcjdata.a
bin_SCRIPTS = addr2name.awk
@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \
-@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \
-@CANADIAN_TRUE@@NULL_TARGET_FALSE@zip
+@CANADIAN_TRUE@@NULL_TARGET_FALSE@fastjar
@CANADIAN_FALSE@ZIP = \
-@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar$(EXEEXT)
@CANADIAN_TRUE@GCJH = \
@CANADIAN_TRUE@gcjh
@CANADIAN_FALSE@GCJH = \
EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
$(c_source_files) $(java_source_files) $(built_java_source_files)
-libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) \
+libgcj_la_DEPENDENCIES = libgcj.jar $(javao_files) \
$(c_files) $(GCOBJS) $(THREADOBJS) $(LIBLTDL)
libgcj_la_LIBADD = $(javao_files) $(c_files) $(GCOBJS) \
$(THREADOBJS) $(libffi_files) $(LIBLTDL)
-libgcj_la_LDFLAGS = -lsupc++ -rpath $(toolexeclibdir) \
+libgcj_la_LDFLAGS = -L$(here)/../libstdc++-v3/libsupc++ -lsupc++ \
+ -rpath $(toolexeclibdir) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcj_la_LINK = $(LIBLINK)
libgcjx_la_SOURCES = $(x_nat_source_files)
EXTRA_libgcjx_la_SOURCES = $(x_java_source_files)
-libgcjx_la_DEPENDENCIES = libgcj.zip $(x_javao_files)
+libgcjx_la_DEPENDENCIES = libgcj.jar $(x_javao_files)
libgcjx_la_LIBADD = $(x_javao_files)
libgcjx_la_LDFLAGS = @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
- -lsupc++ -rpath $(toolexeclibdir) \
+ -L$(here)/../libstdc++-v3/libsupc++ -lsupc++ \
+ -rpath $(toolexeclibdir) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcjx_la_LINK = $(LIBLINK)
MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers)
-CLEANFILES = tmp-list libgcj.zip
+CLEANFILES = tmp-list libgcj.jar
SUFFIXES = .class .java .h
$(LN_S) libgcjx.la gnu-awt-xlib.la; \
fi
-$(java_source_files:.java=.class): libgcj.zip
+$(java_source_files:.java=.class): libgcj.jar
-$(x_java_source_files:.java=.class): libgcj.zip
+$(x_java_source_files:.java=.class): libgcj.jar
$(built_java_source_files:.java=.class): $(built_java_source_files)
@javac="$(JAVAC)"; \
-d $(here) $$f; \
done
-libgcj.zip: $(java_source_files) $(x_java_source_files)
+libgcj.jar: $(java_source_files) $(x_java_source_files)
@: $(shell echo Creating list of files to compile...) $(shell rm -f tmp-list || :) $(shell touch tmp-list) $(foreach source,$(subst $(srcdir)/,,$?),$(shell echo $(source) >> tmp-list))
$(MAKE) $(built_java_source_files:.java=.class)
@set fnord $(MAKEFLAGS); amf=$$2; fail=no; \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes ;; *) exit 1;; esac; \
done; \
test "$$fail" = no
- -@rm -f tmp-list libgcj.zip
+ -@rm -f tmp-list libgcj.jar
find java gnu -type d -o -type f -name '*.class' | \
sed -e '/\/\./d' -e '/\/xlib/d' | \
- $(ZIP) libgcj -@ -n .class
+ $(ZIP) cfM0E@ $@
clean-local:
find . -name '*.class' -print | xargs rm -f
.class.h:
$(GCJH) -classpath $(top_builddir) $(basename $<)
-java/lang/ClassLoader.h: java/lang/ClassLoader.class libgcj.zip
+java/lang/ClassLoader.h: java/lang/ClassLoader.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
-friend 'void _Jv_RunMain (const char *name, int argc, const char **argv, bool is_jar);' \
$(basename $<)
-gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.zip
+gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
$(basename $<)
-java/lang/Thread.h: java/lang/Thread.class libgcj.zip
+java/lang/Thread.h: java/lang/Thread.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-prepend 'class _Jv_JNIEnv;' \
-prepend 'extern "Java" { namespace gnu { namespace gcj { namespace jni { class NativeThread; } } } };' \
-friend 'class gnu::gcj::jni::NativeThread;' \
$(basename $<)
-java/lang/String.h: java/lang/String.class libgcj.zip
+java/lang/String.h: java/lang/String.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'jchar* _Jv_GetStringChars (jstring str);' \
-friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
-friend 'jstring _Jv_AllocString (jsize);' \
$(basename $<)
-java/lang/reflect/Constructor.h: java/lang/reflect/Constructor.class libgcj.zip
+java/lang/reflect/Constructor.h: java/lang/reflect/Constructor.class libgcj.jar
$(GCJH) -classpath $(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 libgcj.zip
+java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.jar
$(GCJH) -classpath $(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 libgcj.zip
+java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
-friend 'class java::lang::Class;' \
-friend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \
$(basename $<)
-gnu/gcj/runtime/VMClassLoader.h: gnu/gcj/runtime/VMClassLoader.class libgcj.zip
+gnu/gcj/runtime/VMClassLoader.h: gnu/gcj/runtime/VMClassLoader.class libgcj.jar
$(GCJH) -classpath $(top_builddir) \
-friend 'class java::lang::ClassLoader;' \
$(basename $<)
-java/io/ObjectInputStream$$GetField.h: libgcj.zip
+java/io/ObjectInputStream$$GetField.h: libgcj.jar
$(GCJH) -classpath $(top_builddir) \
'java/io/ObjectInputStream$$GetField'
-java/io/ObjectOutputStream$$PutField.h: libgcj.zip
+java/io/ObjectOutputStream$$PutField.h: libgcj.jar
$(GCJH) -classpath $(top_builddir) \
'java/io/ObjectOutputStream$$PutField'
| grep -v 'Jv' \
| grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
-header-check: libgcj.zip $(nat_headers)
+header-check: libgcj.jar $(nat_headers)
rm -f htest.cc; \
for h in $(nat_headers); do \
echo "#include \"$$h\"" >> htest.cc; \