This turns --with-fastjar into --with-jar (as it already checked for gjar and jar also) and allows it to be turned off with --without-fastjar. As a result, --with-jar (autodetect fastjar, gjar and jar in that order), --without-jar and --with-jar=<path> all work.
ChangeLog: 2008-06-27 Andrew John Hughes <[EMAIL PROTECTED]> PR classpath/36637: * examples/Makefile.am, * lib/Makefile.am: Use new conditional and $(JAR). * m4/acinclude.m4: Replace --with-fastjar with a general --with-jar check that can be turned off. * tools/Makefile.am: Use new conditional and $(JAR). -- Andrew :) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
Index: examples/Makefile.am =================================================================== RCS file: /sources/classpath/classpath/examples/Makefile.am,v retrieving revision 1.26 diff -u -u -r1.26 Makefile.am --- examples/Makefile.am 26 Jun 2008 09:58:29 -0000 1.26 +++ examples/Makefile.am 27 Jun 2008 00:12:08 -0000 @@ -84,6 +84,13 @@ # To generate the example zip just depend on the sources and ignore the # class files. Always regenerate all .class files and remove them immediatly. # And copy the png icons we use to the classes dir so they get also included. + +if WITH_JAR +CREATE_EXAMPLE_ZIP=$(JAR) cf ../$(EXAMPLE_ZIP) . +else +CREATE_EXAMPLE_ZIP=$(ZIP) -r ../$(EXAMPLE_ZIP) . +endif + $(EXAMPLE_ZIP): $(EXAMPLE_JAVA_FILES) @mkdir_p@ classes/gnu/classpath/examples/icons cp $(EXAMPLE_ICONS) classes/gnu/classpath/examples/icons @@ -91,8 +98,7 @@ cp $(EXAMPLE_HTML) classes/gnu/classpath/examples/swing $(JCOMPILER) -d classes $(EXAMPLE_JAVA_FILES) (cd classes; \ - if test "$(ZIP)" != ""; then $(ZIP) -r ../$(EXAMPLE_ZIP) .; fi; \ - if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(EXAMPLE_ZIP) .; fi; \ + $(CREATE_EXAMPLE_ZIP); \ cd ..) rm -rf classes Index: lib/Makefile.am =================================================================== RCS file: /sources/classpath/classpath/lib/Makefile.am,v retrieving revision 1.147 diff -u -u -r1.147 Makefile.am --- lib/Makefile.am 26 Jun 2008 09:58:29 -0000 1.147 +++ lib/Makefile.am 27 Jun 2008 00:12:16 -0000 @@ -13,18 +13,16 @@ if CREATE_COLLECTIONS COLLECTIONS = collections.jar +if WITH_JAR +CREATE_COLLECTIONS_JAR=$(JAR) cf $@ $(COLLECTIONS_PREFIX) +else +CREATE_COLLECTIONS_JAR=$(ZIP) -r -D $@ $(COLLECTIONS_PREFIX) > /dev/null +endif + collections.jar: mkcollections.pl ./mkcollections.pl $(top_srcdir) -#if FOUND_GCJ -# $(GCJ) -C `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` -#else $(JCOMPILER) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print` -#endif - if test "$(FASTJAR)" != ""; then \ - "$(FASTJAR)" cf $@ $(COLLECTIONS_PREFIX); \ - else \ - echo "fastjar not found" > collections.jar; \ - fi + $(CREATE_COLLECTIONS_JAR) endif # CREATE_COLLECTIONS if INSTALL_GLIBJ_ZIP @@ -68,10 +66,14 @@ else -glibj.zip: classes compile-classes resources - if test "$(ZIP)" != ""; then $(ZIP) -r -D glibj.zip gnu java javax org sun META-INF > /dev/null; fi - if test "$(FASTJAR)" != ""; then "$(FASTJAR)" cf glibj.zip gnu java javax org sun META-INF; fi +if WITH_JAR +CREATE_GLIBJ_ZIP=$(JAR) cf glibj.zip gnu java javax org sun META-INF +else +CREATE_GLIBJ_ZIP=$(ZIP) -r -D glibj.zip gnu java javax org sun META-INF > /dev/null +endif +glibj.zip: classes compile-classes resources + $(CREATE_GLIBJ_ZIP) endif # USE_PREBUILT_GLIBJ_ZIP resources: copy-vmresources.sh Index: m4/acinclude.m4 =================================================================== RCS file: /sources/classpath/classpath/m4/acinclude.m4,v retrieving revision 1.36 diff -u -u -r1.36 acinclude.m4 --- m4/acinclude.m4 11 Jun 2008 21:34:34 -0000 1.36 +++ m4/acinclude.m4 27 Jun 2008 00:12:16 -0000 @@ -55,18 +55,45 @@ AC_DEFUN([CLASSPATH_WITH_GLIBJ], [ AC_PATH_PROG(ZIP, zip) - AC_ARG_WITH([fastjar], - [AS_HELP_STRING([--with-fastjar=PATH], [define to use a fastjar style tool])], + + AC_MSG_CHECKING(for a jar-like tool) + AC_ARG_WITH([jar], + [AS_HELP_STRING([--with-jar=PATH], [define to use a jar style tool])], [ - AC_MSG_CHECKING([for user supplied fastjar]) - FASTJAR=${withval} - AC_MSG_RESULT([${FASTJAR}]) - ], - [AC_PATH_PROGS([FASTJAR], [fastjar gjar jar])]) -dnl We disable ZIP by default if we find fastjar. - if test x"${FASTJAR}" != x; then - ZIP="" + case "${withval}" in + yes) + JAR=yes + ;; + no) + JAR=no + AC_MSG_RESULT(${JAR}) + ;; + *) + if test -f "${withval}"; then + JAR="${withval}" + AC_MSG_RESULT(${JAR}) + else + AC_MSG_RESULT([not found]) + AC_MSG_ERROR([The jar tool ${withval} was not found.]) + fi + ;; + esac + ], + [ + JAR=yes + ]) + if test x"${JAR}" = "xyes"; then + AC_MSG_RESULT([trying fastjar, gjar and jar]) + AC_PATH_PROGS([JAR], [fastjar gjar jar]) + if test x"${RHINO_JAR}" = "xyes"; then + AC_MSG_RESULT([not found]) + fi + fi + if test x"${JAR}" = "xno" && test x"${ZIP}" = ""; then + AC_MSG_ERROR([No zip or jar tool found.]) fi + AM_CONDITIONAL(WITH_JAR, test x"${JAR}" != "xno" && test x"${JAR}" != "xyes") + AC_SUBST(JAR) AC_ARG_WITH([glibj], [AS_HELP_STRING([--with-glibj],[define what to install (zip|flat|both|none|build) [default=zip]])], Index: tools/Makefile.am =================================================================== RCS file: /sources/classpath/classpath/tools/Makefile.am,v retrieving revision 1.51 diff -u -u -r1.51 Makefile.am --- tools/Makefile.am 26 Jun 2008 09:58:29 -0000 1.51 +++ tools/Makefile.am 27 Jun 2008 00:12:19 -0000 @@ -343,15 +343,22 @@ 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 classes