diff options
Diffstat (limited to 'libjava/classpath/tools/Makefile.am')
-rwxr-xr-x | libjava/classpath/tools/Makefile.am | 209 |
1 files changed, 183 insertions, 26 deletions
diff --git a/libjava/classpath/tools/Makefile.am b/libjava/classpath/tools/Makefile.am index 81953bc66ee..01c07ee9646 100755 --- a/libjava/classpath/tools/Makefile.am +++ b/libjava/classpath/tools/Makefile.am @@ -2,19 +2,35 @@ ## GCJ LOCAL: use srcdir to find core classes. GLIBJ_BOOTCLASSPATH='$(top_srcdir)/lib' -GLIBJ_CLASSPATH=.:$(srcdir)/asm +GLIBJ_CLASSPATH=.:$(srcdir)/asm:$(ANTLR_CLASSPATH) ## END GCJ LOCAL -# Setup the compiler to use the GNU Classpath library we just build -## GCJ LOCAL: don't pass $(JAVACFLAGS) -source 1.5 -target 1.5 -JCOMPILER = $(JAVAC) -g -w --encoding=UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH) +# Setup the compiler to use the GNU Classpath library we just built. +if GCJ_JAVAC +JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --encoding=UTF-8 --bootclasspath=$(GLIBJ_BOOTCLASSPATH) --classpath=$(GLIBJ_CLASSPATH) +else +JCOMPILER = $(JAVAC) $(JAVACFLAGS) -source 1.5 -target 1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH) +endif + +if CREATE_GJDOC +## GCJ LOCAL: always put source files in srcdir +## if CREATE_GJDOC_PARSER +## gjdoc_gendir = ${top_builddir}/tools/generated +## else +gjdoc_gendir = ${top_srcdir}/tools/generated +## endif +## END GCJ LOCAL +ANTLR_CLASSPATH = $(ANTLR_JAR):$(gjdoc_gendir) +endif if CREATE_WRAPPERS bin_SCRIPTS = bin_PROGRAMS = gappletviewer gjarsigner gkeytool \ gjar gnative2ascii gserialver gjavah grmiregistry \ gtnameserv gorbd grmid grmic - +if CREATE_GJDOC +bin_PROGRAMS += gjdoc +endif AM_CPPFLAGS = -Wall \ -I$(top_srcdir)/include \ @@ -83,11 +99,19 @@ grmic_CFLAGS = \ -DTOOLPACKAGE="\"rmic\"" \ -DTOOLNAME="\"grmic\"" +gjdoc_SOURCES = toolwrapper.c +gjdoc_CFLAGS = \ + -DTOOLPACKAGE="\"gjdoc\"" \ + -DTOOLNAME="\"gjdoc\"" + else ## GCJ LOCAL: do not install these. noinst_SCRIPTS = gappletviewer gjarsigner gkeytool \ gjar gnative2ascii gserialver gjavah grmiregistry \ gtnameserv gorbd grmid grmic +if CREATE_GJDOC +noinst_SCRIPTS += gjdoc +endif bin_PROGRAMS = ## FIXME: remove these unneeded dependency lines once we can ## require Automake 1.11. @@ -103,17 +127,25 @@ gtnameserv: gtnameserv.in gorbd: gorbd.in grmid: grmid.in grmic: grmic.in +if CREATE_GJDOC +gjdoc: gjdoc.in +endif endif EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \ gjar.in gnative2ascii.in gserialver.in gjavah.in grmiregistry.in \ - gtnameserv.in gorbd.in grmid.in grmic.in + gtnameserv.in gorbd.in grmid.in grmic.in gjdoc.in # All our example java source files TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \ + $(srcdir)/gnu/classpath/tools/*.java \ + $(srcdir)/gnu/classpath/tools/*/*.java \ + $(srcdir)/gnu/classpath/tools/*/*/*.java \ + $(srcdir)/gnu/classpath/tools/*/*/*/*.java \ $(srcdir)/com/sun/javadoc/*.java \ $(srcdir)/com/sun/tools/doclets/*.java \ $(srcdir)/com/sun/tools/javac/*.java \ $(srcdir)/com/sun/tools/javah/*.java \ + $(srcdir)/com/sun/tools/javadoc/*.java \ $(srcdir)/sun/rmi/rmic/*.java \ $(srcdir)/external/asm/org/objectweb/asm/*.java \ $(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \ @@ -147,6 +179,107 @@ PROPERTY_FILES = $(srcdir)/external/asm/org/objectweb/asm/optimizer/shrink.prope # RMIC templates that must be included in the generated zip file. RMIC_TEMPLATES = $(srcdir)/resource/gnu/classpath/tools/rmic/templates/*.jav +# gjdoc resource files. +gnu_classpath_tools_gjdoc_jar_CSS = \ + doctranslets/html/res/gjdochtml-clean.css \ + doctranslets/html/res/gjdochtml-fixed.css \ + doctranslets/html/res/gjdochtml-sclara.css \ + doctranslets/html/res/gjdochtml.css \ + htmldoclet/gjdochtml-vanilla.css \ + htmldoclet/gjdochtml-clean-layout.css \ + htmldoclet/gjdochtml-clean-color1.css + +gnu_classpath_tools_gjdoc_jar_DTDS = \ + htmldoclet/xhtml11-target10.dtd \ + dtd/gjdoc-alphaindex.dtd \ + dtd/gjdoc.dtd + +gnu_classpath_tools_gjdoc_jar_ENTS = \ + dtd/ent/iso-amsa.ent \ + dtd/ent/iso-amsb.ent \ + dtd/ent/iso-amsc.ent \ + dtd/ent/iso-amsn.ent \ + dtd/ent/iso-amso.ent \ + dtd/ent/iso-amsr.ent \ + dtd/ent/iso-box.ent \ + dtd/ent/iso-cyr1.ent \ + dtd/ent/iso-cyr2.ent \ + dtd/ent/iso-dia.ent \ + dtd/ent/iso-grk1.ent \ + dtd/ent/iso-grk2.ent \ + dtd/ent/iso-grk3.ent \ + dtd/ent/iso-grk4.ent \ + dtd/ent/iso-lat1.ent \ + dtd/ent/iso-lat2.ent \ + dtd/ent/iso-num.ent \ + dtd/ent/iso-pub.ent \ + dtd/ent/iso-tech.ent + +gnu_classpath_tools_gjdoc_jar_HTML = doctranslets/html/res/default_help_en.html + +gnu_classpath_tools_gjdoc_jar_JS = \ + doctranslets/html/res/gjdoc.js \ + htmldoclet/gjdoc.js + +gnu_classpath_tools_gjdoc_jar_PNG = \ + htmldoclet/inherit.png + +gnu_classpath_tools_gjdoc_jar_MODS = dtd/dbcentx.mod + +gnu_classpath_tools_gjdoc_jar_PROPERTIES = htmldoclet/HtmlDoclet.properties + +gnu_classpath_tools_gjdoc_jar_RNGS = \ + rng/gjdoc-classdoc.rng \ + rng/gjdoc-common.rng \ + rng/gjdoc-index.rng + +gnu_classpath_tools_gjdoc_jar_TXTS = \ + java.lang-classes-1.2.txt \ + java.lang-classes-1.3.txt \ + java.lang-classes-1.4.txt \ + java.lang-classes-1.5.txt + +gnu_classpath_tools_gjdoc_jar_XHTML = htmldoclet/help.xhtml + +gnu_classpath_tools_gjdoc_jar_XSLS = \ + doctranslets/gjdoc_common.xsl \ + doctranslets/html/about.xsl \ + doctranslets/html/allclasses.xsl \ + doctranslets/html/allpackages.xsl \ + doctranslets/html/alphaindex.xsl \ + doctranslets/html/alphaindex_chunked.xsl \ + doctranslets/html/classdoc-source.xsl \ + doctranslets/html/classdoc-uses.xsl \ + doctranslets/html/classdoc.xsl \ + doctranslets/html/deprecated.xsl \ + doctranslets/html/descriptor.xsl \ + doctranslets/html/doctranslet.xsl \ + doctranslets/html/fulltree.xsl \ + doctranslets/html/gjdoc.xsl \ + doctranslets/html/help.xsl \ + doctranslets/html/html_common.xsl \ + doctranslets/html/index_noframes.xsl \ + doctranslets/html/index.xsl \ + doctranslets/html/packageclasses.xsl \ + doctranslets/html/packagedoc.xsl + +# All our resources. +gjdoc_resources = $(gnu_classpath_tools_gjdoc_jar_CSS) $(gnu_classpath_tools_gjdoc_jar_DTDS) \ + $(gnu_classpath_tools_gjdoc_jar_ENTS) $(gnu_classpath_tools_gjdoc_jar_HTML) \ + $(gnu_classpath_tools_gjdoc_jar_JS) $(gnu_classpath_tools_gjdoc_jar_MODS) \ + $(gnu_classpath_tools_gjdoc_jar_PNG) $(gnu_classpath_tools_gjdoc_jar_PROPERTIES) \ + $(gnu_classpath_tools_gjdoc_jar_RNGS) $(gnu_classpath_tools_gjdoc_jar_TXTS) \ + $(gnu_classpath_tools_gjdoc_jar_XHTML) $(gnu_classpath_tools_gjdoc_jar_XSLS) + +if !CREATE_GJDOC +GJDOC_EX = -path '*gnu/classpath/tools/gjdoc' -prune -o \ + -path '*gnu/classpath/tools/doclets' -prune -o \ + -path '*gnu/classpath/tools/taglets' -prune -o \ + -path '*com/sun/javadoc' -prune -o \ + -path '*com/sun/tools/doclets' -prune -o \ + -path '*com/sun/tools/javadoc' -prune -o +endif + # The zip files with classes we want to produce. TOOLS_ZIP = tools.zip @@ -154,7 +287,9 @@ TOOLS_ZIP = tools.zip BUILT_SOURCES = $(TOOLS_ZIP) # All the files we find "interesting" -ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES) $(PROPERTY_FILES) +ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES) $(PROPERTY_FILES) \ + $(addprefix $(srcdir)/resource/gnu/classpath/tools/gjdoc/,$(gjdoc_resources))\ + $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g # Some architecture independent data to be installed. # GCJ LOCAL: do not install this. @@ -184,14 +319,17 @@ dist-hook: $(TOOLS_ZIP): $(ALL_TOOLS_FILES) ## GCJ LOCAL: put classes in srcdir ## @rm -rf classes asm -## mkdir classes asm +## @mkdir_p@ classes asm +## Compile ASM separately as it is latin-1 encoded. find $(srcdir)/external/asm -name '*.java' -print > asm.lst find $(srcdir)/gnu/classpath/tools \ $(srcdir)/com/sun/javadoc \ $(srcdir)/com/sun/tools/doclets \ + $(srcdir)/com/sun/tools/javadoc \ $(srcdir)/com/sun/tools/javac \ $(srcdir)/com/sun/tools/javah \ $(srcdir)/sun/rmi/rmic \ + $(GJDOC_EX) \ -name '*.java' -print > classes.lst if [ -f $(top_builddir)/../vm-tools-packages ]; then \ : > vm-tools.lst; \ @@ -203,46 +341,65 @@ $(TOOLS_ZIP): $(ALL_TOOLS_FILES) fi cat classes.lst asm.lst vm-tools.lst > all-classes.lst if JAVA_MAINTAINER_MODE +if CREATE_GJDOC +if CREATE_GJDOC_PARSER +## Generate antlr sources. + @mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr + $(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr \ + $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g +endif +endif ## Compile ASM separately as it is latin-1 encoded. AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \ $$AC -g -w -d $(srcdir)/asm @asm.lst - $(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst @vm-tools.lst + $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst +endif +## END GCJ LOCAL ## Copy over tools resource files. @list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \ - sun/rmi/rmic -name \*.properties -print -o -name \*.jav -print`; \ + sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \ for p in $$list; do \ dirname=classes/`dirname $$p`; \ - if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ - echo " cp $(srcdir)resource/$$p classes/$$p"; \ + if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \ + echo " cp $(srcdir)/resource/$$p classes/$$p"; \ cp $(srcdir)/resource/$$p classes/$$p; \ done -endif -## Copy over rmic template files. - @list=`cd $(srcdir) && find gnu/classpath/tools -name \*.jav -print`; \ - for p in $$list; do \ - dirname=classes/`dirname $$p`; \ - if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ - echo " cp $(srcdir)/$$p classes/$$p"; \ - cp $(srcdir)/$$p classes/$$p; \ - done cp -pR $(srcdir)/asm . cp -pR $(srcdir)/classes . -## END GCJ LOCAL +if CREATE_GJDOC +## Copy over gjdoc resource files. + for res in $(gjdoc_resources); do \ + dir=classes/`dirname $$res`; \ + if ! test -d "$$dir"; then @mkdir_p@ "$$dir"; fi; \ + echo " cp $(srcdir)/resource/gnu/classpath/tools/gjdoc/$$res classes/$$res"; \ + cp $(srcdir)/resource/gnu/classpath/tools/gjdoc/$$res classes/$$res; \ + done +endif + +if WITH_JAR +CREATE_TOOLS_ZIP=$(JAR) cf ../$(TOOLS_ZIP) . +UPDATE_TOOLS_ZIP=$(JAR) uf ../$(TOOLS_ZIP) . +else +CREATE_TOOLS_ZIP=$(ZIP) -r ../$(TOOLS_ZIP) . +UPDATE_TOOLS_ZIP=$(ZIP) -u -r ../$(TOOLS_ZIP) . +endif + ## First add classpath tools stuff. (cd classes; \ - if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \ - if test "$(FASTJAR)" != ""; then "$(FASTJAR)" cf ../$(TOOLS_ZIP) .; fi; \ + $(CREATE_TOOLS_ZIP); \ cd ..) ## Now add ASM classes. (cd asm; \ - if test "$(ZIP)" != ""; then $(ZIP) -u -r ../$(TOOLS_ZIP) .; fi; \ - if test "$(FASTJAR)" != ""; then "$(FASTJAR)" uf ../$(TOOLS_ZIP) .; fi; \ + $(UPDATE_TOOLS_ZIP); \ cd ..) rm -rf asm classes classes.lst asm.lst # Zip file be gone! (and make sure the classes are gone too) clean-local: rm -rf $(TOOLS_ZIP) classes classes.lst asm asm.lst all-classes.lst +if CREATE_GJDOC_PARSER + rm -rf $(gjdoc_gendir) +endif # FIXME: remove this when GNU Classpath includes a bootstrap VM. installcheck-binSCRIPTS: |