# New Ticket Created by JÃrgen BÃmmels # Please include the string: [perl #24701] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=24701 >
Hi, the *.ops files are lying in the ops/ directory, but the generated c-files go to the src/ directory. This is completly different from classes/, imcc/ etc. where the generated c-files go to the same directory. Is this difference intentional? Otherwise does the attached patch creates the core_ops.[co] etc. in the ops/directory. bye bÃ
Index: config/gen/makefiles/root.in =================================================================== RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v retrieving revision 1.175 diff -u -r1.175 root.in --- config/gen/makefiles/root.in 18 Dec 2003 12:20:30 -0000 1.175 +++ config/gen/makefiles/root.in 19 Dec 2003 16:31:50 -0000 @@ -233,9 +233,6 @@ $(SRC)/global_setup$(O) \ $(SRC)/interpreter$(O) \ $(SRC)/register$(O) \ - $(SRC)/core_ops$(O) \ - $(SRC)/core_ops_prederef$(O) \ - $(SRC)/core_ops_switch$(O) \ $(SRC)/memory$(O) \ $(SRC)/objects$(O) \ $(SRC)/packfile$(O) \ @@ -283,6 +280,9 @@ $(SRC)/mmd$(O) \ $(SRC)/extend$(O) \ pf/pf_items$(O) \ + $(OPS)/core_ops$(O) \ + $(OPS)/core_ops_prederef$(O) \ + $(OPS)/core_ops_switch$(O) \ ${asmfun_o} \ ${cg_o} \ ${exec_o} \ @@ -726,8 +726,6 @@ $(SRC)/embed$(O) : $(GENERAL_H_FILES) $(INC)/debug.h -$(SRC)/core_ops$(O) : $(GENERAL_H_FILES) $(SRC)/core_ops.c - $(SRC)/dataypes$(O) : $(GENERAL_H_FILES) $(SRC)/dataypes.c $(SRC)/exit$(O) : $(GENERAL_H_FILES) $(SRC)/exit.c @@ -741,33 +739,35 @@ $(SRC)/nci.c : $(SRC)/call_list.txt $(BUILD_TOOL)/build_nativecall.pl $(PERL) $(BUILD_TOOL)/build_nativecall.pl $(SRC)/call_list.txt +$(SRC)/warnings$(O) : $(GENERAL_H_FILES) + +$(SRC)/misc$(O) : $(GENERAL_H_FILES) + +$(SRC)/utils$(O) : $(GENERAL_H_FILES) + +$(SRC)/spf_render$(O) : $(GENERAL_H_FILES) + +$(SRC)/spf_vtable$(O) : $(GENERAL_H_FILES) + +$(OPS)/core_ops$(O) : $(GENERAL_H_FILES) $(OPS)/core_ops.c + #core_ops depends upon config.h so that it gets updated along with updates to config.h's version numbers -$(SRC)/core_ops.c $(INC)/oplib/core_ops.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm +$(OPS)/core_ops.c $(INC)/oplib/core_ops.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm $(PERL) $(BUILD_TOOL)/ops2c.pl C --core -$(SRC)/core_ops_prederef$(O) : $(GENERAL_H_FILES) $(SRC)/core_ops_prederef.c +$(OPS)/core_ops_prederef$(O) : $(GENERAL_H_FILES) $(OPS)/core_ops_prederef.c -$(SRC)/core_ops_prederef.c $(INC)/oplib/core_ops_prederef.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm +$(OPS)/core_ops_prederef.c $(INC)/oplib/core_ops_prederef.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm $(PERL) $(BUILD_TOOL)/ops2c.pl CPrederef --core -$(SRC)/core_ops_switch$(O) : $(GENERAL_H_FILES) $(SRC)/core_ops_switch.c +$(OPS)/core_ops_switch$(O) : $(GENERAL_H_FILES) $(OPS)/core_ops_switch.c -$(SRC)/core_ops_switch.c $(INC)/oplib/core_ops_switch.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm +$(OPS)/core_ops_switch.c $(INC)/oplib/core_ops_switch.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm $(PERL) $(BUILD_TOOL)/ops2c.pl CSwitch --core ${cg_c} ${gc_c} - -$(SRC)/warnings$(O) : $(GENERAL_H_FILES) - -$(SRC)/misc$(O) : $(GENERAL_H_FILES) - -$(SRC)/utils$(O) : $(GENERAL_H_FILES) - -$(SRC)/spf_render$(O) : $(GENERAL_H_FILES) - -$(SRC)/spf_vtable$(O) : $(GENERAL_H_FILES) # $(STICKY_FILES) : Configure.pl # $(PERL) Configure.pl Index: config/auto/cgoto.pl =================================================================== RCS file: /cvs/public/parrot/config/auto/cgoto.pl,v retrieving revision 1.9 diff -u -r1.9 cgoto.pl --- config/auto/cgoto.pl 10 Dec 2003 11:44:17 -0000 1.9 +++ config/auto/cgoto.pl 19 Dec 2003 16:31:50 -0000 @@ -27,17 +27,17 @@ Configure::Data->set( cg_h => '$(INC)/oplib/core_ops_cg.h $(INC)/oplib/core_ops_cgp.h', cg_c => <<'EOF', -$(SRC)/core_ops_cg$(O): $(GENERAL_H_FILES) $(SRC)/core_ops_cg.c -$(SRC)/core_ops_cgp$(O): $(GENERAL_H_FILES) $(SRC)/core_ops_cgp.c +$(OPS)/core_ops_cg$(O): $(GENERAL_H_FILES) $(OPS)/core_ops_cg.c +$(OPS)/core_ops_cgp$(O): $(GENERAL_H_FILES) $(OPS)/core_ops_cgp.c -$(SRC)/core_ops_cg.c $(INC)/oplib/core_ops_cg.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGoto.pm +$(OPS)/core_ops_cg.c $(INC)/oplib/core_ops_cg.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGoto.pm $(PERL) $(BUILD_TOOL)/ops2c.pl CGoto --core -$(SRC)/core_ops_cgp.c $(INC)/oplib/core_ops_cgp.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGP.pm +$(OPS)/core_ops_cgp.c $(INC)/oplib/core_ops_cgp.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGP.pm $(PERL) $(BUILD_TOOL)/ops2c.pl CGP --core EOF - cg_o => '$(SRC)/core_ops_cg$(O) $(SRC)/core_ops_cgp$(O)', - cg_r => '$(RM_F) $(INC)/oplib/core_ops_cg.h $(SRC)/core_ops_cg.c \ - $(INC)/oplib/core_ops_cgp.h $(SRC)/core_ops_cgp.c', + cg_o => '$(OPS)/core_ops_cg$(O) $(OPS)/core_ops_cgp$(O)', + cg_r => '$(RM_F) $(INC)/oplib/core_ops_cg.h $(OPS)/core_ops_cg.c \ + $(INC)/oplib/core_ops_cgp.h $(OPS)/core_ops_cgp.c', cg_flag => '-DHAVE_COMPUTED_GOTO' ); } Index: build_tools/ops2c.pl =================================================================== RCS file: /cvs/public/parrot/build_tools/ops2c.pl,v retrieving revision 1.64 diff -u -r1.64 ops2c.pl --- build_tools/ops2c.pl 19 Nov 2003 15:29:04 -0000 1.64 +++ build_tools/ops2c.pl 19 Dec 2003 16:31:50 -0000 @@ -64,10 +64,10 @@ my $incdir = "include/parrot/oplib"; my $include = "parrot/oplib/${base}_ops${suffix}.h"; my $header = "include/$include"; -my $source = "src/${base}_ops${suffix}.c"; +my $source = "ops/${base}_ops${suffix}.c"; if ($base =~ m!^dynoplibs/! || $dynamic) { - $source =~ s!src/!!; + $source =~ s!ops/!!; $header = "${base}_ops${suffix}.h"; $base =~ s!^.*[/\\]!!; $include = "${base}_ops${suffix}.h";