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