Dalibor,
could you put this explanation in INSTALL or README?

cya
Robert

Dalibor Topic wrote:
> Hi all,
> 
> the attached patch adds the possibility to use a prebuilt glibj.zip,
> rather than rebuilding it. This is handy when you are building Classpath
> on a platform where the shell scripts using during the build of the
> class library fall appart due to use of shell constructs like test -ef.
> Then you can just reuse the a glibj.zip you build on another platform.
> It is also handy when building GNU Classpath on platforms without much
> memory, since the class library build step easily eats a few hundreds of
> megabytes away. Finally, it is pretty useful for fast builds in
> different configurations, which is something I do for kaffe before
> releases on multiple platforms, where having to re-rebuild the class
> library a few dozen of times is a bit of a waste.
> 
> I am sure there are other good uses, too.
> 
> cheers,
> dalibor topic
> 
> 2006-04-02  Dalibor Topic  <[EMAIL PROTECTED]>
> 
>         * configure.ac (with-glibj-zip): Added new option.
> 
>         * examples/Makefile.am,
>         lib/Makefile.am,
>         tools/Makefile.am: Adapted build classpath to use glibj.zip,
>         in addition to classes in lib directory.
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: configure.ac
> ===================================================================
> RCS file: /sources/classpath/classpath/configure.ac,v
> retrieving revision 1.141
> diff -u -r1.141 configure.ac
> --- configure.ac      2 Apr 2006 02:11:32 -0000       1.141
> +++ configure.ac      2 Apr 2006 20:52:02 -0000
> @@ -584,6 +584,33 @@
>  
>  AX_CREATE_STDINT_H([include/config-int.h])
>  
> +dnl -----------------------------------------------------------------------
> +dnl                    Support for using a prebuilt class library
> +dnl -----------------------------------------------------------------------
> +AC_ARG_WITH([glibj_zip],
> +            AS_HELP_STRING([--with-glibj-zip=ABS.PATH],
> +                           [use prebuilt glibj.zip class library]))
> +
> +case "$with_glibj_zip" in
> +"")
> +        use_glibj_zip=false
> +        ;;
> +"no" )
> +        use_glibj_zip=false
> +        ;;
> +"yes")
> +        AC_MSG_ERROR([Please suply an absolute path to a prebuilt glibj.zip])
> +        ;;
> +*)
> +        use_glibj_zip=true
> +        PATH_TO_GLIBJ_ZIP=$with_glibj_zip
> +     ;;
> +esac;
> +
> +AM_CONDITIONAL(USE_PREBUILT_GLIBJ_ZIP, test x$use_glibj_zip = xtrue)
> +AC_SUBST(PATH_TO_GLIBJ_ZIP)
> +
> +
>  dnl -----------------------------------------------------------
>  dnl output files
>  dnl -----------------------------------------------------------
> Index: examples/Makefile.am
> ===================================================================
> RCS file: /sources/classpath/classpath/examples/Makefile.am,v
> retrieving revision 1.11
> diff -u -r1.11 Makefile.am
> --- examples/Makefile.am      29 Mar 2006 20:24:36 -0000      1.11
> +++ examples/Makefile.am      2 Apr 2006 20:52:03 -0000
> @@ -1,17 +1,18 @@
>  ## Input file for automake to generate the Makefile.in used by configure
> +GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip'
>  
>  # Setup the compiler to use the GNU Classpath library we just build
>  if FOUND_GCJ
> -JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath '$(top_builddir)/lib' 
> --classpath . -C
> +JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath $(GLIBJ_CLASSPATH) 
> --classpath . -C
>  else
>  if FOUND_JIKES
> -JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' 
> -sourcepath '' --classpath $(top_builddir)/lib:.
> +JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' 
> -sourcepath '' --classpath $(GLIBJ_CLASSPATH):.
>  else
>  if FOUND_GCJX
> -JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' 
> -classpath $(top_builddir)/lib:.
> +JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' 
> -classpath $(GLIBJ_CLASSPATH):.
>  else
>  if FOUND_ECJ
> -JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath '$(top_builddir)/lib' 
> -classpath .
> +JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) 
> -classpath .
>  else
>  error dunno how to setup the JCOMPILER and compile
>  endif
> Index: lib/Makefile.am
> ===================================================================
> RCS file: /sources/classpath/classpath/lib/Makefile.am,v
> retrieving revision 1.114
> diff -u -r1.114 Makefile.am
> --- lib/Makefile.am   31 Mar 2006 22:42:19 -0000      1.114
> +++ lib/Makefile.am   2 Apr 2006 20:52:06 -0000
> @@ -87,10 +87,19 @@
>  
>  .PHONY: genclasses
>  
> +if USE_PREBUILT_GLIBJ_ZIP
> +
> +glibj.zip:
> +     cp $(PATH_TO_GLIBJ_ZIP) .
> +
> +else
> +
>  glibj.zip: classes compile-classes resources
>       if test "$(ZIP)" != ""; then $(ZIP) -r -D glibj.zip gnu java javax org 
> META-INF > /dev/null; fi
>       if test "$(FASTJAR)" != ""; then $(FASTJAR) cf glibj.zip gnu java javax 
> org META-INF; fi
>  
> +endif # USE_PREBUILT_GLIBJ_ZIP
> +
>  resources: copy-vmresources.sh
>       if ! [ -e gnu ]; then mkdir gnu; fi
>       if ! [ -e gnu/java ]; then mkdir gnu/java; fi
> Index: tools/Makefile.am
> ===================================================================
> RCS file: /sources/classpath/classpath/tools/Makefile.am,v
> retrieving revision 1.10
> diff -u -r1.10 Makefile.am
> --- tools/Makefile.am 2 Apr 2006 16:58:06 -0000       1.10
> +++ tools/Makefile.am 2 Apr 2006 20:52:06 -0000
> @@ -1,17 +1,19 @@
>  ## Input file for automake to generate the Makefile.in used by configure
>  
> +GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip'
> +
>  # Setup the compiler to use the GNU Classpath library we just build
>  if FOUND_GCJ
> -JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath '$(top_builddir)/lib' 
> --classpath . -C
> +JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath $(GLIBJ_CLASSPATH) 
> --classpath . -C
>  else
>  if FOUND_JIKES
> -JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' 
> -sourcepath '' --classpath $(top_builddir)/lib:.
> +JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' 
> -sourcepath '' --classpath $(GLIBJ_CLASSPATH):.
>  else
>  if FOUND_GCJX
> -JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' 
> -classpath $(top_builddir)/lib:.
> +JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' 
> -classpath $(GLIBJ_CLASSPATH):.
>  else
>  if FOUND_ECJ
> -JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath '$(top_builddir)/lib' 
> -classpath .
> +JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) 
> -classpath .
>  else
>  error dunno how to setup the JCOMPILER and compile
>  endif
> @@ -19,9 +21,6 @@
>  endif
>  endif
>  
> -bin_SCRIPTS = jarsigner.sh
> -EXTRA_DIST = jarsigner.sh.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
>  
> @@ -33,7 +32,7 @@
>  BUILT_SOURCES = $(TOOLS_ZIP)
>  
>  # The templates that must be included into the generated zip file.
> -GRMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/giop/grmic/templates/*.jav
> +GRMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/giop/grmic/templates/*.jav 
>  RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmi/rmic/templates/*.jav
>  
>  TOOLS_TEMPLATES = $(GRMIC_TEMPLATES) $(RMIC_TEMPLATES)
> @@ -41,9 +40,8 @@
>  # This covers the built-in help texts, both for giop and rmic subpackages.
>  GIOP_HELPS = $(srcdir)/gnu/classpath/tools/giop/*.txt
>  RMI_HELPS = $(srcdir)/gnu/classpath/tools/rmi/*.txt
> -SECURITY_HELPS = $(srcdir)/gnu/classpath/tools/jarsigner/*.txt
>  
> -TOOLS_HELPS = $(GIOP_HELPS) $(RMI_HELPS) $(SECURITY_HELPS)
> +TOOLS_HELPS = $(GIOP_HELPS) $(RMI_HELPS)
>  
>  # The tool specific README files.
>  READMES = $(srcdir)/gnu/classpath/tools/giop/README
> @@ -78,13 +76,11 @@
>  $(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
>       mkdir -p classes/gnu/classpath/tools/giop/grmic/templates
>       mkdir -p classes/gnu/classpath/tools/rmi/rmic/templates
> -     mkdir -p classes/gnu/classpath/tools/jarsigner
>       cp $(RMIC_TEMPLATES) classes/gnu/classpath/tools/rmi/rmic/templates
> -     cp $(GRMIC_TEMPLATES) classes/gnu/classpath/tools/giop/grmic/templates
> +     cp $(GRMIC_TEMPLATES) classes/gnu/classpath/tools/giop/grmic/templates  
>       cp $(RMI_HELPS) classes/gnu/classpath/tools/rmi/
>       cp $(GIOP_HELPS) classes/gnu/classpath/tools/giop/
> -     cp $(SECURITY_HELPS) classes/gnu/classpath/tools/jarsigner/
> -     $(JCOMPILER) -d classes $(TOOLS_JAVA_FILES)
> +     $(JCOMPILER) -d classes $(TOOLS_JAVA_FILES) 
>       (cd classes; \
>       if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \
>       if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(TOOLS_ZIP) .; fi; \

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to