summaryrefslogtreecommitdiff
path: root/libjava/Makefile.am
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-02 13:17:54 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-02 13:17:54 +0000
commit4aba1ac0d8d8d5486ac1ea5791c6378fa02a41ce (patch)
treeb7d8b5f41e6442ff1a6b23906ca6686a7f8748f2 /libjava/Makefile.am
parentcc5ef3f4f0f6a9400a9e51f66970a1c24377dc44 (diff)
downloadgcc-4aba1ac0d8d8d5486ac1ea5791c6378fa02a41ce.tar.gz
2008-06-30 Joshua Sumali <jsumali@redhat.com>
Andrew Haley <aph@redhat.com> * 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 <jsumali@redhat.com> * 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 <jsumali@redhat.com> * 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
Diffstat (limited to 'libjava/Makefile.am')
-rw-r--r--libjava/Makefile.am146
1 files changed, 142 insertions, 4 deletions
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
## ################################################################