Author: coke
Date: Wed Nov  9 09:46:34 2005
New Revision: 9861

Modified:
   trunk/config/gen/makefiles/tcl.in
   trunk/languages/tcl/README
   trunk/languages/tcl/tcl.pir_template
Log:
Use pbc_merge to generate a single PBC for the tcl library instead of
one per .PIR class.



Modified: trunk/config/gen/makefiles/tcl.in
==============================================================================
--- trunk/config/gen/makefiles/tcl.in   (original)
+++ trunk/config/gen/makefiles/tcl.in   Wed Nov  9 09:46:34 2005
@@ -1,6 +1,8 @@
 RM_F    = ${rm_f}
 PERL    = ${perl}
 PARROT  = ..${slash}..${slash}parrot${exe}
+PBC_MERGE = ..${slash}..${slash}pbc_merge${exe}
+
 LIBPATH  = lib
 BUILD   = $(PERL) ${build_dir}${slash}build_tools${slash}build_dynclasses.pl
 DESTDIR = ${build_dir}${slash}runtime${slash}parrot${slash}dynext
@@ -83,23 +85,25 @@ lib${slash}variables.pir \
 tcl.pir_template \
 tcl.pl
 
-tcl.pbc: pmcs lib${slash}tcllib.pbc lib${slash}tclbinaryops.pbc 
lib${slash}tclcommand.pbc lib${slash}tclcommandlist.pbc lib${slash}tclconst.pbc 
lib${slash}tclfunc.pbc lib${slash}tclops.pbc lib${slash}tclvar.pbc 
lib${slash}tclword.pbc tcl.pir
+tcl.pbc: pmcs lib/tcllib.pbc tcl.pir
        $(PARROT) --output=tcl.pbc tcl.pir
 
+PBCS = lib${slash}tcllib_temp.pbc lib${slash}tclbinaryops.pbc 
lib${slash}tclcommand.pbc lib${slash}tclcommandlist.pbc lib${slash}tclconst.pbc 
lib${slash}tclfunc.pbc lib${slash}tclops.pbc lib${slash}tclvar.pbc 
lib${slash}tclword.pbc
+
+lib/tcllib.pbc: $(PBCS)
+       $(PBC_MERGE) -o lib/tcllib.pbc $(PBCS)
+
 pmcs:
        @cd $(CLASSDIR) && $(BUILD) generate $(PMCS)
        @cd $(CLASSDIR) && $(BUILD) compile $(PMCS)
        @cd $(CLASSDIR) && $(BUILD) linklibs $(PMCS)
        @cd $(CLASSDIR) && $(BUILD) copy "--destination=$(DESTDIR)" $(PMCS)
 
-$(DEPS) : 
-
-
 lib${slash}tcllib.pir: $(DEPS)
        $(PERL) tcl.pl > lib${slash}tcllib.pir
 
-lib${slash}tcllib.pbc: lib${slash}tcllib.pir
-       $(PARROT) --output=$(LIBPATH)${slash}tcllib.pbc 
$(LIBPATH)${slash}tcllib.pir
+lib${slash}tcllib_temp.pbc: lib${slash}tcllib.pir
+       $(PARROT) --output=$(LIBPATH)${slash}tcllib_temp.pbc 
$(LIBPATH)${slash}tcllib.pir
 
 lib${slash}tclbinaryops.pbc: lib${slash}tclbinaryops.pir
        $(PARROT) --output=$(LIBPATH)${slash}tclbinaryops.pbc 
$(LIBPATH)${slash}tclbinaryops.pir
@@ -141,7 +145,7 @@ devtest:
        cd t && $(PERL) -e 'use Test::Harness qw($$verbose runtests) ; 
$$Test::Harness::verbose=1;runtests(glob("*.t"))' && cd ..
 
 clean:
-       $(RM_F) lib${slash}tcllib.pir tcl.pbc lib${slash}*.pbc 
$(CLASSDIR)${slash}pmc_*.h $(CLASSDIR)${slash}*_group.h 
$(CLASSDIR)${slash}*$(LOAD_EXT) $(CLASSDIR)${slash}*.dump 
$(CLASSDIR)${slash}*.c $(CLASSDIR)${slash}*$(O)
+       $(RM_F) lib${slash}tcllib.pir $(PBCS) lib${slash}*.pbc 
$(CLASSDIR)${slash}pmc_*.h $(CLASSDIR)${slash}*_group.h 
$(CLASSDIR)${slash}*$(LOAD_EXT) $(CLASSDIR)${slash}*.dump 
$(CLASSDIR)${slash}*.c $(CLASSDIR)${slash}*$(O)
 
 distclean: clean
        $(RM_F) Makefile

Modified: trunk/languages/tcl/README
==============================================================================
--- trunk/languages/tcl/README  (original)
+++ trunk/languages/tcl/README  Wed Nov  9 09:46:34 2005
@@ -5,9 +5,9 @@ A from scratch implementation of Tcl on 
 To build the tcl compiler, first build parrot and the parrot utilities.
 From the top level parrot directory:
 
- perl Configure.pl && make world
+ perl Configure.pl && make
 
-Then, type C<make> in this directory. This will
+Then, type C<make> in I<this> directory. This will
 generate the file C<tcl.pbc> which can then be used to run tcl programs.
 
  ../../parrot tcl.pbc foo.tcl

Modified: trunk/languages/tcl/tcl.pir_template
==============================================================================
--- trunk/languages/tcl/tcl.pir_template        (original)
+++ trunk/languages/tcl/tcl.pir_template        Wed Nov  9 09:46:34 2005
@@ -81,14 +81,14 @@ providing a compreg-compatible method.
 .sub __prepare_lib :load :anon
 
   # Load any dependant libraries.
-  load_bytecode "languages/tcl/lib/tclbinaryops.pbc"
-  load_bytecode "languages/tcl/lib/tclcommand.pbc"
-  load_bytecode "languages/tcl/lib/tclcommandlist.pbc"
-  load_bytecode "languages/tcl/lib/tclconst.pbc"
-  load_bytecode "languages/tcl/lib/tclfunc.pbc"
-  load_bytecode "languages/tcl/lib/tclops.pbc"
-  load_bytecode "languages/tcl/lib/tclvar.pbc"
-  load_bytecode "languages/tcl/lib/tclword.pbc"
+  #load_bytecode "languages/tcl/lib/tclbinaryops.pbc"
+  #load_bytecode "languages/tcl/lib/tclcommand.pbc"
+  #load_bytecode "languages/tcl/lib/tclcommandlist.pbc"
+  #load_bytecode "languages/tcl/lib/tclconst.pbc"
+  #load_bytecode "languages/tcl/lib/tclfunc.pbc"
+  #load_bytecode "languages/tcl/lib/tclops.pbc"
+  #load_bytecode "languages/tcl/lib/tclvar.pbc"
+  #load_bytecode "languages/tcl/lib/tclword.pbc"
   load_bytecode "library/Data/Escape.pbc"
   load_bytecode "Getopt/Long.pir"  
   #load_bytecode "library/PGE.pbc" # XXX Can't load this if Getopt/Long loaded.

Reply via email to