On Mon, 25 Jan 2010, Will Coleda wrote:

> Thanks to cotto, darbelo, and kid51, the one_make branch was merged to
> trunk today:

I don't have time for a thorough review, but I did catch only two 
glitches:

1.  pmc2c.pl was getting called before PCCMETHOD_BITS.pm was built.  I 
don't actually know what pmc2c.pl does with PCCMETHOD_BITS and whether or 
not all the PMC2C? variants really need it.  However, the patch below that 
adds in a dependency for vtable.dump worked for me.

2.  The race condition with ops2pm.pl simultaneously trying to build 
ops.h and core.pm is back.  This patch tries to avoid it again.

Finally a nice note: This cleanup has made rebuilding faster. Typing 
'make' in an already-built directory now actually correctly does almost 
nothing, and does it quickly.  Thank you.

diff -r -u parrot-orig/config/gen/makefiles/root.in 
parrot-andy/config/gen/makefiles/root.in
--- parrot-orig/config/gen/makefiles/root.in    2010-01-26 08:16:05.000000000 
-0500
+++ parrot-andy/config/gen/makefiles/root.in    2010-01-26 08:43:00.000000000 
-0500
@@ -681,7 +681,7 @@
 .pmc.c : # suffix rule (limited support)
        $(PMC2CC) $<
 
-vtable.dump : src/vtable.tbl
+vtable.dump : src/vtable.tbl lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm
        $(PMC2CV)
 
 # This is a listing of all targets meant to be called by users
@@ -1117,7 +1117,10 @@
        $(PERL) $(H2INC) src/utils.c $@
 
 
-$(INC_DIR)/oplib/ops.h lib/Parrot/OpLib/core.pm : $(OPS_FILES) 
$(BUILD_TOOLS_DIR)/ops2pm.pl \
+# ops.h is built by ops2pm.pl after it builds core.pm
+$(INC_DIR)/oplib/ops.h:  lib/Parrot/OpLib/core.pm 
+
+lib/Parrot/OpLib/core.pm : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2pm.pl \
     lib/Parrot/OpsFile.pm lib/Parrot/Op.pm src/ops/ops.num src/ops/ops.skip
        $(PERL) $(BUILD_TOOLS_DIR)/ops2pm.pl @no_lines_flag@ $(OPS_FILES)
 

-- 
    Andy Dougherty              [email protected]

_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to