## compiled.
EXTRA_libgcj_la_SOURCES = java/lang/Object.java
+# We compile libgcj_tools with -findirect-dispatch so that they can
+# depend on external classes: in particular, gjdoc uses antlr. In
+# addition, -fno-bootstrap-classes ensures that the tools are loaded
+# by the system class loader rather than the bootstrap class loader:
+# only core library classes should be loaded by the bootstrap loader.
libgcj_tools_la_SOURCES = classpath/tools/tools.zip
-libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst
+libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
+ -fno-bootstrap-classes -fno-indirect-classes \
+ -fsource-filename=$(here)/classpath/tools/all-classes.lst
libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
$(DESTDIR)$(SDK_BIN_DIR)/rmic; \
ln -sf $$RELATIVE/`echo gjavah | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
$(DESTDIR)$(SDK_BIN_DIR)/javah; \
- ln -sf $$RELATIVE/ecj $(DESTDIR)$(SDK_BIN_DIR)/javac; \
ln -sf $$RELATIVE/`echo gappletviewer | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
$(DESTDIR)$(SDK_BIN_DIR)/appletviewer; \
ln -sf $$RELATIVE/`echo gjarsigner | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
done; \
cd $$working_dir; \
$(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/security; \
- RELATIVE=$$(relative $(DESTDIR)$(libdir)/security \
+ RELATIVE=$$(relative $(DESTDIR)$(toolexeclibdir)/security \
$(DESTDIR)$(JRE_LIB_DIR)/security); \
cd $(DESTDIR)$(JRE_LIB_DIR)/security; \
ln -sf $$RELATIVE/classpath.security java.security; \
ln -sf $$RELATIVE/libgcj-tools-$(gcc_version).jar \
$(DESTDIR)$(SDK_LIB_DIR)/tools.jar; \
for headername in jawt jni; do \
- DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \
+ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
-print-file-name=include/$$headername.h)); \
RELATIVE=$$(relative $$DIRECTORY \
$(DESTDIR)$(SDK_INCLUDE_DIR)); \
$(DESTDIR)$(SDK_INCLUDE_DIR)/$$headername.h; \
done; \
for headername in jawt_md jni_md; do \
- DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \
+ DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
-print-file-name=include/$$headername.h)); \
RELATIVE=$$(relative $$DIRECTORY \
$(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
$(DESTDIR)$(SDK_INCLUDE_DIR)/linux/$$headername.h; \
done; \
RELATIVE=$$(relative $(DESTDIR)$(datadir)/java \
- $(DESTDIR)$(JVM_ROOT_DIR)/$(SDK_DIR)); \
- ln -sf $$RELATIVE/src-$(gcc_version).zip \
- $(DESTDIR)$(JVM_ROOT_DIR)/$(SDK_DIR)/src.zip;
+ $(DESTDIR)$(JVM_ROOT_DIR)/$(SDK_DIR));
endif
## ################################################################