I'm checking this in on the trunk.
I've already imported the ASM 2.2.3 sources. This updates the tools
build code to compile ASM and to put the results into tools.zip. It
also removes the old code for finding a separate ASM library.
Tom
Index: ChangeLog
from Tom Tromey <[EMAIL PROTECTED]>
* NEWS: Mention ASM.
* INSTALL: Don't mention --with-asm.
* tools/external/README: New file.
* tools/toolwrapper.c (main): Don't use ASM_JAR.
* tools/gjavah.in: Don't use PATH_TO_ASM.
* tools/grmic.in: Likewise.
* tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added
'asm'.
(javah, rmic): Removed variables.
(bin_PROGRAMS): Updated.
(gappletviewer_CFLAGS): Don't define ASM_JAR.
(gjarsigner_CFLAGS): Likewise.
(gkeytool_CFLAGS): Likewise.
(gjar_CFLAGS): Likewise.
(gnative2ascii_CFLAGS): Likewise.
(gserialver_CFLAGS): Likewise.
(grmiregistry_CFLAGS): Likewise.
(gtnameserv_CFLAGS): Likewise.
(gorbd_CFLAGS): Likewise.
(grmid_CFLAGS): Likewise.
(gjavah_CFLAGS): Likewise.
(grmic_CFLAGS): Likewise.
(bin_SCRIPTS): Updated.
(TOOLS_JAVA_FILES): Updated.
($(TOOLS_ZIP)): Compile ASM sources. Copy resource files.
* configure.ac: Removed --with-asm. Always build gjavah.
Index: INSTALL
===================================================================
RCS file: /cvsroot/classpath/classpath/INSTALL,v
retrieving revision 1.40
diff -u -r1.40 INSTALL
--- INSTALL 27 Sep 2006 17:02:24 -0000 1.40
+++ INSTALL 7 Dec 2006 17:22:00 -0000
@@ -85,13 +85,6 @@
http://www.xmlsoft.org/XSLT/
Minimum version of libxslt required: 1.1.11
- For building the gjavah and grmic tool, you will need the ASM library.
- Current version 2.2.1 is needed (other 2.2.x versions should
- be ok; 3.x is not ok). You can get ASM from
- http://asm.objectweb.org/
- You will need to pass the --with-asm option to configure
- and point it at your ASM jar file.
-
For building the documentation you will need
- texinfo 4.2 or higher.
@@ -137,8 +130,6 @@
--enable-xmlj compile native libxml/xslt library default=no
--enable-load-library enable to use JNI native methods default=yes
--enable-local-sockets enable build of local Unix sockets
- --with-asm=/path/to/asm.jar
- the ASM jar to use for javah
--with-jikes to compile the class library using jikes
the default is to use gcj
--with-glibj define what to install (zip|flat|both|none)
Index: NEWS
===================================================================
RCS file: /cvsroot/classpath/classpath/NEWS,v
retrieving revision 1.171
diff -u -r1.171 NEWS
--- NEWS 5 Dec 2006 11:26:09 -0000 1.171
+++ NEWS 7 Dec 2006 17:22:01 -0000
@@ -1,3 +1,7 @@
+New in release 0.94 (UNRELEASED)
+
+* The ASM library is now included. A separate copy is no longer needed.
+
New in release 0.93 (UNRELEASED)
* CORBA objects that exist on the same virtual machine and only are connected
Index: configure.ac
===================================================================
RCS file: /cvsroot/classpath/classpath/configure.ac,v
retrieving revision 1.189
diff -u -r1.189 configure.ac
--- configure.ac 26 Nov 2006 13:31:27 -0000 1.189
+++ configure.ac 7 Dec 2006 17:22:01 -0000
@@ -806,31 +806,6 @@
AC_SUBST(PATH_TO_ESCHER)
dnl -----------------------------------------------------------
-dnl Build javah using ASM library
-dnl -----------------------------------------------------------
-AC_ARG_WITH([asm],
- AS_HELP_STRING([--with-asm=ABS.PATH],
- [specify path to ASM jar to enable gjavah and grmic
build]))
-case "$with_asm" in
-"")
- use_asm=false
- ;;
-"no")
- use_asm=false
- ;;
-"yes")
- AC_MSG_ERROR([Please supply an absolute path to ASM jar])
- ;;
-*)
- use_asm=true
- PATH_TO_ASM=$with_asm
- ;;
-esac
-
-AM_CONDITIONAL(USE_ASM, test x$use_asm = xtrue)
-AC_SUBST(PATH_TO_ASM)
-
-dnl -----------------------------------------------------------
dnl Check if local socket support should be included.
dnl -----------------------------------------------------------
AC_ARG_ENABLE([local-sockets],
@@ -913,7 +888,8 @@
tools/gtnameserv
tools/gorbd
tools/grmid
-tools/grmic])
+tools/grmic
+tools/gjavah])
AC_CONFIG_COMMANDS([gappletviewer],[chmod 755 tools/gappletviewer])
AC_CONFIG_COMMANDS([gjarsigner],[chmod 755 tools/gjarsigner])
AC_CONFIG_COMMANDS([gkeytool],[chmod 755 tools/gkeytool])
@@ -925,11 +901,7 @@
AC_CONFIG_COMMANDS([gorbd],[chmod 755 tools/gorbd])
AC_CONFIG_COMMANDS([grmid],[chmod 755 tools/grmid])
AC_CONFIG_COMMANDS([grmic],[chmod 755 tools/grmic])
-
- if test "$use_asm" = true; then
- AC_CONFIG_FILES([tools/gjavah])
- AC_CONFIG_COMMANDS([gjavah], [chmod 755 tools/gjavah])
- fi
+AC_CONFIG_COMMANDS([gjavah], [chmod 755 tools/gjavah])
fi
AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh])
Index: tools/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/tools/Makefile.am,v
retrieving revision 1.25
diff -u -r1.25 Makefile.am
--- tools/Makefile.am 24 Oct 2006 18:03:33 -0000 1.25
+++ tools/Makefile.am 7 Dec 2006 17:22:04 -0000
@@ -1,6 +1,6 @@
## Input file for automake to generate the Makefile.in used by configure
-GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':$(PATH_TO_ASM)
+GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':asm
# Setup the compiler to use the GNU Classpath library we just build
if FOUND_GCJ
@@ -21,16 +21,11 @@
endif
endif
-if USE_ASM
-javah = gjavah
-rmic = grmic
-endif
-
if CREATE_WRAPPERS
bin_SCRIPTS =
bin_PROGRAMS = gappletviewer gjarsigner gkeytool \
- gjar gnative2ascii gserialver $(javah) grmiregistry \
- gtnameserv gorbd grmid $(rmic)
+ gjar gnative2ascii gserialver gjavah grmiregistry \
+ gtnameserv gorbd grmid grmic
AM_CPPFLAGS = -Wall \
-I$(top_srcdir)/include \
@@ -40,81 +35,67 @@
gappletviewer_SOURCES = toolwrapper.c
gappletviewer_CFLAGS = \
-DTOOLPACKAGE="\"appletviewer\"" \
- -DTOOLNAME="\"gappletviewer\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gappletviewer\""
gjarsigner_SOURCES = toolwrapper.c
gjarsigner_CFLAGS = \
-DTOOLPACKAGE="\"jarsigner\"" \
- -DTOOLNAME="\"gjarsigner\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gjarsigner\""
gkeytool_SOURCES = toolwrapper.c
gkeytool_CFLAGS = \
-DTOOLPACKAGE="\"keytool\"" \
- -DTOOLNAME="\"gkeytool\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gkeytool\""
gjar_SOURCES = toolwrapper.c
gjar_CFLAGS = \
-DTOOLPACKAGE="\"jar\"" \
- -DTOOLNAME="\"gjar\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gjar\""
gnative2ascii_SOURCES = toolwrapper.c
gnative2ascii_CFLAGS = \
-DTOOLPACKAGE="\"native2ascii\"" \
- -DTOOLNAME="\"gnative2ascii\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gnative2ascii\""
gserialver_SOURCES = toolwrapper.c
gserialver_CFLAGS = \
-DTOOLPACKAGE="\"serialver\"" \
- -DTOOLNAME="\"gserialver\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gserialver\""
grmiregistry_SOURCES = toolwrapper.c
grmiregistry_CFLAGS = \
-DTOOLPACKAGE="\"rmiregistry\"" \
- -DTOOLNAME="\"grmiregistry\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"grmiregistry\""
gtnameserv_SOURCES = toolwrapper.c
gtnameserv_CFLAGS = \
-DTOOLPACKAGE="\"tnameserv\"" \
- -DTOOLNAME="\"gtnameserv\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gtnameserv\""
gorbd_SOURCES = toolwrapper.c
gorbd_CFLAGS = \
-DTOOLPACKAGE="\"orbd\"" \
- -DTOOLNAME="\"gorbd\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"gorbd\""
grmid_SOURCES = toolwrapper.c
grmid_CFLAGS = \
-DTOOLPACKAGE="\"rmid\"" \
- -DTOOLNAME="\"grmid\"" \
- -DASM_JAR=""
+ -DTOOLNAME="\"grmid\""
-if USE_ASM
gjavah_SOURCES = toolwrapper.c
gjavah_CFLAGS = \
-DTOOLPACKAGE="\"javah\"" \
- -DTOOLNAME="\"gjavah\"" \
- -DASM_JAR="\":$(PATH_TO_ASM)\""
+ -DTOOLNAME="\"gjavah\""
grmic_SOURCES = toolwrapper.c
grmic_CFLAGS = \
-DTOOLPACKAGE="\"rmic\"" \
- -DTOOLNAME="\"grmic\"" \
- -DASM_JAR="\":$(PATH_TO_ASM)\""
-endif
+ -DTOOLNAME="\"grmic\""
else
bin_SCRIPTS = gappletviewer gjarsigner gkeytool \
- gjar gnative2ascii gserialver $(javah) grmiregistry \
- gtnameserv gorbd grmid $(rmic)
+ gjar gnative2ascii gserialver gjavah grmiregistry \
+ gtnameserv gorbd grmid grmic
bin_PROGRAMS =
endif
EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \
@@ -122,7 +103,17 @@
gtnameserv.in gorbd.in grmid.in grmic.in
# All our example java source files
-TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java
+TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/commons/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/optimizer/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/signature/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/tree/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/tree/analysis/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/util/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/util/attrs/*.java \
+ $(srcdir)/external/asm/org/objectweb/asm/xml/*.java
# The zip files with classes we want to produce.
TOOLS_ZIP = tools.zip
@@ -161,35 +152,32 @@
# immediately. And copy the template files we use to the classes dir
# so they get also included.
$(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
- mkdir -p classes/gnu/classpath/tools/appletviewer
- mkdir -p classes/gnu/classpath/tools/common
- mkdir -p classes/gnu/classpath/tools/getopt
- mkdir -p classes/gnu/classpath/tools/jar
- mkdir -p classes/gnu/classpath/tools/jarsigner
- mkdir -p classes/gnu/classpath/tools/keytool
- mkdir -p classes/gnu/classpath/tools/native2ascii
- mkdir -p classes/gnu/classpath/tools/orbd
- mkdir -p classes/gnu/classpath/tools/rmid
- mkdir -p classes/gnu/classpath/tools/rmiregistry
- mkdir -p classes/gnu/classpath/tools/serialver
- mkdir -p classes/gnu/classpath/tools/tnameserv
+ @rm -rf classes asm
+ mkdir classes asm
+## Compile ASM separately as it is latin-1 encoded.
+ find $(srcdir)/external/asm -name '*.java' -print > asm.lst
+ AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
+ $$AC -d asm @asm.lst
find $(srcdir)/gnu/classpath/tools -name '*.java' -print > classes.lst
- if test -z "$(PATH_TO_ASM)"; then \
- mv classes.lst classes.tmp; \
- fgrep -v /javah/ classes.tmp > classes.lst; \
- mv classes.lst classes.tmp; \
- fgrep -v /rmic/ classes.tmp > classes.lst; \
- rm -f classes.tmp;\
- else \
- mkdir -p classes/gnu/classpath/tools/javah; \
- mkdir -p classes/gnu/classpath/tools/rmic/templates; \
- cp $(RMIC_TEMPLATES) classes/gnu/classpath/tools/rmic/templates; \
- fi
$(JCOMPILER) -d classes @classes.lst
+## Copy over tools resource files.
+ @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools -name
\*.properties -print`; \
+ for p in $$list; do \
+ dirname=classes/`dirname $$p`; \
+ if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
+ echo " cp $(top_srcdir)/resource/$$p classes/$$p"; \
+ cp $(top_srcdir)/resource/$$p classes/$$p; \
+ done
+## 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; \
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; \
+ cd ..)
rm -rf classes classes.lst
# Zip file be gone! (and make sure the classes are gone too)
Index: tools/gjavah.in
===================================================================
RCS file: /cvsroot/classpath/classpath/tools/gjavah.in,v
retrieving revision 1.1
diff -u -r1.1 gjavah.in
--- tools/gjavah.in 28 Jul 2006 15:22:29 -0000 1.1
+++ tools/gjavah.in 7 Dec 2006 17:22:04 -0000
@@ -42,6 +42,6 @@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@/@PACKAGE@
-tools_cp=${tools_dir}/tools.zip:@PATH_TO_ASM@
+tools_cp=${tools_dir}/tools.zip
exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}"
gnu.classpath.tools.javah.Main "$@"
Index: tools/grmic.in
===================================================================
RCS file: /cvsroot/classpath/classpath/tools/grmic.in,v
retrieving revision 1.1
diff -u -r1.1 grmic.in
--- tools/grmic.in 22 Sep 2006 22:53:16 -0000 1.1
+++ tools/grmic.in 7 Dec 2006 17:22:04 -0000
@@ -42,6 +42,6 @@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@/@PACKAGE@
-tools_cp=${tools_dir}/tools.zip:@PATH_TO_ASM@
+tools_cp=${tools_dir}/tools.zip
exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.rmic.Main
"$@"
Index: tools/toolwrapper.c
===================================================================
RCS file: /cvsroot/classpath/classpath/tools/toolwrapper.c,v
retrieving revision 1.4
diff -u -r1.4 toolwrapper.c
--- tools/toolwrapper.c 24 Oct 2006 18:03:33 -0000 1.4
+++ tools/toolwrapper.c 7 Dec 2006 17:22:04 -0000
@@ -136,7 +136,7 @@
goto destroy;
}
- vm_args.options[vm_args.nOptions++].optionString = "-Xbootclasspath/p:"
TOOLS_ZIP ASM_JAR;
+ vm_args.options[vm_args.nOptions++].optionString = "-Xbootclasspath/p:"
TOOLS_ZIP;
}
/* Terminate vm_args.options with a NULL element. */
Index: tools/external/README
===================================================================
RCS file: tools/external/README
diff -N tools/external/README
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tools/external/README 7 Dec 2006 17:22:04 -0000
@@ -0,0 +1,9 @@
+ASM is a bytecode processing library used by GNU Classpath's rmic and
+javah tools. It is not maintained as part of GNU Classpath, but is
+imported into the repository for simpler builds.
+
+The ASM project pages are at http://asm.objectweb.org/
+
+The currently imported version is ASM 2.2.3. The sources were checked
+out of CVS using the ASM_2_2_3 tag. I've only imported a subset of
+the whole checkout: namely, LICENSE.txt and the sources themselves.