From 4aba1ac0d8d8d5486ac1ea5791c6378fa02a41ce Mon Sep 17 00:00:00 2001 From: aph Date: Wed, 2 Jul 2008 13:17:54 +0000 Subject: 2008-06-30 Joshua Sumali Andrew Haley * configure.ac (java-home): new AC_ARG_ENABLE. (aot-compile-rpm): Likewise. (CREATE_JAVA_HOME): new AM_CONDITIONAL. (INSTALL_AOT_RPM): Likewise. (gcc-suffix): new AC_ARG_WITH. (arch-directory): Likewise. (os-directory): Likewise. (origin-name): Likewise. (arch-suffix): Likewise. (jvm-root-dir): Likewise. (jvm-jar-dir): Likewise. (python-dir): Likewise. (AC_CONFIG_FILES): Add contrib/aotcompile.py, contrib/aot-compile, contrib/aot-compile-rpm, contrib/rebuild-gcj-db. (gcjsubdir): New AC_SUBST. * Makefile.am (install-data-local): Install Python modules for aot-compile. Also install an sdk style directory if --enable-java-home is passed to configure. (bin_SCRIPTS): Add contrib/rebuild-gcj-db and contrib/aot-compile. (gcjsubdir): Add. (db_pathtail): Redefine in terms of gcjsubdir. * contrib/aot-compile.in: New file. * contrib/aotcompile.py.in: Likewise. * contrib/aot-compile-rpm.in: Likewise. * contrib/classfile.py: Likewise. * contrib/rebuild-gcj-db.in: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. 2008-06-30 Joshua Sumali * doc/install.texi (--enable-java-home): Document. (--enable-aot-compile-rpm): Likewise. (--with-arch-directory): Likewise. (--with-os-directory): Likewise. (--with-origin-name): Likewise. (--with-arch-suffix): Likewise. (--with-jvm-root-dir): Likewise. (--with-jvm-jar-dir): Likewise. (--with-python-dir): Likewise. 2008-06-30 Joshua Sumali * Make-lang.in (JAVA_MANFILES): Add doc/aot-compile.1 and doc/rebuild-gcj-db.1 (java.uninstall): Likewise. (java.maintainer-clean): Likewise. (aot-compile.pod): New rule. (rebuild-gcj-db.pod): New rule. (java.install-man): Install doc/aot-compile.1 and doc/rebuild-gcj-db.1 * gcj.texi: Add new sections for aot-compile and rebuild-gcj-db. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137353 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/Makefile.am | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 142 insertions(+), 4 deletions(-) (limited to 'libjava/Makefile.am') diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 559f73ab0d9..c074f5752a0 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -74,7 +74,8 @@ endif ## Name of the default .db. db_name = classmap.db ## Compiler specific component of the .db file -db_pathtail = gcj-$(gcc_version)/$(db_name) +gcjsubdir = @gcjsubdir@ +db_pathtail = $(gcjsubdir)/$(db_name) ## For now, only on native systems. FIXME. if NATIVE @@ -85,9 +86,13 @@ bin_PROGRAMS = jv-convert gij grmic grmiregistry gcj-dbtool \ ## It is convenient to actually build and install the default database ## when gcj-dbtool is available. dbexec_DATA = $(db_name) -endif +endif -bin_SCRIPTS = addr2name.awk +bin_SCRIPTS = addr2name.awk contrib/rebuild-gcj-db contrib/aot-compile + +if INSTALL_AOT_RPM +bin_SCRIPTS += contrib/aot-compile-rpm +endif if BUILD_ECJ1 ## We build ecjx and not ecj1 because in one mode, ecjx will not work @@ -528,7 +533,140 @@ install-data-local: $(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SinkChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ $(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SourceChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ ## Don't install java/nio/DirectByteBufferImpl$$ReadWrite.h here. It's for internal use only. - +## Install Python modules for aot-compile. + $(mkinstalldirs) $(DESTDIR)$(python_mod_dir); \ + $(INSTALL_DATA) $(srcdir)/contrib/classfile.py \ + $(DESTDIR)$(python_mod_dir)/classfile.py; \ + $(INSTALL_DATA) contrib/aotcompile.py \ + $(DESTDIR)$(python_mod_dir)/aotcompile.py; +if CREATE_JAVA_HOME +## Create sdk style directories + $(mkinstalldirs) $(DESTDIR)$(JRE_BIN_DIR) + $(mkinstalldirs) $(DESTDIR)$(SDK_BIN_DIR) + $(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR) + $(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/$(CPU) + $(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR) + $(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR)/$(OS) + relative() { \ + $(PERL) -e 'use File::Spec; \ + print File::Spec->abs2rel($$ARGV[0], $$ARGV[1])' $$1 $$2; \ + }; \ + RELATIVE=$$(relative $(DESTDIR)$(bindir) $(DESTDIR)$(SDK_BIN_DIR)); \ + ln -sf $$RELATIVE/`echo gij | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/java; \ + ln -sf $$RELATIVE/`echo gjar | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/jar; \ + ln -sf $$RELATIVE/`echo gjdoc | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/javadoc; \ + ln -sf $$RELATIVE/`echo grmic | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(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)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/jarsigner; \ + ln -sf $$RELATIVE/`echo grmiregistry | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/rmiregistry; \ + ln -sf $$RELATIVE/`echo gkeytool | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/keytool; \ + ln -sf $$RELATIVE/`echo gorbd | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/orbd; \ + ln -sf $$RELATIVE/`echo gnative2ascii | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/native2ascii; \ + ln -sf $$RELATIVE/`echo grmid | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/rmid; \ + ln -sf $$RELATIVE/`echo gtnameserv | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/tnameserv; \ + ln -sf $$RELATIVE/`echo gserialver | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(SDK_BIN_DIR)/serialver; \ + RELATIVE=$$(relative $(DESTDIR)$(bindir) $(DESTDIR)$(JRE_BIN_DIR)); \ + ln -sf $$RELATIVE/`echo grmiregistry | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(JRE_BIN_DIR)/rmiregistry; \ + ln -sf $$RELATIVE/`echo gkeytool | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(JRE_BIN_DIR)/keytool; \ + ln -sf $$RELATIVE/`echo gij | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(JRE_BIN_DIR)/java; \ + ln -sf $$RELATIVE/`echo gorbd | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(JRE_BIN_DIR)/orbd; \ + ln -sf $$RELATIVE/`echo grmid | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(JRE_BIN_DIR)/rmid; \ + ln -sf $$RELATIVE/`echo gtnameserv | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \ + $(DESTDIR)$(JRE_BIN_DIR)/tnameserv; \ + $(mkinstalldirs) $(DESTDIR)$(JVM_JAR_DIR); \ + version=$(JAVA_VERSION).$(BUILD_VERSION); \ + working_dir=`pwd`; \ + cd $(DESTDIR)$(JVM_JAR_DIR); \ + for jarname in jaas jce jdbc-stdext jndi jndi-cos jndi-dns \ + jndi-ldap jndi-rmi jsse sasl; \ + do \ + ln -s $$RELATIVE/$$jarname.jar $$jarname-$$version.jar; \ + done; \ + for jar in *-$$version.jar; \ + do \ + ln -sf $$jar $$(echo $$jar | sed "s|-$$version.jar|-$(JAVA_VERSION).jar|g"); \ + ln -sf $$jar $$(echo $$jar | sed "s|-$$version.jar|.jar|g"); \ + done; \ + cd $$working_dir; \ + $(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/security; \ + RELATIVE=$$(relative $(DESTDIR)$(libdir)/security \ + $(DESTDIR)$(JRE_LIB_DIR)/security); \ + cd $(DESTDIR)$(JRE_LIB_DIR)/security; \ + ln -sf $$RELATIVE/classpath.security java.security; \ + cd $$working_dir; \ + $(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR)/linux; \ + $(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/client; \ + $(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/server; \ + $(mkinstalldirs) $(DESTDIR)$(SDK_LIB_DIR); \ + cd $(DESTDIR)$(JRE_LIB_DIR); \ + for jarname in jaas jce jdbc-stdext jndi jndi-cos jndi-dns \ + jndi-ldap jndi-rmi jsse sasl; \ + do \ + ln -s rt.jar $$jarname.jar; \ + done; \ + cd $$working_dir; \ + RELATIVE=$$(relative $(DESTDIR)$(datarootdir)/java \ + $(DESTDIR)$(JRE_LIB_DIR)); \ + ln -sf $$RELATIVE/libgcj-$(gcc_version).jar \ + $(DESTDIR)$(JRE_LIB_DIR)/rt.jar; \ + RELATIVE=$$(relative $(DESTDIR)$(dbexecdir) \ + $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)); \ + ln -sf $$RELATIVE/libjawt.so \ + $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/libjawt.so; \ + RELATIVE=$$(relative $(DESTDIR)$(dbexecdir) \ + $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/client); \ + ln -sf $$RELATIVE/libjvm.so \ + $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/client/libjvm.so; \ + RELATIVE=$$(relative $(DESTDIR)$(dbexecdir) \ + $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/server); \ + ln -sf $$RELATIVE/libjvm.so \ + $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/server/libjvm.so; \ + RELATIVE=$$(relative $(DESTDIR)$(datarootdir)/java \ + $(DESTDIR)$(SDK_LIB_DIR)); \ + 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 \ + -print-file-name=include/$$headername.h)); \ + RELATIVE=$$(relative $(DESTDIR)$$DIRECTORY \ + $(DESTDIR)$(SDK_INCLUDE_DIR)); \ + ln -sf $$RELATIVE/$$headername.h \ + $(DESTDIR)$(SDK_INCLUDE_DIR)/$$headername.h; \ + done; \ + for headername in jawt_md jni_md; do \ + DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/gcj \ + -print-file-name=include/$$headername.h)); \ + RELATIVE=$$(relative $(DESTDIR)$$DIRECTORY \ + $(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \ + ln -sf $$RELATIVE/$$headername.h \ + $(DESTDIR)$(SDK_INCLUDE_DIR)/linux/$$headername.h; \ + done; \ + RELATIVE=$$(relative $(DESTDIR)$(datarootdir)/java \ + $(DESTDIR)$(JVM_ROOT_DIR)/$(SDK_DIR)); \ + ln -sf $$RELATIVE/src-$(gcc_version).zip \ + $(DESTDIR)$(JVM_ROOT_DIR)/$(SDK_DIR)/src.zip; +endif ## ################################################################ -- cgit v1.2.1